diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index ee9d9f6..0000000 --- a/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 4 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true -max_line_length = 120 -tab_width = 4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 104ee01..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Publish - -on: - release: - types: [ published, edited ] - -jobs: - publish: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: ${{ github.event.release.tag_name }} - - name: Setup Node - uses: actions/setup-node@v3 - - name: Install deps and build - run: npm install && npm run test && npm run build - - uses: JasonEtco/build-and-tag-action@v2 - env: - GITHUB_TOKEN: ${{ github.token }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4beff11..0000000 --- a/.gitignore +++ /dev/null @@ -1,115 +0,0 @@ -### Node template -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn - -.idea diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d62c0c9..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Twisto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 4d8eee3..0000000 --- a/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# Working hours action - -This action checks if datetime is within specified working hours. - -## Inputs - -### `timezone` - -Timezone. Default `UTC` - -### `calendar` - -Country according to [date-holidays](https://github.com/commenthol/date-holidays#supported-countries-states-regions). -Default none - -### `schedule` - -**Required** working hours schedule in YAML format as inline string: - -```yaml -monday: - startHour: 9 - endHour: 18 -tuesday: - startHour: 9 - endHour: 18 -wednesday: - startHour: 9 - endHour: 18 -thursday: ... -friday: ... -saturday: ... -sunday: ... -``` - -### `check_future_days` - -Number of days into future to check for additional working days/hours checks. Default `0`. - -### `fail_on_failure` - -If actions should fail on failed working day/hour check. Default `true`. - -## Outputs - -### `working_hours` - -**boolean** true if working hours - -## Example usage - -```yaml -uses: TwistoPayments/working-hours-action@v1 -with: - calendar: US - schedule: | - monday: - startHour: 9 - endHour: 18 - tuesday: - startHour: 9 - endHour: 18 - wednesday: - startHour: 9 - endHour: 18 - check_future_days: 0 - fail_on_failure: true -``` diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..05b03df --- /dev/null +++ b/dist/index.js @@ -0,0 +1,72078 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 7657: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +const Holidays = __nccwpck_require__(740); +const scheduleMapping = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"] + + +class Checker { + constructor(schedule, country) { + this.schedule = schedule || {} + if (country) { + this.holidays = new Holidays(country) + } else { + this.holidays = null + } + } + + dayFromSchedule(date) { + return this.schedule[scheduleMapping[date.weekday - 1]]; + } + + checkWorkingDays(date) { + if (this.holidays && this.holidays.isHoliday(date)) { + return false + } + + if (this.dayFromSchedule(date) === undefined) { + return false + } + + return true + } + + checkWorkingHours(date) { + const schedule_day = this.dayFromSchedule(date) + + if (schedule_day === undefined || schedule_day.startHour === undefined || schedule_day.endHour === undefined) { + return false + } + + if (date.hour < schedule_day.startHour || date.hour >= schedule_day.endHour) { + return false + } + + return true + } +} + +module.exports = Checker + + +/***/ }), + +/***/ 7351: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(__nccwpck_require__(2037)); +const utils_1 = __nccwpck_require__(5278); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map + +/***/ }), + +/***/ 2186: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = __nccwpck_require__(7351); +const file_command_1 = __nccwpck_require__(717); +const utils_1 = __nccwpck_require__(5278); +const os = __importStar(__nccwpck_require__(2037)); +const path = __importStar(__nccwpck_require__(1017)); +const oidc_utils_1 = __nccwpck_require__(8041); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand('set-env', { name }, convertedVal); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueFileCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = __nccwpck_require__(1327); +Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } })); +/** + * @deprecated use core.summary + */ +var summary_2 = __nccwpck_require__(1327); +Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } })); +/** + * Path exports + */ +var path_utils_1 = __nccwpck_require__(2981); +Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } })); +Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } })); +Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } })); +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 717: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +// For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(__nccwpck_require__(7147)); +const os = __importStar(__nccwpck_require__(2037)); +const uuid_1 = __nccwpck_require__(5840); +const utils_1 = __nccwpck_require__(5278); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map + +/***/ }), + +/***/ 8041: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OidcClient = void 0; +const http_client_1 = __nccwpck_require__(6255); +const auth_1 = __nccwpck_require__(5526); +const core_1 = __nccwpck_require__(2186); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map + +/***/ }), + +/***/ 2981: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(__nccwpck_require__(1017)); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map + +/***/ }), + +/***/ 1327: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = __nccwpck_require__(2037); +const fs_1 = __nccwpck_require__(7147); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map + +/***/ }), + +/***/ 5278: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 5526: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map + +/***/ }), + +/***/ 6255: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__nccwpck_require__(3685)); +const https = __importStar(__nccwpck_require__(5687)); +const pm = __importStar(__nccwpck_require__(9835)); +const tunnel = __importStar(__nccwpck_require__(4294)); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 9835: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +//# sourceMappingURL=proxy.js.map + +/***/ }), + +/***/ 6323: +/***/ ((module) => { + +"use strict"; + + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value +} + +function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) +} + +function getMergeFunction(key, options) { + if (!options.customMerge) { + return deepmerge + } + var customMerge = options.customMerge(key); + return typeof customMerge === 'function' ? customMerge : deepmerge +} + +function getEnumerableOwnPropertySymbols(target) { + return Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols(target).filter(function(symbol) { + return target.propertyIsEnumerable(symbol) + }) + : [] +} + +function getKeys(target) { + return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) +} + +function propertyIsOnObject(object, property) { + try { + return property in object + } catch(_) { + return false + } +} + +// Protects from prototype poisoning and unexpected merging up the prototype chain. +function propertyIsUnsafe(target, key) { + return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. +} + +function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } + getKeys(source).forEach(function(key) { + if (propertyIsUnsafe(target, key)) { + return + } + + if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { + destination[key] = getMergeFunction(key, options)(target[key], source[key], options); + } else { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); + } + }); + return destination +} + +function deepmerge(target, source, options) { + options = options || {}; + options.arrayMerge = options.arrayMerge || defaultArrayMerge; + options.isMergeableObject = options.isMergeableObject || isMergeableObject; + // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() + // implementations can use it. The caller may not replace it. + options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; + + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } +} + +deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; + + +/***/ }), + +/***/ 8702: +/***/ ((module) => { + +/* + Expose functions. +*/ +module.exports = + { toJalaali: toJalaali + , toGregorian: toGregorian + , isValidJalaaliDate: isValidJalaaliDate + , isLeapJalaaliYear: isLeapJalaaliYear + , jalaaliMonthLength: jalaaliMonthLength + , jalCal: jalCal + , j2d: j2d + , d2j: d2j + , g2d: g2d + , d2g: d2g + , jalaaliToDateObject: jalaaliToDateObject + , jalaaliWeek: jalaaliWeek + } + +/* + Jalaali years starting the 33-year rule. +*/ +var breaks = [ -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210 + , 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178 + ] + +/* + Converts a Gregorian date to Jalaali. +*/ +function toJalaali(gy, gm, gd) { + if (Object.prototype.toString.call(gy) === '[object Date]') { + gd = gy.getDate() + gm = gy.getMonth() + 1 + gy = gy.getFullYear() + } + return d2j(g2d(gy, gm, gd)) +} + +/* + Converts a Jalaali date to Gregorian. +*/ +function toGregorian(jy, jm, jd) { + return d2g(j2d(jy, jm, jd)) +} + +/* + Checks whether a Jalaali date is valid or not. +*/ +function isValidJalaaliDate(jy, jm, jd) { + return jy >= -61 && jy <= 3177 && + jm >= 1 && jm <= 12 && + jd >= 1 && jd <= jalaaliMonthLength(jy, jm) +} + +/* + Is this a leap year or not? +*/ +function isLeapJalaaliYear(jy) { + return jalCalLeap(jy) === 0 +} + +/* + Number of days in a given month in a Jalaali year. +*/ +function jalaaliMonthLength(jy, jm) { + if (jm <= 6) return 31 + if (jm <= 11) return 30 + if (isLeapJalaaliYear(jy)) return 30 + return 29 +} + +/* + This function determines if the Jalaali (Persian) year is + leap (366-day long) or is the common year (365 days) + + @param jy Jalaali calendar year (-61 to 3177) + @returns number of years since the last leap year (0 to 4) + */ +function jalCalLeap(jy) { + var bl = breaks.length + , jp = breaks[0] + , jm + , jump + , leap + , n + , i + + if (jy < jp || jy >= breaks[bl - 1]) + throw new Error('Invalid Jalaali year ' + jy) + + for (i = 1; i < bl; i += 1) { + jm = breaks[i] + jump = jm - jp + if (jy < jm) + break + jp = jm + } + n = jy - jp + + if (jump - n < 6) + n = n - jump + div(jump + 4, 33) * 33 + leap = mod(mod(n + 1, 33) - 1, 4) + if (leap === -1) { + leap = 4 + } + + return leap +} + +/* + This function determines if the Jalaali (Persian) year is + leap (366-day long) or is the common year (365 days), and + finds the day in March (Gregorian calendar) of the first + day of the Jalaali year (jy). + + @param jy Jalaali calendar year (-61 to 3177) + @param withoutLeap when don't need leap (true or false) default is false + @return + leap: number of years since the last leap year (0 to 4) + gy: Gregorian year of the beginning of Jalaali year + march: the March day of Farvardin the 1st (1st day of jy) + @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm + @see: http://www.fourmilab.ch/documents/calendar/ +*/ +function jalCal(jy, withoutLeap) { + var bl = breaks.length + , gy = jy + 621 + , leapJ = -14 + , jp = breaks[0] + , jm + , jump + , leap + , leapG + , march + , n + , i + + if (jy < jp || jy >= breaks[bl - 1]) + throw new Error('Invalid Jalaali year ' + jy) + + // Find the limiting years for the Jalaali year jy. + for (i = 1; i < bl; i += 1) { + jm = breaks[i] + jump = jm - jp + if (jy < jm) + break + leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4) + jp = jm + } + n = jy - jp + + // Find the number of leap years from AD 621 to the beginning + // of the current Jalaali year in the Persian calendar. + leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4) + if (mod(jump, 33) === 4 && jump - n === 4) + leapJ += 1 + + // And the same in the Gregorian calendar (until the year gy). + leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150 + + // Determine the Gregorian date of Farvardin the 1st. + march = 20 + leapJ - leapG + + // return with gy and march when we don't need leap + if (withoutLeap) return { gy: gy, march: march }; + + + // Find how many years have passed since the last leap year. + if (jump - n < 6) + n = n - jump + div(jump + 4, 33) * 33 + leap = mod(mod(n + 1, 33) - 1, 4) + if (leap === -1) { + leap = 4 + } + + return { leap: leap + , gy: gy + , march: march + } +} + +/* + Converts a date of the Jalaali calendar to the Julian Day number. + + @param jy Jalaali year (1 to 3100) + @param jm Jalaali month (1 to 12) + @param jd Jalaali day (1 to 29/31) + @return Julian Day number +*/ +function j2d(jy, jm, jd) { + var r = jalCal(jy, true) + return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1 +} + +/* + Converts the Julian Day number to a date in the Jalaali calendar. + + @param jdn Julian Day number + @return + jy: Jalaali year (1 to 3100) + jm: Jalaali month (1 to 12) + jd: Jalaali day (1 to 29/31) +*/ +function d2j(jdn) { + var gy = d2g(jdn).gy // Calculate Gregorian year (gy). + , jy = gy - 621 + , r = jalCal(jy, false) + , jdn1f = g2d(gy, 3, r.march) + , jd + , jm + , k + + // Find number of days that passed since 1 Farvardin. + k = jdn - jdn1f + if (k >= 0) { + if (k <= 185) { + // The first 6 months. + jm = 1 + div(k, 31) + jd = mod(k, 31) + 1 + return { jy: jy + , jm: jm + , jd: jd + } + } else { + // The remaining months. + k -= 186 + } + } else { + // Previous Jalaali year. + jy -= 1 + k += 179 + if (r.leap === 1) + k += 1 + } + jm = 7 + div(k, 30) + jd = mod(k, 30) + 1 + return { jy: jy + , jm: jm + , jd: jd + } +} + +/* + Calculates the Julian Day number from Gregorian or Julian + calendar dates. This integer number corresponds to the noon of + the date (i.e. 12 hours of Universal Time). + The procedure was tested to be good since 1 March, -100100 (of both + calendars) up to a few million years into the future. + + @param gy Calendar year (years BC numbered 0, -1, -2, ...) + @param gm Calendar month (1 to 12) + @param gd Calendar day of the month (1 to 28/29/30/31) + @return Julian Day number +*/ +function g2d(gy, gm, gd) { + var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + + div(153 * mod(gm + 9, 12) + 2, 5) + + gd - 34840408 + d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752 + return d +} + +/* + Calculates Gregorian and Julian calendar dates from the Julian Day number + (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both + calendars) to some millions years ahead of the present. + + @param jdn Julian Day number + @return + gy: Calendar year (years BC numbered 0, -1, -2, ...) + gm: Calendar month (1 to 12) + gd: Calendar day of the month M (1 to 28/29/30/31) +*/ +function d2g(jdn) { + var j + , i + , gd + , gm + , gy + j = 4 * jdn + 139361631 + j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908 + i = div(mod(j, 1461), 4) * 5 + 308 + gd = div(mod(i, 153), 5) + 1 + gm = mod(div(i, 153), 12) + 1 + gy = div(j, 1461) - 100100 + div(8 - gm, 6) + return { gy: gy + , gm: gm + , gd: gd + } +} + +/** + * Return Saturday and Friday day of current week(week start in Saturday) + * @param {number} jy jalaali year + * @param {number} jm jalaali month + * @param {number} jd jalaali day + * @returns Saturday and Friday of current week + */ +function jalaaliWeek(jy, jm, jd) { + var dayOfWeek = jalaaliToDateObject(jy, jm, jd).getDay(); + + var startDayDifference = dayOfWeek == 6 ? 0 : -(dayOfWeek+1); + var endDayDifference = 6+startDayDifference; + + return { + saturday: d2j(j2d(jy, jm, jd+startDayDifference)), + friday: d2j(j2d(jy, jm, jd+endDayDifference)) + } +} + +/** + * Convert Jalaali calendar dates to javascript Date object + * @param {number} jy jalaali year + * @param {number} jm jalaali month + * @param {number} jd jalaali day + * @param {number} [h] hours + * @param {number} [m] minutes + * @param {number} [s] seconds + * @param {number} [ms] milliseconds + * @returns Date object of the jalaali calendar dates + */ +function jalaaliToDateObject( + jy, + jm, + jd, + h, + m, + s, + ms +) { + var gregorianCalenderDate = toGregorian(jy, jm, jd); + + return new Date( + gregorianCalenderDate.gy, + gregorianCalenderDate.gm - 1, + gregorianCalenderDate.gd, + h || 0, + m || 0, + s || 0, + ms || 0 + ); +} + +/* + Utility helper functions. +*/ + +function div(a, b) { + return ~~(a / b) +} + +function mod(a, b) { + return a - ~~(a / b) * b +} + + +/***/ }), + +/***/ 8811: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +// these aren't really private, but nor are they really useful to document + +/** + * @private + */ +class LuxonError extends Error {} +/** + * @private + */ + + +class InvalidDateTimeError extends LuxonError { + constructor(reason) { + super(`Invalid DateTime: ${reason.toMessage()}`); + } + +} +/** + * @private + */ + +class InvalidIntervalError extends LuxonError { + constructor(reason) { + super(`Invalid Interval: ${reason.toMessage()}`); + } + +} +/** + * @private + */ + +class InvalidDurationError extends LuxonError { + constructor(reason) { + super(`Invalid Duration: ${reason.toMessage()}`); + } + +} +/** + * @private + */ + +class ConflictingSpecificationError extends LuxonError {} +/** + * @private + */ + +class InvalidUnitError extends LuxonError { + constructor(unit) { + super(`Invalid unit ${unit}`); + } + +} +/** + * @private + */ + +class InvalidArgumentError extends LuxonError {} +/** + * @private + */ + +class ZoneIsAbstractError extends LuxonError { + constructor() { + super("Zone is an abstract class"); + } + +} + +/** + * @private + */ +const n = "numeric", + s = "short", + l = "long"; +const DATE_SHORT = { + year: n, + month: n, + day: n +}; +const DATE_MED = { + year: n, + month: s, + day: n +}; +const DATE_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s +}; +const DATE_FULL = { + year: n, + month: l, + day: n +}; +const DATE_HUGE = { + year: n, + month: l, + day: n, + weekday: l +}; +const TIME_SIMPLE = { + hour: n, + minute: n +}; +const TIME_WITH_SECONDS = { + hour: n, + minute: n, + second: n +}; +const TIME_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: s +}; +const TIME_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + timeZoneName: l +}; +const TIME_24_SIMPLE = { + hour: n, + minute: n, + hourCycle: "h23" +}; +const TIME_24_WITH_SECONDS = { + hour: n, + minute: n, + second: n, + hourCycle: "h23" +}; +const TIME_24_WITH_SHORT_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: s +}; +const TIME_24_WITH_LONG_OFFSET = { + hour: n, + minute: n, + second: n, + hourCycle: "h23", + timeZoneName: l +}; +const DATETIME_SHORT = { + year: n, + month: n, + day: n, + hour: n, + minute: n +}; +const DATETIME_SHORT_WITH_SECONDS = { + year: n, + month: n, + day: n, + hour: n, + minute: n, + second: n +}; +const DATETIME_MED = { + year: n, + month: s, + day: n, + hour: n, + minute: n +}; +const DATETIME_MED_WITH_SECONDS = { + year: n, + month: s, + day: n, + hour: n, + minute: n, + second: n +}; +const DATETIME_MED_WITH_WEEKDAY = { + year: n, + month: s, + day: n, + weekday: s, + hour: n, + minute: n +}; +const DATETIME_FULL = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + timeZoneName: s +}; +const DATETIME_FULL_WITH_SECONDS = { + year: n, + month: l, + day: n, + hour: n, + minute: n, + second: n, + timeZoneName: s +}; +const DATETIME_HUGE = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + timeZoneName: l +}; +const DATETIME_HUGE_WITH_SECONDS = { + year: n, + month: l, + day: n, + weekday: l, + hour: n, + minute: n, + second: n, + timeZoneName: l +}; + +/* + This is just a junk drawer, containing anything used across multiple classes. + Because Luxon is small(ish), this should stay small and we won't worry about splitting + it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area. +*/ +/** + * @private + */ +// TYPES + +function isUndefined(o) { + return typeof o === "undefined"; +} +function isNumber(o) { + return typeof o === "number"; +} +function isInteger(o) { + return typeof o === "number" && o % 1 === 0; +} +function isString(o) { + return typeof o === "string"; +} +function isDate(o) { + return Object.prototype.toString.call(o) === "[object Date]"; +} // CAPABILITIES + +function hasRelative() { + try { + return typeof Intl !== "undefined" && !!Intl.RelativeTimeFormat; + } catch (e) { + return false; + } +} // OBJECTS AND ARRAYS + +function maybeArray(thing) { + return Array.isArray(thing) ? thing : [thing]; +} +function bestBy(arr, by, compare) { + if (arr.length === 0) { + return undefined; + } + + return arr.reduce((best, next) => { + const pair = [by(next), next]; + + if (!best) { + return pair; + } else if (compare(best[0], pair[0]) === best[0]) { + return best; + } else { + return pair; + } + }, null)[1]; +} +function pick(obj, keys) { + return keys.reduce((a, k) => { + a[k] = obj[k]; + return a; + }, {}); +} +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} // NUMBERS AND STRINGS + +function integerBetween(thing, bottom, top) { + return isInteger(thing) && thing >= bottom && thing <= top; +} // x % n but takes the sign of n instead of x + +function floorMod(x, n) { + return x - n * Math.floor(x / n); +} +function padStart(input, n = 2) { + const isNeg = input < 0; + let padded; + + if (isNeg) { + padded = "-" + ("" + -input).padStart(n, "0"); + } else { + padded = ("" + input).padStart(n, "0"); + } + + return padded; +} +function parseInteger(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseInt(string, 10); + } +} +function parseFloating(string) { + if (isUndefined(string) || string === null || string === "") { + return undefined; + } else { + return parseFloat(string); + } +} +function parseMillis(fraction) { + // Return undefined (instead of 0) in these cases, where fraction is not set + if (isUndefined(fraction) || fraction === null || fraction === "") { + return undefined; + } else { + const f = parseFloat("0." + fraction) * 1000; + return Math.floor(f); + } +} +function roundTo(number, digits, towardZero = false) { + const factor = 10 ** digits, + rounder = towardZero ? Math.trunc : Math.round; + return rounder(number * factor) / factor; +} // DATE BASICS + +function isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} +function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; +} +function daysInMonth(year, month) { + const modMonth = floorMod(month - 1, 12) + 1, + modYear = year + (month - modMonth) / 12; + + if (modMonth === 2) { + return isLeapYear(modYear) ? 29 : 28; + } else { + return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1]; + } +} // covert a calendar object to a local timestamp (epoch, but with the offset baked in) + +function objToLocalTS(obj) { + let d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond); // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that + + if (obj.year < 100 && obj.year >= 0) { + d = new Date(d); + d.setUTCFullYear(d.getUTCFullYear() - 1900); + } + + return +d; +} +function weeksInWeekYear(weekYear) { + const p1 = (weekYear + Math.floor(weekYear / 4) - Math.floor(weekYear / 100) + Math.floor(weekYear / 400)) % 7, + last = weekYear - 1, + p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7; + return p1 === 4 || p2 === 3 ? 53 : 52; +} +function untruncateYear(year) { + if (year > 99) { + return year; + } else return year > 60 ? 1900 + year : 2000 + year; +} // PARSING + +function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) { + const date = new Date(ts), + intlOpts = { + hourCycle: "h23", + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit" + }; + + if (timeZone) { + intlOpts.timeZone = timeZone; + } + + const modified = { + timeZoneName: offsetFormat, + ...intlOpts + }; + const parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(m => m.type.toLowerCase() === "timezonename"); + return parsed ? parsed.value : null; +} // signedOffset('-5', '30') -> -330 + +function signedOffset(offHourStr, offMinuteStr) { + let offHour = parseInt(offHourStr, 10); // don't || this because we want to preserve -0 + + if (Number.isNaN(offHour)) { + offHour = 0; + } + + const offMin = parseInt(offMinuteStr, 10) || 0, + offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin; + return offHour * 60 + offMinSigned; +} // COERCION + +function asNumber(value) { + const numericValue = Number(value); + if (typeof value === "boolean" || value === "" || Number.isNaN(numericValue)) throw new InvalidArgumentError(`Invalid unit value ${value}`); + return numericValue; +} +function normalizeObject(obj, normalizer) { + const normalized = {}; + + for (const u in obj) { + if (hasOwnProperty(obj, u)) { + const v = obj[u]; + if (v === undefined || v === null) continue; + normalized[normalizer(u)] = asNumber(v); + } + } + + return normalized; +} +function formatOffset(offset, format) { + const hours = Math.trunc(Math.abs(offset / 60)), + minutes = Math.trunc(Math.abs(offset % 60)), + sign = offset >= 0 ? "+" : "-"; + + switch (format) { + case "short": + return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`; + + case "narrow": + return `${sign}${hours}${minutes > 0 ? `:${minutes}` : ""}`; + + case "techie": + return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`; + + default: + throw new RangeError(`Value format ${format} is out of range for property format`); + } +} +function timeObject(obj) { + return pick(obj, ["hour", "minute", "second", "millisecond"]); +} +const ianaRegex = /[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/; + +/** + * @private + */ + + +const monthsLong = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; +const monthsShort = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; +const monthsNarrow = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"]; +function months(length) { + switch (length) { + case "narrow": + return [...monthsNarrow]; + + case "short": + return [...monthsShort]; + + case "long": + return [...monthsLong]; + + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; + + case "2-digit": + return ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]; + + default: + return null; + } +} +const weekdaysLong = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; +const weekdaysShort = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; +const weekdaysNarrow = ["M", "T", "W", "T", "F", "S", "S"]; +function weekdays(length) { + switch (length) { + case "narrow": + return [...weekdaysNarrow]; + + case "short": + return [...weekdaysShort]; + + case "long": + return [...weekdaysLong]; + + case "numeric": + return ["1", "2", "3", "4", "5", "6", "7"]; + + default: + return null; + } +} +const meridiems = ["AM", "PM"]; +const erasLong = ["Before Christ", "Anno Domini"]; +const erasShort = ["BC", "AD"]; +const erasNarrow = ["B", "A"]; +function eras(length) { + switch (length) { + case "narrow": + return [...erasNarrow]; + + case "short": + return [...erasShort]; + + case "long": + return [...erasLong]; + + default: + return null; + } +} +function meridiemForDateTime(dt) { + return meridiems[dt.hour < 12 ? 0 : 1]; +} +function weekdayForDateTime(dt, length) { + return weekdays(length)[dt.weekday - 1]; +} +function monthForDateTime(dt, length) { + return months(length)[dt.month - 1]; +} +function eraForDateTime(dt, length) { + return eras(length)[dt.year < 0 ? 0 : 1]; +} +function formatRelativeTime(unit, count, numeric = "always", narrow = false) { + const units = { + years: ["year", "yr."], + quarters: ["quarter", "qtr."], + months: ["month", "mo."], + weeks: ["week", "wk."], + days: ["day", "day", "days"], + hours: ["hour", "hr."], + minutes: ["minute", "min."], + seconds: ["second", "sec."] + }; + const lastable = ["hours", "minutes", "seconds"].indexOf(unit) === -1; + + if (numeric === "auto" && lastable) { + const isDay = unit === "days"; + + switch (count) { + case 1: + return isDay ? "tomorrow" : `next ${units[unit][0]}`; + + case -1: + return isDay ? "yesterday" : `last ${units[unit][0]}`; + + case 0: + return isDay ? "today" : `this ${units[unit][0]}`; + + } + } + + const isInPast = Object.is(count, -0) || count < 0, + fmtValue = Math.abs(count), + singular = fmtValue === 1, + lilUnits = units[unit], + fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit; + return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`; +} + +function stringifyTokens(splits, tokenToString) { + let s = ""; + + for (const token of splits) { + if (token.literal) { + s += token.val; + } else { + s += tokenToString(token.val); + } + } + + return s; +} + +const macroTokenToFormatOpts = { + D: DATE_SHORT, + DD: DATE_MED, + DDD: DATE_FULL, + DDDD: DATE_HUGE, + t: TIME_SIMPLE, + tt: TIME_WITH_SECONDS, + ttt: TIME_WITH_SHORT_OFFSET, + tttt: TIME_WITH_LONG_OFFSET, + T: TIME_24_SIMPLE, + TT: TIME_24_WITH_SECONDS, + TTT: TIME_24_WITH_SHORT_OFFSET, + TTTT: TIME_24_WITH_LONG_OFFSET, + f: DATETIME_SHORT, + ff: DATETIME_MED, + fff: DATETIME_FULL, + ffff: DATETIME_HUGE, + F: DATETIME_SHORT_WITH_SECONDS, + FF: DATETIME_MED_WITH_SECONDS, + FFF: DATETIME_FULL_WITH_SECONDS, + FFFF: DATETIME_HUGE_WITH_SECONDS +}; +/** + * @private + */ + +class Formatter { + static create(locale, opts = {}) { + return new Formatter(locale, opts); + } + + static parseFormat(fmt) { + let current = null, + currentFull = "", + bracketed = false; + const splits = []; + + for (let i = 0; i < fmt.length; i++) { + const c = fmt.charAt(i); + + if (c === "'") { + if (currentFull.length > 0) { + splits.push({ + literal: bracketed, + val: currentFull + }); + } + + current = null; + currentFull = ""; + bracketed = !bracketed; + } else if (bracketed) { + currentFull += c; + } else if (c === current) { + currentFull += c; + } else { + if (currentFull.length > 0) { + splits.push({ + literal: false, + val: currentFull + }); + } + + currentFull = c; + current = c; + } + } + + if (currentFull.length > 0) { + splits.push({ + literal: bracketed, + val: currentFull + }); + } + + return splits; + } + + static macroTokenToFormatOpts(token) { + return macroTokenToFormatOpts[token]; + } + + constructor(locale, formatOpts) { + this.opts = formatOpts; + this.loc = locale; + this.systemLoc = null; + } + + formatWithSystemDefault(dt, opts) { + if (this.systemLoc === null) { + this.systemLoc = this.loc.redefaultToSystem(); + } + + const df = this.systemLoc.dtFormatter(dt, { ...this.opts, + ...opts + }); + return df.format(); + } + + formatDateTime(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, + ...opts + }); + return df.format(); + } + + formatDateTimeParts(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, + ...opts + }); + return df.formatToParts(); + } + + resolvedOptions(dt, opts = {}) { + const df = this.loc.dtFormatter(dt, { ...this.opts, + ...opts + }); + return df.resolvedOptions(); + } + + num(n, p = 0) { + // we get some perf out of doing this here, annoyingly + if (this.opts.forceSimple) { + return padStart(n, p); + } + + const opts = { ...this.opts + }; + + if (p > 0) { + opts.padTo = p; + } + + return this.loc.numberFormatter(opts).format(n); + } + + formatDateTimeFromString(dt, fmt) { + const knownEnglish = this.loc.listingMode() === "en", + useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== "gregory", + string = (opts, extract) => this.loc.extract(dt, opts, extract), + formatOffset = opts => { + if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) { + return "Z"; + } + + return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : ""; + }, + meridiem = () => knownEnglish ? meridiemForDateTime(dt) : string({ + hour: "numeric", + hourCycle: "h12" + }, "dayperiod"), + month = (length, standalone) => knownEnglish ? monthForDateTime(dt, length) : string(standalone ? { + month: length + } : { + month: length, + day: "numeric" + }, "month"), + weekday = (length, standalone) => knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? { + weekday: length + } : { + weekday: length, + month: "long", + day: "numeric" + }, "weekday"), + maybeMacro = token => { + const formatOpts = Formatter.macroTokenToFormatOpts(token); + + if (formatOpts) { + return this.formatWithSystemDefault(dt, formatOpts); + } else { + return token; + } + }, + era = length => knownEnglish ? eraForDateTime(dt, length) : string({ + era: length + }, "era"), + tokenToString = token => { + // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles + switch (token) { + // ms + case "S": + return this.num(dt.millisecond); + + case "u": // falls through + + case "SSS": + return this.num(dt.millisecond, 3); + // seconds + + case "s": + return this.num(dt.second); + + case "ss": + return this.num(dt.second, 2); + // fractional seconds + + case "uu": + return this.num(Math.floor(dt.millisecond / 10), 2); + + case "uuu": + return this.num(Math.floor(dt.millisecond / 100)); + // minutes + + case "m": + return this.num(dt.minute); + + case "mm": + return this.num(dt.minute, 2); + // hours + + case "h": + return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12); + + case "hh": + return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2); + + case "H": + return this.num(dt.hour); + + case "HH": + return this.num(dt.hour, 2); + // offset + + case "Z": + // like +6 + return formatOffset({ + format: "narrow", + allowZ: this.opts.allowZ + }); + + case "ZZ": + // like +06:00 + return formatOffset({ + format: "short", + allowZ: this.opts.allowZ + }); + + case "ZZZ": + // like +0600 + return formatOffset({ + format: "techie", + allowZ: this.opts.allowZ + }); + + case "ZZZZ": + // like EST + return dt.zone.offsetName(dt.ts, { + format: "short", + locale: this.loc.locale + }); + + case "ZZZZZ": + // like Eastern Standard Time + return dt.zone.offsetName(dt.ts, { + format: "long", + locale: this.loc.locale + }); + // zone + + case "z": + // like America/New_York + return dt.zoneName; + // meridiems + + case "a": + return meridiem(); + // dates + + case "d": + return useDateTimeFormatter ? string({ + day: "numeric" + }, "day") : this.num(dt.day); + + case "dd": + return useDateTimeFormatter ? string({ + day: "2-digit" + }, "day") : this.num(dt.day, 2); + // weekdays - standalone + + case "c": + // like 1 + return this.num(dt.weekday); + + case "ccc": + // like 'Tues' + return weekday("short", true); + + case "cccc": + // like 'Tuesday' + return weekday("long", true); + + case "ccccc": + // like 'T' + return weekday("narrow", true); + // weekdays - format + + case "E": + // like 1 + return this.num(dt.weekday); + + case "EEE": + // like 'Tues' + return weekday("short", false); + + case "EEEE": + // like 'Tuesday' + return weekday("long", false); + + case "EEEEE": + // like 'T' + return weekday("narrow", false); + // months - standalone + + case "L": + // like 1 + return useDateTimeFormatter ? string({ + month: "numeric", + day: "numeric" + }, "month") : this.num(dt.month); + + case "LL": + // like 01, doesn't seem to work + return useDateTimeFormatter ? string({ + month: "2-digit", + day: "numeric" + }, "month") : this.num(dt.month, 2); + + case "LLL": + // like Jan + return month("short", true); + + case "LLLL": + // like January + return month("long", true); + + case "LLLLL": + // like J + return month("narrow", true); + // months - format + + case "M": + // like 1 + return useDateTimeFormatter ? string({ + month: "numeric" + }, "month") : this.num(dt.month); + + case "MM": + // like 01 + return useDateTimeFormatter ? string({ + month: "2-digit" + }, "month") : this.num(dt.month, 2); + + case "MMM": + // like Jan + return month("short", false); + + case "MMMM": + // like January + return month("long", false); + + case "MMMMM": + // like J + return month("narrow", false); + // years + + case "y": + // like 2014 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : this.num(dt.year); + + case "yy": + // like 14 + return useDateTimeFormatter ? string({ + year: "2-digit" + }, "year") : this.num(dt.year.toString().slice(-2), 2); + + case "yyyy": + // like 0012 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : this.num(dt.year, 4); + + case "yyyyyy": + // like 000012 + return useDateTimeFormatter ? string({ + year: "numeric" + }, "year") : this.num(dt.year, 6); + // eras + + case "G": + // like AD + return era("short"); + + case "GG": + // like Anno Domini + return era("long"); + + case "GGGGG": + return era("narrow"); + + case "kk": + return this.num(dt.weekYear.toString().slice(-2), 2); + + case "kkkk": + return this.num(dt.weekYear, 4); + + case "W": + return this.num(dt.weekNumber); + + case "WW": + return this.num(dt.weekNumber, 2); + + case "o": + return this.num(dt.ordinal); + + case "ooo": + return this.num(dt.ordinal, 3); + + case "q": + // like 1 + return this.num(dt.quarter); + + case "qq": + // like 01 + return this.num(dt.quarter, 2); + + case "X": + return this.num(Math.floor(dt.ts / 1000)); + + case "x": + return this.num(dt.ts); + + default: + return maybeMacro(token); + } + }; + + return stringifyTokens(Formatter.parseFormat(fmt), tokenToString); + } + + formatDurationFromString(dur, fmt) { + const tokenToField = token => { + switch (token[0]) { + case "S": + return "millisecond"; + + case "s": + return "second"; + + case "m": + return "minute"; + + case "h": + return "hour"; + + case "d": + return "day"; + + case "w": + return "week"; + + case "M": + return "month"; + + case "y": + return "year"; + + default: + return null; + } + }, + tokenToString = lildur => token => { + const mapped = tokenToField(token); + + if (mapped) { + return this.num(lildur.get(mapped), token.length); + } else { + return token; + } + }, + tokens = Formatter.parseFormat(fmt), + realTokens = tokens.reduce((found, { + literal, + val + }) => literal ? found : found.concat(val), []), + collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter(t => t)); + + return stringifyTokens(tokens, tokenToString(collapsed)); + } + +} + +class Invalid { + constructor(reason, explanation) { + this.reason = reason; + this.explanation = explanation; + } + + toMessage() { + if (this.explanation) { + return `${this.reason}: ${this.explanation}`; + } else { + return this.reason; + } + } + +} + +/** + * @interface + */ + +class Zone { + /** + * The type of zone + * @abstract + * @type {string} + */ + get type() { + throw new ZoneIsAbstractError(); + } + /** + * The name of this zone. + * @abstract + * @type {string} + */ + + + get name() { + throw new ZoneIsAbstractError(); + } + + get ianaName() { + return this.name; + } + /** + * Returns whether the offset is known to be fixed for the whole year. + * @abstract + * @type {boolean} + */ + + + get isUniversal() { + throw new ZoneIsAbstractError(); + } + /** + * Returns the offset's common name (such as EST) at the specified timestamp + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the name + * @param {Object} opts - Options to affect the format + * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'. + * @param {string} opts.locale - What locale to return the offset name in. + * @return {string} + */ + + + offsetName(ts, opts) { + throw new ZoneIsAbstractError(); + } + /** + * Returns the offset's value as a string + * @abstract + * @param {number} ts - Epoch milliseconds for which to get the offset + * @param {string} format - What style of offset to return. + * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively + * @return {string} + */ + + + formatOffset(ts, format) { + throw new ZoneIsAbstractError(); + } + /** + * Return the offset in minutes for this zone at the specified timestamp. + * @abstract + * @param {number} ts - Epoch milliseconds for which to compute the offset + * @return {number} + */ + + + offset(ts) { + throw new ZoneIsAbstractError(); + } + /** + * Return whether this Zone is equal to another zone + * @abstract + * @param {Zone} otherZone - the zone to compare + * @return {boolean} + */ + + + equals(otherZone) { + throw new ZoneIsAbstractError(); + } + /** + * Return whether this Zone is valid. + * @abstract + * @type {boolean} + */ + + + get isValid() { + throw new ZoneIsAbstractError(); + } + +} + +let singleton$1 = null; +/** + * Represents the local zone for this JavaScript environment. + * @implements {Zone} + */ + +class SystemZone extends Zone { + /** + * Get a singleton instance of the local zone + * @return {SystemZone} + */ + static get instance() { + if (singleton$1 === null) { + singleton$1 = new SystemZone(); + } + + return singleton$1; + } + /** @override **/ + + + get type() { + return "system"; + } + /** @override **/ + + + get name() { + return new Intl.DateTimeFormat().resolvedOptions().timeZone; + } + /** @override **/ + + + get isUniversal() { + return false; + } + /** @override **/ + + + offsetName(ts, { + format, + locale + }) { + return parseZoneInfo(ts, format, locale); + } + /** @override **/ + + + formatOffset(ts, format) { + return formatOffset(this.offset(ts), format); + } + /** @override **/ + + + offset(ts) { + return -new Date(ts).getTimezoneOffset(); + } + /** @override **/ + + + equals(otherZone) { + return otherZone.type === "system"; + } + /** @override **/ + + + get isValid() { + return true; + } + +} + +let dtfCache = {}; + +function makeDTF(zone) { + if (!dtfCache[zone]) { + dtfCache[zone] = new Intl.DateTimeFormat("en-US", { + hour12: false, + timeZone: zone, + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + era: "short" + }); + } + + return dtfCache[zone]; +} + +const typeToPos = { + year: 0, + month: 1, + day: 2, + era: 3, + hour: 4, + minute: 5, + second: 6 +}; + +function hackyOffset(dtf, date) { + const formatted = dtf.format(date).replace(/\u200E/g, ""), + parsed = /(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted), + [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed; + return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond]; +} + +function partsOffset(dtf, date) { + const formatted = dtf.formatToParts(date); + const filled = []; + + for (let i = 0; i < formatted.length; i++) { + const { + type, + value + } = formatted[i]; + const pos = typeToPos[type]; + + if (type === "era") { + filled[pos] = value; + } else if (!isUndefined(pos)) { + filled[pos] = parseInt(value, 10); + } + } + + return filled; +} + +let ianaZoneCache = {}; +/** + * A zone identified by an IANA identifier, like America/New_York + * @implements {Zone} + */ + +class IANAZone extends Zone { + /** + * @param {string} name - Zone name + * @return {IANAZone} + */ + static create(name) { + if (!ianaZoneCache[name]) { + ianaZoneCache[name] = new IANAZone(name); + } + + return ianaZoneCache[name]; + } + /** + * Reset local caches. Should only be necessary in testing scenarios. + * @return {void} + */ + + + static resetCache() { + ianaZoneCache = {}; + dtfCache = {}; + } + /** + * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that. + * @param {string} s - The string to check validity on + * @example IANAZone.isValidSpecifier("America/New_York") //=> true + * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false + * @deprecated This method returns false for some valid IANA names. Use isValidZone instead. + * @return {boolean} + */ + + + static isValidSpecifier(s) { + return this.isValidZone(s); + } + /** + * Returns whether the provided string identifies a real zone + * @param {string} zone - The string to check + * @example IANAZone.isValidZone("America/New_York") //=> true + * @example IANAZone.isValidZone("Fantasia/Castle") //=> false + * @example IANAZone.isValidZone("Sport~~blorp") //=> false + * @return {boolean} + */ + + + static isValidZone(zone) { + if (!zone) { + return false; + } + + try { + new Intl.DateTimeFormat("en-US", { + timeZone: zone + }).format(); + return true; + } catch (e) { + return false; + } + } + + constructor(name) { + super(); + /** @private **/ + + this.zoneName = name; + /** @private **/ + + this.valid = IANAZone.isValidZone(name); + } + /** @override **/ + + + get type() { + return "iana"; + } + /** @override **/ + + + get name() { + return this.zoneName; + } + /** @override **/ + + + get isUniversal() { + return false; + } + /** @override **/ + + + offsetName(ts, { + format, + locale + }) { + return parseZoneInfo(ts, format, locale, this.name); + } + /** @override **/ + + + formatOffset(ts, format) { + return formatOffset(this.offset(ts), format); + } + /** @override **/ + + + offset(ts) { + const date = new Date(ts); + if (isNaN(date)) return NaN; + const dtf = makeDTF(this.name); + let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date); + + if (adOrBc === "BC") { + year = -Math.abs(year) + 1; + } // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat + + + const adjustedHour = hour === 24 ? 0 : hour; + const asUTC = objToLocalTS({ + year, + month, + day, + hour: adjustedHour, + minute, + second, + millisecond: 0 + }); + let asTS = +date; + const over = asTS % 1000; + asTS -= over >= 0 ? over : 1000 + over; + return (asUTC - asTS) / (60 * 1000); + } + /** @override **/ + + + equals(otherZone) { + return otherZone.type === "iana" && otherZone.name === this.name; + } + /** @override **/ + + + get isValid() { + return this.valid; + } + +} + +let singleton = null; +/** + * A zone with a fixed offset (meaning no DST) + * @implements {Zone} + */ + +class FixedOffsetZone extends Zone { + /** + * Get a singleton instance of UTC + * @return {FixedOffsetZone} + */ + static get utcInstance() { + if (singleton === null) { + singleton = new FixedOffsetZone(0); + } + + return singleton; + } + /** + * Get an instance with a specified offset + * @param {number} offset - The offset in minutes + * @return {FixedOffsetZone} + */ + + + static instance(offset) { + return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset); + } + /** + * Get an instance of FixedOffsetZone from a UTC offset string, like "UTC+6" + * @param {string} s - The offset string to parse + * @example FixedOffsetZone.parseSpecifier("UTC+6") + * @example FixedOffsetZone.parseSpecifier("UTC+06") + * @example FixedOffsetZone.parseSpecifier("UTC-6:00") + * @return {FixedOffsetZone} + */ + + + static parseSpecifier(s) { + if (s) { + const r = s.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i); + + if (r) { + return new FixedOffsetZone(signedOffset(r[1], r[2])); + } + } + + return null; + } + + constructor(offset) { + super(); + /** @private **/ + + this.fixed = offset; + } + /** @override **/ + + + get type() { + return "fixed"; + } + /** @override **/ + + + get name() { + return this.fixed === 0 ? "UTC" : `UTC${formatOffset(this.fixed, "narrow")}`; + } + + get ianaName() { + if (this.fixed === 0) { + return "Etc/UTC"; + } else { + return `Etc/GMT${formatOffset(-this.fixed, "narrow")}`; + } + } + /** @override **/ + + + offsetName() { + return this.name; + } + /** @override **/ + + + formatOffset(ts, format) { + return formatOffset(this.fixed, format); + } + /** @override **/ + + + get isUniversal() { + return true; + } + /** @override **/ + + + offset() { + return this.fixed; + } + /** @override **/ + + + equals(otherZone) { + return otherZone.type === "fixed" && otherZone.fixed === this.fixed; + } + /** @override **/ + + + get isValid() { + return true; + } + +} + +/** + * A zone that failed to parse. You should never need to instantiate this. + * @implements {Zone} + */ + +class InvalidZone extends Zone { + constructor(zoneName) { + super(); + /** @private */ + + this.zoneName = zoneName; + } + /** @override **/ + + + get type() { + return "invalid"; + } + /** @override **/ + + + get name() { + return this.zoneName; + } + /** @override **/ + + + get isUniversal() { + return false; + } + /** @override **/ + + + offsetName() { + return null; + } + /** @override **/ + + + formatOffset() { + return ""; + } + /** @override **/ + + + offset() { + return NaN; + } + /** @override **/ + + + equals() { + return false; + } + /** @override **/ + + + get isValid() { + return false; + } + +} + +/** + * @private + */ +function normalizeZone(input, defaultZone) { + + if (isUndefined(input) || input === null) { + return defaultZone; + } else if (input instanceof Zone) { + return input; + } else if (isString(input)) { + const lowered = input.toLowerCase(); + if (lowered === "default") return defaultZone;else if (lowered === "local" || lowered === "system") return SystemZone.instance;else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input); + } else if (isNumber(input)) { + return FixedOffsetZone.instance(input); + } else if (typeof input === "object" && input.offset && typeof input.offset === "number") { + // This is dumb, but the instanceof check above doesn't seem to really work + // so we're duck checking it + return input; + } else { + return new InvalidZone(input); + } +} + +let now = () => Date.now(), + defaultZone = "system", + defaultLocale = null, + defaultNumberingSystem = null, + defaultOutputCalendar = null, + throwOnInvalid; +/** + * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here. + */ + + +class Settings { + /** + * Get the callback for returning the current timestamp. + * @type {function} + */ + static get now() { + return now; + } + /** + * Set the callback for returning the current timestamp. + * The function should return a number, which will be interpreted as an Epoch millisecond count + * @type {function} + * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future + * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time + */ + + + static set now(n) { + now = n; + } + /** + * Set the default time zone to create DateTimes in. Does not affect existing instances. + * Use the value "system" to reset this value to the system's time zone. + * @type {string} + */ + + + static set defaultZone(zone) { + defaultZone = zone; + } + /** + * Get the default time zone object currently used to create DateTimes. Does not affect existing instances. + * The default value is the system's time zone (the one set on the machine that runs this code). + * @type {Zone} + */ + + + static get defaultZone() { + return normalizeZone(defaultZone, SystemZone.instance); + } + /** + * Get the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static get defaultLocale() { + return defaultLocale; + } + /** + * Set the default locale to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static set defaultLocale(locale) { + defaultLocale = locale; + } + /** + * Get the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static get defaultNumberingSystem() { + return defaultNumberingSystem; + } + /** + * Set the default numbering system to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static set defaultNumberingSystem(numberingSystem) { + defaultNumberingSystem = numberingSystem; + } + /** + * Get the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static get defaultOutputCalendar() { + return defaultOutputCalendar; + } + /** + * Set the default output calendar to create DateTimes with. Does not affect existing instances. + * @type {string} + */ + + + static set defaultOutputCalendar(outputCalendar) { + defaultOutputCalendar = outputCalendar; + } + /** + * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + + + static get throwOnInvalid() { + return throwOnInvalid; + } + /** + * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals + * @type {boolean} + */ + + + static set throwOnInvalid(t) { + throwOnInvalid = t; + } + /** + * Reset Luxon's global caches. Should only be necessary in testing scenarios. + * @return {void} + */ + + + static resetCaches() { + Locale.resetCache(); + IANAZone.resetCache(); + } + +} + +let intlLFCache = {}; + +function getCachedLF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let dtf = intlLFCache[key]; + + if (!dtf) { + dtf = new Intl.ListFormat(locString, opts); + intlLFCache[key] = dtf; + } + + return dtf; +} + +let intlDTCache = {}; + +function getCachedDTF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let dtf = intlDTCache[key]; + + if (!dtf) { + dtf = new Intl.DateTimeFormat(locString, opts); + intlDTCache[key] = dtf; + } + + return dtf; +} + +let intlNumCache = {}; + +function getCachedINF(locString, opts = {}) { + const key = JSON.stringify([locString, opts]); + let inf = intlNumCache[key]; + + if (!inf) { + inf = new Intl.NumberFormat(locString, opts); + intlNumCache[key] = inf; + } + + return inf; +} + +let intlRelCache = {}; + +function getCachedRTF(locString, opts = {}) { + const { + base, + ...cacheKeyOpts + } = opts; // exclude `base` from the options + + const key = JSON.stringify([locString, cacheKeyOpts]); + let inf = intlRelCache[key]; + + if (!inf) { + inf = new Intl.RelativeTimeFormat(locString, opts); + intlRelCache[key] = inf; + } + + return inf; +} + +let sysLocaleCache = null; + +function systemLocale() { + if (sysLocaleCache) { + return sysLocaleCache; + } else { + sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale; + return sysLocaleCache; + } +} + +function parseLocaleString(localeStr) { + // I really want to avoid writing a BCP 47 parser + // see, e.g. https://github.com/wooorm/bcp-47 + // Instead, we'll do this: + // a) if the string has no -u extensions, just leave it alone + // b) if it does, use Intl to resolve everything + // c) if Intl fails, try again without the -u + const uIndex = localeStr.indexOf("-u-"); + + if (uIndex === -1) { + return [localeStr]; + } else { + let options; + const smaller = localeStr.substring(0, uIndex); + + try { + options = getCachedDTF(localeStr).resolvedOptions(); + } catch (e) { + options = getCachedDTF(smaller).resolvedOptions(); + } + + const { + numberingSystem, + calendar + } = options; // return the smaller one so that we can append the calendar and numbering overrides to it + + return [smaller, numberingSystem, calendar]; + } +} + +function intlConfigString(localeStr, numberingSystem, outputCalendar) { + if (outputCalendar || numberingSystem) { + localeStr += "-u"; + + if (outputCalendar) { + localeStr += `-ca-${outputCalendar}`; + } + + if (numberingSystem) { + localeStr += `-nu-${numberingSystem}`; + } + + return localeStr; + } else { + return localeStr; + } +} + +function mapMonths(f) { + const ms = []; + + for (let i = 1; i <= 12; i++) { + const dt = DateTime.utc(2016, i, 1); + ms.push(f(dt)); + } + + return ms; +} + +function mapWeekdays(f) { + const ms = []; + + for (let i = 1; i <= 7; i++) { + const dt = DateTime.utc(2016, 11, 13 + i); + ms.push(f(dt)); + } + + return ms; +} + +function listStuff(loc, length, defaultOK, englishFn, intlFn) { + const mode = loc.listingMode(defaultOK); + + if (mode === "error") { + return null; + } else if (mode === "en") { + return englishFn(length); + } else { + return intlFn(length); + } +} + +function supportsFastNumbers(loc) { + if (loc.numberingSystem && loc.numberingSystem !== "latn") { + return false; + } else { + return loc.numberingSystem === "latn" || !loc.locale || loc.locale.startsWith("en") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === "latn"; + } +} +/** + * @private + */ + + +class PolyNumberFormatter { + constructor(intl, forceSimple, opts) { + this.padTo = opts.padTo || 0; + this.floor = opts.floor || false; + const { + padTo, + floor, + ...otherOpts + } = opts; + + if (!forceSimple || Object.keys(otherOpts).length > 0) { + const intlOpts = { + useGrouping: false, + ...opts + }; + if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo; + this.inf = getCachedINF(intl, intlOpts); + } + } + + format(i) { + if (this.inf) { + const fixed = this.floor ? Math.floor(i) : i; + return this.inf.format(fixed); + } else { + // to match the browser's numberformatter defaults + const fixed = this.floor ? Math.floor(i) : roundTo(i, 3); + return padStart(fixed, this.padTo); + } + } + +} +/** + * @private + */ + + +class PolyDateFormatter { + constructor(dt, intl, opts) { + this.opts = opts; + let z; + + if (dt.zone.isUniversal) { + // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like. + // That is why fixed-offset TZ is set to that unless it is: + // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT. + // 2. Unsupported by the browser: + // - some do not support Etc/ + // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata + const gmtOffset = -1 * (dt.offset / 60); + const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`; + + if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) { + z = offsetZ; + this.dt = dt; + } else { + // Not all fixed-offset zones like Etc/+4:30 are present in tzdata. + // So we have to make do. Two cases: + // 1. The format options tell us to show the zone. We can't do that, so the best + // we can do is format the date in UTC. + // 2. The format options don't tell us to show the zone. Then we can adjust them + // the time and tell the formatter to show it to us in UTC, so that the time is right + // and the bad zone doesn't show up. + z = "UTC"; + + if (opts.timeZoneName) { + this.dt = dt; + } else { + this.dt = dt.offset === 0 ? dt : DateTime.fromMillis(dt.ts + dt.offset * 60 * 1000); + } + } + } else if (dt.zone.type === "system") { + this.dt = dt; + } else { + this.dt = dt; + z = dt.zone.name; + } + + const intlOpts = { ...this.opts + }; + + if (z) { + intlOpts.timeZone = z; + } + + this.dtf = getCachedDTF(intl, intlOpts); + } + + format() { + return this.dtf.format(this.dt.toJSDate()); + } + + formatToParts() { + return this.dtf.formatToParts(this.dt.toJSDate()); + } + + resolvedOptions() { + return this.dtf.resolvedOptions(); + } + +} +/** + * @private + */ + + +class PolyRelFormatter { + constructor(intl, isEnglish, opts) { + this.opts = { + style: "long", + ...opts + }; + + if (!isEnglish && hasRelative()) { + this.rtf = getCachedRTF(intl, opts); + } + } + + format(count, unit) { + if (this.rtf) { + return this.rtf.format(count, unit); + } else { + return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== "long"); + } + } + + formatToParts(count, unit) { + if (this.rtf) { + return this.rtf.formatToParts(count, unit); + } else { + return []; + } + } + +} +/** + * @private + */ + + +class Locale { + static fromOpts(opts) { + return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN); + } + + static create(locale, numberingSystem, outputCalendar, defaultToEN = false) { + const specifiedLocale = locale || Settings.defaultLocale; // the system locale is useful for human readable strings but annoying for parsing/formatting known formats + + const localeR = specifiedLocale || (defaultToEN ? "en-US" : systemLocale()); + const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem; + const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar; + return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale); + } + + static resetCache() { + sysLocaleCache = null; + intlDTCache = {}; + intlNumCache = {}; + intlRelCache = {}; + } + + static fromObject({ + locale, + numberingSystem, + outputCalendar + } = {}) { + return Locale.create(locale, numberingSystem, outputCalendar); + } + + constructor(locale, numbering, outputCalendar, specifiedLocale) { + const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale); + this.locale = parsedLocale; + this.numberingSystem = numbering || parsedNumberingSystem || null; + this.outputCalendar = outputCalendar || parsedOutputCalendar || null; + this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar); + this.weekdaysCache = { + format: {}, + standalone: {} + }; + this.monthsCache = { + format: {}, + standalone: {} + }; + this.meridiemCache = null; + this.eraCache = {}; + this.specifiedLocale = specifiedLocale; + this.fastNumbersCached = null; + } + + get fastNumbers() { + if (this.fastNumbersCached == null) { + this.fastNumbersCached = supportsFastNumbers(this); + } + + return this.fastNumbersCached; + } + + listingMode() { + const isActuallyEn = this.isEnglish(); + const hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === "latn") && (this.outputCalendar === null || this.outputCalendar === "gregory"); + return isActuallyEn && hasNoWeirdness ? "en" : "intl"; + } + + clone(alts) { + if (!alts || Object.getOwnPropertyNames(alts).length === 0) { + return this; + } else { + return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, alts.defaultToEN || false); + } + } + + redefaultToEN(alts = {}) { + return this.clone({ ...alts, + defaultToEN: true + }); + } + + redefaultToSystem(alts = {}) { + return this.clone({ ...alts, + defaultToEN: false + }); + } + + months(length, format = false, defaultOK = true) { + return listStuff(this, length, defaultOK, months, () => { + const intl = format ? { + month: length, + day: "numeric" + } : { + month: length + }, + formatStr = format ? "format" : "standalone"; + + if (!this.monthsCache[formatStr][length]) { + this.monthsCache[formatStr][length] = mapMonths(dt => this.extract(dt, intl, "month")); + } + + return this.monthsCache[formatStr][length]; + }); + } + + weekdays(length, format = false, defaultOK = true) { + return listStuff(this, length, defaultOK, weekdays, () => { + const intl = format ? { + weekday: length, + year: "numeric", + month: "long", + day: "numeric" + } : { + weekday: length + }, + formatStr = format ? "format" : "standalone"; + + if (!this.weekdaysCache[formatStr][length]) { + this.weekdaysCache[formatStr][length] = mapWeekdays(dt => this.extract(dt, intl, "weekday")); + } + + return this.weekdaysCache[formatStr][length]; + }); + } + + meridiems(defaultOK = true) { + return listStuff(this, undefined, defaultOK, () => meridiems, () => { + // In theory there could be aribitrary day periods. We're gonna assume there are exactly two + // for AM and PM. This is probably wrong, but it's makes parsing way easier. + if (!this.meridiemCache) { + const intl = { + hour: "numeric", + hourCycle: "h12" + }; + this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(dt => this.extract(dt, intl, "dayperiod")); + } + + return this.meridiemCache; + }); + } + + eras(length, defaultOK = true) { + return listStuff(this, length, defaultOK, eras, () => { + const intl = { + era: length + }; // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates + // to definitely enumerate them. + + if (!this.eraCache[length]) { + this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(dt => this.extract(dt, intl, "era")); + } + + return this.eraCache[length]; + }); + } + + extract(dt, intlOpts, field) { + const df = this.dtFormatter(dt, intlOpts), + results = df.formatToParts(), + matching = results.find(m => m.type.toLowerCase() === field); + return matching ? matching.value : null; + } + + numberFormatter(opts = {}) { + // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave) + // (in contrast, the rest of the condition is used heavily) + return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts); + } + + dtFormatter(dt, intlOpts = {}) { + return new PolyDateFormatter(dt, this.intl, intlOpts); + } + + relFormatter(opts = {}) { + return new PolyRelFormatter(this.intl, this.isEnglish(), opts); + } + + listFormatter(opts = {}) { + return getCachedLF(this.intl, opts); + } + + isEnglish() { + return this.locale === "en" || this.locale.toLowerCase() === "en-us" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us"); + } + + equals(other) { + return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar; + } + +} + +/* + * This file handles parsing for well-specified formats. Here's how it works: + * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match. + * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object + * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence. + * Extractors can take a "cursor" representing the offset in the match to look at. This makes it easy to combine extractors. + * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions. + * Some extractions are super dumb and simpleParse and fromStrings help DRY them. + */ + +function combineRegexes(...regexes) { + const full = regexes.reduce((f, r) => f + r.source, ""); + return RegExp(`^${full}$`); +} + +function combineExtractors(...extractors) { + return m => extractors.reduce(([mergedVals, mergedZone, cursor], ex) => { + const [val, zone, next] = ex(m, cursor); + return [{ ...mergedVals, + ...val + }, zone || mergedZone, next]; + }, [{}, null, 1]).slice(0, 2); +} + +function parse(s, ...patterns) { + if (s == null) { + return [null, null]; + } + + for (const [regex, extractor] of patterns) { + const m = regex.exec(s); + + if (m) { + return extractor(m); + } + } + + return [null, null]; +} + +function simpleParse(...keys) { + return (match, cursor) => { + const ret = {}; + let i; + + for (i = 0; i < keys.length; i++) { + ret[keys[i]] = parseInteger(match[cursor + i]); + } + + return [ret, null, cursor + i]; + }; +} // ISO and SQL parsing + + +const offsetRegex = /(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/; +const isoExtendedZone = `(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`; +const isoTimeBaseRegex = /(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/; +const isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`); +const isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`); +const isoYmdRegex = /([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/; +const isoWeekRegex = /(\d{4})-?W(\d\d)(?:-?(\d))?/; +const isoOrdinalRegex = /(\d{4})-?(\d{3})/; +const extractISOWeekData = simpleParse("weekYear", "weekNumber", "weekDay"); +const extractISOOrdinalData = simpleParse("year", "ordinal"); +const sqlYmdRegex = /(\d{4})-(\d\d)-(\d\d)/; // dumbed-down version of the ISO one + +const sqlTimeRegex = RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`); +const sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`); + +function int(match, pos, fallback) { + const m = match[pos]; + return isUndefined(m) ? fallback : parseInteger(m); +} + +function extractISOYmd(match, cursor) { + const item = { + year: int(match, cursor), + month: int(match, cursor + 1, 1), + day: int(match, cursor + 2, 1) + }; + return [item, null, cursor + 3]; +} + +function extractISOTime(match, cursor) { + const item = { + hours: int(match, cursor, 0), + minutes: int(match, cursor + 1, 0), + seconds: int(match, cursor + 2, 0), + milliseconds: parseMillis(match[cursor + 3]) + }; + return [item, null, cursor + 4]; +} + +function extractISOOffset(match, cursor) { + const local = !match[cursor] && !match[cursor + 1], + fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]), + zone = local ? null : FixedOffsetZone.instance(fullOffset); + return [{}, zone, cursor + 3]; +} + +function extractIANAZone(match, cursor) { + const zone = match[cursor] ? IANAZone.create(match[cursor]) : null; + return [{}, zone, cursor + 1]; +} // ISO time parsing + + +const isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`); // ISO duration parsing + +const isoDuration = /^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/; + +function extractISODuration(match) { + const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] = match; + const hasNegativePrefix = s[0] === "-"; + const negativeSeconds = secondStr && secondStr[0] === "-"; + + const maybeNegate = (num, force = false) => num !== undefined && (force || num && hasNegativePrefix) ? -num : num; + + return [{ + years: maybeNegate(parseFloating(yearStr)), + months: maybeNegate(parseFloating(monthStr)), + weeks: maybeNegate(parseFloating(weekStr)), + days: maybeNegate(parseFloating(dayStr)), + hours: maybeNegate(parseFloating(hourStr)), + minutes: maybeNegate(parseFloating(minuteStr)), + seconds: maybeNegate(parseFloating(secondStr), secondStr === "-0"), + milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds) + }]; +} // These are a little braindead. EDT *should* tell us that we're in, say, America/New_York +// and not just that we're in -240 *right now*. But since I don't think these are used that often +// I'm just going to ignore that + + +const obsOffsets = { + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 +}; + +function fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + const result = { + year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr), + month: monthsShort.indexOf(monthStr) + 1, + day: parseInteger(dayStr), + hour: parseInteger(hourStr), + minute: parseInteger(minuteStr) + }; + if (secondStr) result.second = parseInteger(secondStr); + + if (weekdayStr) { + result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1; + } + + return result; +} // RFC 2822/5322 + + +const rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/; + +function extractRFC2822(match) { + const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr, obsOffset, milOffset, offHourStr, offMinuteStr] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + let offset; + + if (obsOffset) { + offset = obsOffsets[obsOffset]; + } else if (milOffset) { + offset = 0; + } else { + offset = signedOffset(offHourStr, offMinuteStr); + } + + return [result, new FixedOffsetZone(offset)]; +} + +function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").trim(); +} // http date + + +const rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/, + rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/, + ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/; + +function extractRFC1123Or850(match) { + const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; +} + +function extractASCII(match) { + const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match, + result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr); + return [result, FixedOffsetZone.utcInstance]; +} + +const isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex); +const isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex); +const isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex); +const isoTimeCombinedRegex = combineRegexes(isoTimeRegex); +const extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone); +const extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset, extractIANAZone); +const extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset, extractIANAZone); +const extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone); +/* + * @private + */ + +function parseISODate(s) { + return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]); +} +function parseRFC2822Date(s) { + return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]); +} +function parseHTTPDate(s) { + return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]); +} +function parseISODuration(s) { + return parse(s, [isoDuration, extractISODuration]); +} +const extractISOTimeOnly = combineExtractors(extractISOTime); +function parseISOTimeOnly(s) { + return parse(s, [isoTimeOnly, extractISOTimeOnly]); +} +const sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex); +const sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex); +const extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone); +function parseSQL(s) { + return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]); +} + +const INVALID$2 = "Invalid Duration"; // unit conversion constants + +const lowOrderMatrix = { + weeks: { + days: 7, + hours: 7 * 24, + minutes: 7 * 24 * 60, + seconds: 7 * 24 * 60 * 60, + milliseconds: 7 * 24 * 60 * 60 * 1000 + }, + days: { + hours: 24, + minutes: 24 * 60, + seconds: 24 * 60 * 60, + milliseconds: 24 * 60 * 60 * 1000 + }, + hours: { + minutes: 60, + seconds: 60 * 60, + milliseconds: 60 * 60 * 1000 + }, + minutes: { + seconds: 60, + milliseconds: 60 * 1000 + }, + seconds: { + milliseconds: 1000 + } +}, + casualMatrix = { + years: { + quarters: 4, + months: 12, + weeks: 52, + days: 365, + hours: 365 * 24, + minutes: 365 * 24 * 60, + seconds: 365 * 24 * 60 * 60, + milliseconds: 365 * 24 * 60 * 60 * 1000 + }, + quarters: { + months: 3, + weeks: 13, + days: 91, + hours: 91 * 24, + minutes: 91 * 24 * 60, + seconds: 91 * 24 * 60 * 60, + milliseconds: 91 * 24 * 60 * 60 * 1000 + }, + months: { + weeks: 4, + days: 30, + hours: 30 * 24, + minutes: 30 * 24 * 60, + seconds: 30 * 24 * 60 * 60, + milliseconds: 30 * 24 * 60 * 60 * 1000 + }, + ...lowOrderMatrix +}, + daysInYearAccurate = 146097.0 / 400, + daysInMonthAccurate = 146097.0 / 4800, + accurateMatrix = { + years: { + quarters: 4, + months: 12, + weeks: daysInYearAccurate / 7, + days: daysInYearAccurate, + hours: daysInYearAccurate * 24, + minutes: daysInYearAccurate * 24 * 60, + seconds: daysInYearAccurate * 24 * 60 * 60, + milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 + }, + quarters: { + months: 3, + weeks: daysInYearAccurate / 28, + days: daysInYearAccurate / 4, + hours: daysInYearAccurate * 24 / 4, + minutes: daysInYearAccurate * 24 * 60 / 4, + seconds: daysInYearAccurate * 24 * 60 * 60 / 4, + milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4 + }, + months: { + weeks: daysInMonthAccurate / 7, + days: daysInMonthAccurate, + hours: daysInMonthAccurate * 24, + minutes: daysInMonthAccurate * 24 * 60, + seconds: daysInMonthAccurate * 24 * 60 * 60, + milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000 + }, + ...lowOrderMatrix +}; // units ordered by size + +const orderedUnits$1 = ["years", "quarters", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds"]; +const reverseUnits = orderedUnits$1.slice(0).reverse(); // clone really means "create another instance just like this one, but with these changes" + +function clone$1(dur, alts, clear = false) { + // deep merge for vals + const conf = { + values: clear ? alts.values : { ...dur.values, + ...(alts.values || {}) + }, + loc: dur.loc.clone(alts.loc), + conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy, + matrix: alts.matrix || dur.matrix + }; + return new Duration(conf); +} + +function antiTrunc(n) { + return n < 0 ? Math.floor(n) : Math.ceil(n); +} // NB: mutates parameters + + +function convert(matrix, fromMap, fromUnit, toMap, toUnit) { + const conv = matrix[toUnit][fromUnit], + raw = fromMap[fromUnit] / conv, + sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]), + // ok, so this is wild, but see the matrix in the tests + added = !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw); + toMap[toUnit] += added; + fromMap[fromUnit] -= added * conv; +} // NB: mutates parameters + + +function normalizeValues(matrix, vals) { + reverseUnits.reduce((previous, current) => { + if (!isUndefined(vals[current])) { + if (previous) { + convert(matrix, vals, previous, vals, current); + } + + return current; + } else { + return previous; + } + }, null); +} // Remove all properties with a value of 0 from an object + + +function removeZeroes(vals) { + const newVals = {}; + + for (const [key, value] of Object.entries(vals)) { + if (value !== 0) { + newVals[key] = value; + } + } + + return newVals; +} +/** + * A Duration object represents a period of time, like "2 months" or "1 day, 1 hour". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime. + * + * Here is a brief overview of commonly used methods and getters in Duration: + * + * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}. + * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors. + * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors. + * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}. + * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON} + * + * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation. + */ + + +class Duration { + /** + * @private + */ + constructor(config) { + const accurate = config.conversionAccuracy === "longterm" || false; + let matrix = accurate ? accurateMatrix : casualMatrix; + + if (config.matrix) { + matrix = config.matrix; + } + /** + * @access private + */ + + + this.values = config.values; + /** + * @access private + */ + + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + + this.conversionAccuracy = accurate ? "longterm" : "casual"; + /** + * @access private + */ + + this.invalid = config.invalid || null; + /** + * @access private + */ + + this.matrix = matrix; + /** + * @access private + */ + + this.isLuxonDuration = true; + } + /** + * Create Duration from a number of milliseconds. + * @param {number} count of milliseconds + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + + + static fromMillis(count, opts) { + return Duration.fromObject({ + milliseconds: count + }, opts); + } + /** + * Create a Duration from a JavaScript object with keys like 'years' and 'hours'. + * If this object is empty then a zero milliseconds duration is returned. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.years + * @param {number} obj.quarters + * @param {number} obj.months + * @param {number} obj.weeks + * @param {number} obj.days + * @param {number} obj.hours + * @param {number} obj.minutes + * @param {number} obj.seconds + * @param {number} obj.milliseconds + * @param {Object} [opts=[]] - options for creating this Duration + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use + * @param {string} [opts.matrix=Object] - the custom conversion system to use + * @return {Duration} + */ + + + static fromObject(obj, opts = {}) { + if (obj == null || typeof obj !== "object") { + throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj === null ? "null" : typeof obj}`); + } + + return new Duration({ + values: normalizeObject(obj, Duration.normalizeUnit), + loc: Locale.fromObject(opts), + conversionAccuracy: opts.conversionAccuracy, + matrix: opts.matrix + }); + } + /** + * Create a Duration from DurationLike. + * + * @param {Object | number | Duration} durationLike + * One of: + * - object with keys like 'years' and 'hours'. + * - number representing milliseconds + * - Duration instance + * @return {Duration} + */ + + + static fromDurationLike(durationLike) { + if (isNumber(durationLike)) { + return Duration.fromMillis(durationLike); + } else if (Duration.isDuration(durationLike)) { + return durationLike; + } else if (typeof durationLike === "object") { + return Duration.fromObject(durationLike); + } else { + throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`); + } + } + /** + * Create a Duration from an ISO 8601 duration string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use + * @param {string} [opts.matrix=Object] - the preset conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 } + * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 } + * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 } + * @return {Duration} + */ + + + static fromISO(text, opts) { + const [parsed] = parseISODuration(text); + + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + } + /** + * Create a Duration from an ISO 8601 time string. + * @param {string} text - text to parse + * @param {Object} opts - options for parsing + * @param {string} [opts.locale='en-US'] - the locale to use + * @param {string} opts.numberingSystem - the numbering system to use + * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use + * @param {string} [opts.matrix=Object] - the conversion system to use + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 } + * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 } + * @return {Duration} + */ + + + static fromISOTime(text, opts) { + const [parsed] = parseISOTimeOnly(text); + + if (parsed) { + return Duration.fromObject(parsed, opts); + } else { + return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + } + /** + * Create an invalid Duration. + * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Duration} + */ + + + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Duration is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDurationError(invalid); + } else { + return new Duration({ + invalid + }); + } + } + /** + * @private + */ + + + static normalizeUnit(unit) { + const normalized = { + year: "years", + years: "years", + quarter: "quarters", + quarters: "quarters", + month: "months", + months: "months", + week: "weeks", + weeks: "weeks", + day: "days", + days: "days", + hour: "hours", + hours: "hours", + minute: "minutes", + minutes: "minutes", + second: "seconds", + seconds: "seconds", + millisecond: "milliseconds", + milliseconds: "milliseconds" + }[unit ? unit.toLowerCase() : unit]; + if (!normalized) throw new InvalidUnitError(unit); + return normalized; + } + /** + * Check if an object is a Duration. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + + + static isDuration(o) { + return o && o.isLuxonDuration || false; + } + /** + * Get the locale of a Duration, such 'en-GB' + * @type {string} + */ + + + get locale() { + return this.isValid ? this.loc.locale : null; + } + /** + * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration + * + * @type {string} + */ + + + get numberingSystem() { + return this.isValid ? this.loc.numberingSystem : null; + } + /** + * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens: + * * `S` for milliseconds + * * `s` for seconds + * * `m` for minutes + * * `h` for hours + * * `d` for days + * * `w` for weeks + * * `M` for months + * * `y` for years + * Notes: + * * Add padding by repeating the token, e.g. "yy" pads the years to two digits, "hhhh" pads the hours out to four digits + * * Tokens can be escaped by wrapping with single quotes. + * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting. + * @param {string} fmt - the format string + * @param {Object} opts - options + * @param {boolean} [opts.floor=true] - floor numerical values + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("y d s") //=> "1 6 2" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("yy dd sss") //=> "01 06 002" + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("M S") //=> "12 518402000" + * @return {string} + */ + + + toFormat(fmt, opts = {}) { + // reverse-compat since 1.2; we always round down now, never up, and we do it by default + const fmtOpts = { ...opts, + floor: opts.round !== false && opts.floor !== false + }; + return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2; + } + /** + * Returns a string representation of a Duration with all units included. + * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat + * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`. + * @example + * ```js + * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 }) + * dur.toHuman() //=> '1 day, 5 hours, 6 minutes' + * dur.toHuman({ listStyle: "long" }) //=> '1 day, 5 hours, and 6 minutes' + * dur.toHuman({ unitDisplay: "short" }) //=> '1 day, 5 hr, 6 min' + * ``` + */ + + + toHuman(opts = {}) { + const l = orderedUnits$1.map(unit => { + const val = this.values[unit]; + + if (isUndefined(val)) { + return null; + } + + return this.loc.numberFormatter({ + style: "unit", + unitDisplay: "long", + ...opts, + unit: unit.slice(0, -1) + }).format(val); + }).filter(n => n); + return this.loc.listFormatter({ + type: "conjunction", + style: opts.listStyle || "narrow", + ...opts + }).format(l); + } + /** + * Returns a JavaScript object with this Duration's values. + * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 } + * @return {Object} + */ + + + toObject() { + if (!this.isValid) return {}; + return { ...this.values + }; + } + /** + * Returns an ISO 8601-compliant string representation of this Duration. + * @see https://en.wikipedia.org/wiki/ISO_8601#Durations + * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S' + * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S' + * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M' + * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M' + * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S' + * @return {string} + */ + + + toISO() { + // we could use the formatter, but this is an easier way to get the minimum string + if (!this.isValid) return null; + let s = "P"; + if (this.years !== 0) s += this.years + "Y"; + if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + "M"; + if (this.weeks !== 0) s += this.weeks + "W"; + if (this.days !== 0) s += this.days + "D"; + if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += "T"; + if (this.hours !== 0) s += this.hours + "H"; + if (this.minutes !== 0) s += this.minutes + "M"; + if (this.seconds !== 0 || this.milliseconds !== 0) // this will handle "floating point madness" by removing extra decimal places + // https://stackoverflow.com/questions/588004/is-floating-point-math-broken + s += roundTo(this.seconds + this.milliseconds / 1000, 3) + "S"; + if (s === "P") s += "T0S"; + return s; + } + /** + * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day. + * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours. + * @see https://en.wikipedia.org/wiki/ISO_8601#Times + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000' + * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000' + * @return {string} + */ + + + toISOTime(opts = {}) { + if (!this.isValid) return null; + const millis = this.toMillis(); + if (millis < 0 || millis >= 86400000) return null; + opts = { + suppressMilliseconds: false, + suppressSeconds: false, + includePrefix: false, + format: "extended", + ...opts + }; + const value = this.shiftTo("hours", "minutes", "seconds", "milliseconds"); + let fmt = opts.format === "basic" ? "hhmm" : "hh:mm"; + + if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) { + fmt += opts.format === "basic" ? "ss" : ":ss"; + + if (!opts.suppressMilliseconds || value.milliseconds !== 0) { + fmt += ".SSS"; + } + } + + let str = value.toFormat(fmt); + + if (opts.includePrefix) { + str = "T" + str; + } + + return str; + } + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in JSON. + * @return {string} + */ + + + toJSON() { + return this.toISO(); + } + /** + * Returns an ISO 8601 representation of this Duration appropriate for use in debugging. + * @return {string} + */ + + + toString() { + return this.toISO(); + } + /** + * Returns an milliseconds value of this Duration. + * @return {number} + */ + + + toMillis() { + return this.as("milliseconds"); + } + /** + * Returns an milliseconds value of this Duration. Alias of {@link toMillis} + * @return {number} + */ + + + valueOf() { + return this.toMillis(); + } + /** + * Make this Duration longer by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + + + plus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration), + result = {}; + + for (const k of orderedUnits$1) { + if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) { + result[k] = dur.get(k) + this.get(k); + } + } + + return clone$1(this, { + values: result + }, true); + } + /** + * Make this Duration shorter by the specified amount. Return a newly-constructed Duration. + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @return {Duration} + */ + + + minus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration); + return this.plus(dur.negate()); + } + /** + * Scale this Duration by the specified amount. Return a newly-constructed Duration. + * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number. + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 } + * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === "hours" ? x * 2 : x) //=> { hours: 2, minutes: 30 } + * @return {Duration} + */ + + + mapUnits(fn) { + if (!this.isValid) return this; + const result = {}; + + for (const k of Object.keys(this.values)) { + result[k] = asNumber(fn(this.values[k], k)); + } + + return clone$1(this, { + values: result + }, true); + } + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2 + * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0 + * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3 + * @return {number} + */ + + + get(unit) { + return this[Duration.normalizeUnit(unit)]; + } + /** + * "Set" the values of specified units. Return a newly-constructed Duration. + * @param {Object} values - a mapping of units to numbers + * @example dur.set({ years: 2017 }) + * @example dur.set({ hours: 8, minutes: 30 }) + * @return {Duration} + */ + + + set(values) { + if (!this.isValid) return this; + const mixed = { ...this.values, + ...normalizeObject(values, Duration.normalizeUnit) + }; + return clone$1(this, { + values: mixed + }); + } + /** + * "Set" the locale and/or numberingSystem. Returns a newly-constructed Duration. + * @example dur.reconfigure({ locale: 'en-GB' }) + * @return {Duration} + */ + + + reconfigure({ + locale, + numberingSystem, + conversionAccuracy, + matrix + } = {}) { + const loc = this.loc.clone({ + locale, + numberingSystem + }); + const opts = { + loc, + matrix, + conversionAccuracy + }; + return clone$1(this, opts); + } + /** + * Return the length of the duration in the specified unit. + * @param {string} unit - a unit such as 'minutes' or 'days' + * @example Duration.fromObject({years: 1}).as('days') //=> 365 + * @example Duration.fromObject({years: 1}).as('months') //=> 12 + * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5 + * @return {number} + */ + + + as(unit) { + return this.isValid ? this.shiftTo(unit).get(unit) : NaN; + } + /** + * Reduce this Duration to its canonical representation in its current units. + * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 } + * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 } + * @return {Duration} + */ + + + normalize() { + if (!this.isValid) return this; + const vals = this.toObject(); + normalizeValues(this.matrix, vals); + return clone$1(this, { + values: vals + }, true); + } + /** + * Rescale units to its largest representation + * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 } + * @return {Duration} + */ + + + rescale() { + if (!this.isValid) return this; + const vals = removeZeroes(this.normalize().shiftToAll().toObject()); + return clone$1(this, { + values: vals + }, true); + } + /** + * Convert this Duration into its representation in a different set of units. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 } + * @return {Duration} + */ + + + shiftTo(...units) { + if (!this.isValid) return this; + + if (units.length === 0) { + return this; + } + + units = units.map(u => Duration.normalizeUnit(u)); + const built = {}, + accumulated = {}, + vals = this.toObject(); + let lastUnit; + + for (const k of orderedUnits$1) { + if (units.indexOf(k) >= 0) { + lastUnit = k; + let own = 0; // anything we haven't boiled down yet should get boiled to this unit + + for (const ak in accumulated) { + own += this.matrix[ak][k] * accumulated[ak]; + accumulated[ak] = 0; + } // plus anything that's already in this unit + + + if (isNumber(vals[k])) { + own += vals[k]; + } + + const i = Math.trunc(own); + built[k] = i; + accumulated[k] = (own * 1000 - i * 1000) / 1000; // plus anything further down the chain that should be rolled up in to this + + for (const down in vals) { + if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) { + convert(this.matrix, vals, down, built, k); + } + } // otherwise, keep it in the wings to boil it later + + } else if (isNumber(vals[k])) { + accumulated[k] = vals[k]; + } + } // anything leftover becomes the decimal for the last unit + // lastUnit must be defined since units is not empty + + + for (const key in accumulated) { + if (accumulated[key] !== 0) { + built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key]; + } + } + + return clone$1(this, { + values: built + }, true).normalize(); + } + /** + * Shift this Duration to all available units. + * Same as shiftTo("years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds") + * @return {Duration} + */ + + + shiftToAll() { + if (!this.isValid) return this; + return this.shiftTo("years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds"); + } + /** + * Return the negative of this Duration. + * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 } + * @return {Duration} + */ + + + negate() { + if (!this.isValid) return this; + const negated = {}; + + for (const k of Object.keys(this.values)) { + negated[k] = this.values[k] === 0 ? 0 : -this.values[k]; + } + + return clone$1(this, { + values: negated + }, true); + } + /** + * Get the years. + * @type {number} + */ + + + get years() { + return this.isValid ? this.values.years || 0 : NaN; + } + /** + * Get the quarters. + * @type {number} + */ + + + get quarters() { + return this.isValid ? this.values.quarters || 0 : NaN; + } + /** + * Get the months. + * @type {number} + */ + + + get months() { + return this.isValid ? this.values.months || 0 : NaN; + } + /** + * Get the weeks + * @type {number} + */ + + + get weeks() { + return this.isValid ? this.values.weeks || 0 : NaN; + } + /** + * Get the days. + * @type {number} + */ + + + get days() { + return this.isValid ? this.values.days || 0 : NaN; + } + /** + * Get the hours. + * @type {number} + */ + + + get hours() { + return this.isValid ? this.values.hours || 0 : NaN; + } + /** + * Get the minutes. + * @type {number} + */ + + + get minutes() { + return this.isValid ? this.values.minutes || 0 : NaN; + } + /** + * Get the seconds. + * @return {number} + */ + + + get seconds() { + return this.isValid ? this.values.seconds || 0 : NaN; + } + /** + * Get the milliseconds. + * @return {number} + */ + + + get milliseconds() { + return this.isValid ? this.values.milliseconds || 0 : NaN; + } + /** + * Returns whether the Duration is invalid. Invalid durations are returned by diff operations + * on invalid DateTimes or Intervals. + * @return {boolean} + */ + + + get isValid() { + return this.invalid === null; + } + /** + * Returns an error code if this Duration became invalid, or null if the Duration is valid + * @return {string} + */ + + + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this Duration became invalid, or null if the Duration is valid + * @type {string} + */ + + + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + /** + * Equality check + * Two Durations are equal iff they have the same units and the same values for each unit. + * @param {Duration} other + * @return {boolean} + */ + + + equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + if (!this.loc.equals(other.loc)) { + return false; + } + + function eq(v1, v2) { + // Consider 0 and undefined as equal + if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0; + return v1 === v2; + } + + for (const u of orderedUnits$1) { + if (!eq(this.values[u], other.values[u])) { + return false; + } + } + + return true; + } + +} + +const INVALID$1 = "Invalid Interval"; // checks if the start is equal to or before the end + +function validateStartEnd(start, end) { + if (!start || !start.isValid) { + return Interval.invalid("missing or invalid start"); + } else if (!end || !end.isValid) { + return Interval.invalid("missing or invalid end"); + } else if (end < start) { + return Interval.invalid("end before start", `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`); + } else { + return null; + } +} +/** + * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them. + * + * Here is a brief overview of the most commonly used methods and getters in Interval: + * + * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}. + * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end. + * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}. + * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}. + * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs} + * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}. + */ + + +class Interval { + /** + * @private + */ + constructor(config) { + /** + * @access private + */ + this.s = config.start; + /** + * @access private + */ + + this.e = config.end; + /** + * @access private + */ + + this.invalid = config.invalid || null; + /** + * @access private + */ + + this.isLuxonInterval = true; + } + /** + * Create an invalid Interval. + * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {Interval} + */ + + + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the Interval is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidIntervalError(invalid); + } else { + return new Interval({ + invalid + }); + } + } + /** + * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end. + * @param {DateTime|Date|Object} start + * @param {DateTime|Date|Object} end + * @return {Interval} + */ + + + static fromDateTimes(start, end) { + const builtStart = friendlyDateTime(start), + builtEnd = friendlyDateTime(end); + const validateError = validateStartEnd(builtStart, builtEnd); + + if (validateError == null) { + return new Interval({ + start: builtStart, + end: builtEnd + }); + } else { + return validateError; + } + } + /** + * Create an Interval from a start DateTime and a Duration to extend to. + * @param {DateTime|Date|Object} start + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + + + static after(start, duration) { + const dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(start); + return Interval.fromDateTimes(dt, dt.plus(dur)); + } + /** + * Create an Interval from an end DateTime and a Duration to extend backwards to. + * @param {DateTime|Date|Object} end + * @param {Duration|Object|number} duration - the length of the Interval. + * @return {Interval} + */ + + + static before(end, duration) { + const dur = Duration.fromDurationLike(duration), + dt = friendlyDateTime(end); + return Interval.fromDateTimes(dt.minus(dur), dt); + } + /** + * Create an Interval from an ISO 8601 string. + * Accepts `/`, `/`, and `/` formats. + * @param {string} text - the ISO string to parse + * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO} + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {Interval} + */ + + + static fromISO(text, opts) { + const [s, e] = (text || "").split("/", 2); + + if (s && e) { + let start, startIsValid; + + try { + start = DateTime.fromISO(s, opts); + startIsValid = start.isValid; + } catch (e) { + startIsValid = false; + } + + let end, endIsValid; + + try { + end = DateTime.fromISO(e, opts); + endIsValid = end.isValid; + } catch (e) { + endIsValid = false; + } + + if (startIsValid && endIsValid) { + return Interval.fromDateTimes(start, end); + } + + if (startIsValid) { + const dur = Duration.fromISO(e, opts); + + if (dur.isValid) { + return Interval.after(start, dur); + } + } else if (endIsValid) { + const dur = Duration.fromISO(s, opts); + + if (dur.isValid) { + return Interval.before(end, dur); + } + } + } + + return Interval.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`); + } + /** + * Check if an object is an Interval. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + + + static isInterval(o) { + return o && o.isLuxonInterval || false; + } + /** + * Returns the start of the Interval + * @type {DateTime} + */ + + + get start() { + return this.isValid ? this.s : null; + } + /** + * Returns the end of the Interval + * @type {DateTime} + */ + + + get end() { + return this.isValid ? this.e : null; + } + /** + * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'. + * @type {boolean} + */ + + + get isValid() { + return this.invalidReason === null; + } + /** + * Returns an error code if this Interval is invalid, or null if the Interval is valid + * @type {string} + */ + + + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this Interval became invalid, or null if the Interval is valid + * @type {string} + */ + + + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + /** + * Returns the length of the Interval in the specified unit. + * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in. + * @return {number} + */ + + + length(unit = "milliseconds") { + return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN; + } + /** + * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part. + * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day' + * asks 'what dates are included in this interval?', not 'how many days long is this interval?' + * @param {string} [unit='milliseconds'] - the unit of time to count. + * @return {number} + */ + + + count(unit = "milliseconds") { + if (!this.isValid) return NaN; + const start = this.start.startOf(unit), + end = this.end.startOf(unit); + return Math.floor(end.diff(start, unit).get(unit)) + 1; + } + /** + * Returns whether this Interval's start and end are both in the same unit of time + * @param {string} unit - the unit of time to check sameness on + * @return {boolean} + */ + + + hasSame(unit) { + return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false; + } + /** + * Return whether this Interval has the same start and end DateTimes. + * @return {boolean} + */ + + + isEmpty() { + return this.s.valueOf() === this.e.valueOf(); + } + /** + * Return whether this Interval's start is after the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + + + isAfter(dateTime) { + if (!this.isValid) return false; + return this.s > dateTime; + } + /** + * Return whether this Interval's end is before the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + + + isBefore(dateTime) { + if (!this.isValid) return false; + return this.e <= dateTime; + } + /** + * Return whether this Interval contains the specified DateTime. + * @param {DateTime} dateTime + * @return {boolean} + */ + + + contains(dateTime) { + if (!this.isValid) return false; + return this.s <= dateTime && this.e > dateTime; + } + /** + * "Sets" the start and/or end dates. Returns a newly-constructed Interval. + * @param {Object} values - the values to set + * @param {DateTime} values.start - the starting DateTime + * @param {DateTime} values.end - the ending DateTime + * @return {Interval} + */ + + + set({ + start, + end + } = {}) { + if (!this.isValid) return this; + return Interval.fromDateTimes(start || this.s, end || this.e); + } + /** + * Split this Interval at each of the specified DateTimes + * @param {...DateTime} dateTimes - the unit of time to count. + * @return {Array} + */ + + + splitAt(...dateTimes) { + if (!this.isValid) return []; + const sorted = dateTimes.map(friendlyDateTime).filter(d => this.contains(d)).sort(), + results = []; + let { + s + } = this, + i = 0; + + while (s < this.e) { + const added = sorted[i] || this.e, + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + i += 1; + } + + return results; + } + /** + * Split this Interval into smaller Intervals, each of the specified length. + * Left over time is grouped into a smaller interval + * @param {Duration|Object|number} duration - The length of each resulting interval. + * @return {Array} + */ + + + splitBy(duration) { + const dur = Duration.fromDurationLike(duration); + + if (!this.isValid || !dur.isValid || dur.as("milliseconds") === 0) { + return []; + } + + let { + s + } = this, + idx = 1, + next; + const results = []; + + while (s < this.e) { + const added = this.start.plus(dur.mapUnits(x => x * idx)); + next = +added > +this.e ? this.e : added; + results.push(Interval.fromDateTimes(s, next)); + s = next; + idx += 1; + } + + return results; + } + /** + * Split this Interval into the specified number of smaller intervals. + * @param {number} numberOfParts - The number of Intervals to divide the Interval into. + * @return {Array} + */ + + + divideEqually(numberOfParts) { + if (!this.isValid) return []; + return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts); + } + /** + * Return whether this Interval overlaps with the specified Interval + * @param {Interval} other + * @return {boolean} + */ + + + overlaps(other) { + return this.e > other.s && this.s < other.e; + } + /** + * Return whether this Interval's end is adjacent to the specified Interval's start. + * @param {Interval} other + * @return {boolean} + */ + + + abutsStart(other) { + if (!this.isValid) return false; + return +this.e === +other.s; + } + /** + * Return whether this Interval's start is adjacent to the specified Interval's end. + * @param {Interval} other + * @return {boolean} + */ + + + abutsEnd(other) { + if (!this.isValid) return false; + return +other.e === +this.s; + } + /** + * Return whether this Interval engulfs the start and end of the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + + + engulfs(other) { + if (!this.isValid) return false; + return this.s <= other.s && this.e >= other.e; + } + /** + * Return whether this Interval has the same start and end as the specified Interval. + * @param {Interval} other + * @return {boolean} + */ + + + equals(other) { + if (!this.isValid || !other.isValid) { + return false; + } + + return this.s.equals(other.s) && this.e.equals(other.e); + } + /** + * Return an Interval representing the intersection of this Interval and the specified Interval. + * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals. + * Returns null if the intersection is empty, meaning, the intervals don't intersect. + * @param {Interval} other + * @return {Interval} + */ + + + intersection(other) { + if (!this.isValid) return this; + const s = this.s > other.s ? this.s : other.s, + e = this.e < other.e ? this.e : other.e; + + if (s >= e) { + return null; + } else { + return Interval.fromDateTimes(s, e); + } + } + /** + * Return an Interval representing the union of this Interval and the specified Interval. + * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals. + * @param {Interval} other + * @return {Interval} + */ + + + union(other) { + if (!this.isValid) return this; + const s = this.s < other.s ? this.s : other.s, + e = this.e > other.e ? this.e : other.e; + return Interval.fromDateTimes(s, e); + } + /** + * Merge an array of Intervals into a equivalent minimal set of Intervals. + * Combines overlapping and adjacent Intervals. + * @param {Array} intervals + * @return {Array} + */ + + + static merge(intervals) { + const [found, final] = intervals.sort((a, b) => a.s - b.s).reduce(([sofar, current], item) => { + if (!current) { + return [sofar, item]; + } else if (current.overlaps(item) || current.abutsStart(item)) { + return [sofar, current.union(item)]; + } else { + return [sofar.concat([current]), item]; + } + }, [[], null]); + + if (final) { + found.push(final); + } + + return found; + } + /** + * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals. + * @param {Array} intervals + * @return {Array} + */ + + + static xor(intervals) { + let start = null, + currentCount = 0; + const results = [], + ends = intervals.map(i => [{ + time: i.s, + type: "s" + }, { + time: i.e, + type: "e" + }]), + flattened = Array.prototype.concat(...ends), + arr = flattened.sort((a, b) => a.time - b.time); + + for (const i of arr) { + currentCount += i.type === "s" ? 1 : -1; + + if (currentCount === 1) { + start = i.time; + } else { + if (start && +start !== +i.time) { + results.push(Interval.fromDateTimes(start, i.time)); + } + + start = null; + } + } + + return Interval.merge(results); + } + /** + * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals. + * @param {...Interval} intervals + * @return {Array} + */ + + + difference(...intervals) { + return Interval.xor([this].concat(intervals)).map(i => this.intersection(i)).filter(i => i && !i.isEmpty()); + } + /** + * Returns a string representation of this Interval appropriate for debugging. + * @return {string} + */ + + + toString() { + if (!this.isValid) return INVALID$1; + return `[${this.s.toISO()} – ${this.e.toISO()})`; + } + /** + * Returns an ISO 8601-compliant string representation of this Interval. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + + + toISO(opts) { + if (!this.isValid) return INVALID$1; + return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`; + } + /** + * Returns an ISO 8601-compliant string representation of date of this Interval. + * The time components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @return {string} + */ + + + toISODate() { + if (!this.isValid) return INVALID$1; + return `${this.s.toISODate()}/${this.e.toISODate()}`; + } + /** + * Returns an ISO 8601-compliant string representation of time of this Interval. + * The date components are ignored. + * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + * @param {Object} opts - The same options as {@link DateTime#toISO} + * @return {string} + */ + + + toISOTime(opts) { + if (!this.isValid) return INVALID$1; + return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`; + } + /** + * Returns a string representation of this Interval formatted according to the specified format string. + * @param {string} dateFormat - the format string. This string formats the start and end time. See {@link DateTime#toFormat} for details. + * @param {Object} opts - options + * @param {string} [opts.separator = ' – '] - a separator to place between the start and end representations + * @return {string} + */ + + + toFormat(dateFormat, { + separator = " – " + } = {}) { + if (!this.isValid) return INVALID$1; + return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`; + } + /** + * Return a Duration representing the time spanned by this interval. + * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 } + * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 } + * @return {Duration} + */ + + + toDuration(unit, opts) { + if (!this.isValid) { + return Duration.invalid(this.invalidReason); + } + + return this.e.diff(this.s, unit, opts); + } + /** + * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes + * @param {function} mapFn + * @return {Interval} + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC()) + * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 })) + */ + + + mapEndpoints(mapFn) { + return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e)); + } + +} + +/** + * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment. + */ + +class Info { + /** + * Return whether the specified zone contains a DST. + * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone. + * @return {boolean} + */ + static hasDST(zone = Settings.defaultZone) { + const proto = DateTime.now().setZone(zone).set({ + month: 12 + }); + return !zone.isUniversal && proto.offset !== proto.set({ + month: 6 + }).offset; + } + /** + * Return whether the specified zone is a valid IANA specifier. + * @param {string} zone - Zone to check + * @return {boolean} + */ + + + static isValidIANAZone(zone) { + return IANAZone.isValidZone(zone); + } + /** + * Converts the input into a {@link Zone} instance. + * + * * If `input` is already a Zone instance, it is returned unchanged. + * * If `input` is a string containing a valid time zone name, a Zone instance + * with that name is returned. + * * If `input` is a string that doesn't refer to a known time zone, a Zone + * instance with {@link Zone#isValid} == false is returned. + * * If `input is a number, a Zone instance with the specified fixed offset + * in minutes is returned. + * * If `input` is `null` or `undefined`, the default zone is returned. + * @param {string|Zone|number} [input] - the value to be converted + * @return {Zone} + */ + + + static normalizeZone(input) { + return normalizeZone(input, Settings.defaultZone); + } + /** + * Return an array of standalone month names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @example Info.months()[0] //=> 'January' + * @example Info.months('short')[0] //=> 'Jan' + * @example Info.months('numeric')[0] //=> '1' + * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.' + * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١' + * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I' + * @return {Array} + */ + + + static months(length = "long", { + locale = null, + numberingSystem = null, + locObj = null, + outputCalendar = "gregory" + } = {}) { + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length); + } + /** + * Return an array of format month names. + * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that + * changes the string. + * See {@link Info#months} + * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long" + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @param {string} [opts.outputCalendar='gregory'] - the calendar + * @return {Array} + */ + + + static monthsFormat(length = "long", { + locale = null, + numberingSystem = null, + locObj = null, + outputCalendar = "gregory" + } = {}) { + return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true); + } + /** + * Return an array of standalone week names. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param {string} [length='long'] - the length of the weekday representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @example Info.weekdays()[0] //=> 'Monday' + * @example Info.weekdays('short')[0] //=> 'Mon' + * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.' + * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين' + * @return {Array} + */ + + + static weekdays(length = "long", { + locale = null, + numberingSystem = null, + locObj = null + } = {}) { + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length); + } + /** + * Return an array of format week names. + * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that + * changes the string. + * See {@link Info#weekdays} + * @param {string} [length='long'] - the length of the month representation, such as "narrow", "short", "long". + * @param {Object} opts - options + * @param {string} [opts.locale=null] - the locale code + * @param {string} [opts.numberingSystem=null] - the numbering system + * @param {string} [opts.locObj=null] - an existing locale object to use + * @return {Array} + */ + + + static weekdaysFormat(length = "long", { + locale = null, + numberingSystem = null, + locObj = null + } = {}) { + return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true); + } + /** + * Return an array of meridiems. + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.meridiems() //=> [ 'AM', 'PM' ] + * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ] + * @return {Array} + */ + + + static meridiems({ + locale = null + } = {}) { + return Locale.create(locale).meridiems(); + } + /** + * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian. + * @param {string} [length='short'] - the length of the era representation, such as "short" or "long". + * @param {Object} opts - options + * @param {string} [opts.locale] - the locale code + * @example Info.eras() //=> [ 'BC', 'AD' ] + * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ] + * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ] + * @return {Array} + */ + + + static eras(length = "short", { + locale = null + } = {}) { + return Locale.create(locale, null, "gregory").eras(length); + } + /** + * Return the set of available features in this environment. + * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case. + * Keys: + * * `relative`: whether this environment supports relative time formatting + * @example Info.features() //=> { relative: false } + * @return {Object} + */ + + + static features() { + return { + relative: hasRelative() + }; + } + +} + +function dayDiff(earlier, later) { + const utcDayStart = dt => dt.toUTC(0, { + keepLocalTime: true + }).startOf("day").valueOf(), + ms = utcDayStart(later) - utcDayStart(earlier); + + return Math.floor(Duration.fromMillis(ms).as("days")); +} + +function highOrderDiffs(cursor, later, units) { + const differs = [["years", (a, b) => b.year - a.year], ["quarters", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4], ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12], ["weeks", (a, b) => { + const days = dayDiff(a, b); + return (days - days % 7) / 7; + }], ["days", dayDiff]]; + const results = {}; + let lowestOrder, highWater; + + for (const [unit, differ] of differs) { + if (units.indexOf(unit) >= 0) { + lowestOrder = unit; + let delta = differ(cursor, later); + highWater = cursor.plus({ + [unit]: delta + }); + + if (highWater > later) { + cursor = cursor.plus({ + [unit]: delta - 1 + }); + delta -= 1; + } else { + cursor = highWater; + } + + results[unit] = delta; + } + } + + return [cursor, results, highWater, lowestOrder]; +} + +function diff (earlier, later, units, opts) { + let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units); + const remainingMillis = later - cursor; + const lowerOrderUnits = units.filter(u => ["hours", "minutes", "seconds", "milliseconds"].indexOf(u) >= 0); + + if (lowerOrderUnits.length === 0) { + if (highWater < later) { + highWater = cursor.plus({ + [lowestOrder]: 1 + }); + } + + if (highWater !== cursor) { + results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor); + } + } + + const duration = Duration.fromObject(results, opts); + + if (lowerOrderUnits.length > 0) { + return Duration.fromMillis(remainingMillis, opts).shiftTo(...lowerOrderUnits).plus(duration); + } else { + return duration; + } +} + +const numberingSystems = { + arab: "[\u0660-\u0669]", + arabext: "[\u06F0-\u06F9]", + bali: "[\u1B50-\u1B59]", + beng: "[\u09E6-\u09EF]", + deva: "[\u0966-\u096F]", + fullwide: "[\uFF10-\uFF19]", + gujr: "[\u0AE6-\u0AEF]", + hanidec: "[〇|一|二|三|四|五|六|七|八|九]", + khmr: "[\u17E0-\u17E9]", + knda: "[\u0CE6-\u0CEF]", + laoo: "[\u0ED0-\u0ED9]", + limb: "[\u1946-\u194F]", + mlym: "[\u0D66-\u0D6F]", + mong: "[\u1810-\u1819]", + mymr: "[\u1040-\u1049]", + orya: "[\u0B66-\u0B6F]", + tamldec: "[\u0BE6-\u0BEF]", + telu: "[\u0C66-\u0C6F]", + thai: "[\u0E50-\u0E59]", + tibt: "[\u0F20-\u0F29]", + latn: "\\d" +}; +const numberingSystemsUTF16 = { + arab: [1632, 1641], + arabext: [1776, 1785], + bali: [6992, 7001], + beng: [2534, 2543], + deva: [2406, 2415], + fullwide: [65296, 65303], + gujr: [2790, 2799], + khmr: [6112, 6121], + knda: [3302, 3311], + laoo: [3792, 3801], + limb: [6470, 6479], + mlym: [3430, 3439], + mong: [6160, 6169], + mymr: [4160, 4169], + orya: [2918, 2927], + tamldec: [3046, 3055], + telu: [3174, 3183], + thai: [3664, 3673], + tibt: [3872, 3881] +}; +const hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split(""); +function parseDigits(str) { + let value = parseInt(str, 10); + + if (isNaN(value)) { + value = ""; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + if (str[i].search(numberingSystems.hanidec) !== -1) { + value += hanidecChars.indexOf(str[i]); + } else { + for (const key in numberingSystemsUTF16) { + const [min, max] = numberingSystemsUTF16[key]; + + if (code >= min && code <= max) { + value += code - min; + } + } + } + } + + return parseInt(value, 10); + } else { + return value; + } +} +function digitRegex({ + numberingSystem +}, append = "") { + return new RegExp(`${numberingSystems[numberingSystem || "latn"]}${append}`); +} + +const MISSING_FTP = "missing Intl.DateTimeFormat.formatToParts support"; + +function intUnit(regex, post = i => i) { + return { + regex, + deser: ([s]) => post(parseDigits(s)) + }; +} + +const NBSP = String.fromCharCode(160); +const spaceOrNBSP = `[ ${NBSP}]`; +const spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, "g"); + +function fixListRegex(s) { + // make dots optional and also make them literal + // make space and non breakable space characters interchangeable + return s.replace(/\./g, "\\.?").replace(spaceOrNBSPRegExp, spaceOrNBSP); +} + +function stripInsensitivities(s) { + return s.replace(/\./g, "") // ignore dots that were made optional + .replace(spaceOrNBSPRegExp, " ") // interchange space and nbsp + .toLowerCase(); +} + +function oneOf(strings, startIndex) { + if (strings === null) { + return null; + } else { + return { + regex: RegExp(strings.map(fixListRegex).join("|")), + deser: ([s]) => strings.findIndex(i => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex + }; + } +} + +function offset(regex, groups) { + return { + regex, + deser: ([, h, m]) => signedOffset(h, m), + groups + }; +} + +function simple(regex) { + return { + regex, + deser: ([s]) => s + }; +} + +function escapeToken(value) { + return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); +} + +function unitForToken(token, loc) { + const one = digitRegex(loc), + two = digitRegex(loc, "{2}"), + three = digitRegex(loc, "{3}"), + four = digitRegex(loc, "{4}"), + six = digitRegex(loc, "{6}"), + oneOrTwo = digitRegex(loc, "{1,2}"), + oneToThree = digitRegex(loc, "{1,3}"), + oneToSix = digitRegex(loc, "{1,6}"), + oneToNine = digitRegex(loc, "{1,9}"), + twoToFour = digitRegex(loc, "{2,4}"), + fourToSix = digitRegex(loc, "{4,6}"), + literal = t => ({ + regex: RegExp(escapeToken(t.val)), + deser: ([s]) => s, + literal: true + }), + unitate = t => { + if (token.literal) { + return literal(t); + } + + switch (t.val) { + // era + case "G": + return oneOf(loc.eras("short", false), 0); + + case "GG": + return oneOf(loc.eras("long", false), 0); + // years + + case "y": + return intUnit(oneToSix); + + case "yy": + return intUnit(twoToFour, untruncateYear); + + case "yyyy": + return intUnit(four); + + case "yyyyy": + return intUnit(fourToSix); + + case "yyyyyy": + return intUnit(six); + // months + + case "M": + return intUnit(oneOrTwo); + + case "MM": + return intUnit(two); + + case "MMM": + return oneOf(loc.months("short", true, false), 1); + + case "MMMM": + return oneOf(loc.months("long", true, false), 1); + + case "L": + return intUnit(oneOrTwo); + + case "LL": + return intUnit(two); + + case "LLL": + return oneOf(loc.months("short", false, false), 1); + + case "LLLL": + return oneOf(loc.months("long", false, false), 1); + // dates + + case "d": + return intUnit(oneOrTwo); + + case "dd": + return intUnit(two); + // ordinals + + case "o": + return intUnit(oneToThree); + + case "ooo": + return intUnit(three); + // time + + case "HH": + return intUnit(two); + + case "H": + return intUnit(oneOrTwo); + + case "hh": + return intUnit(two); + + case "h": + return intUnit(oneOrTwo); + + case "mm": + return intUnit(two); + + case "m": + return intUnit(oneOrTwo); + + case "q": + return intUnit(oneOrTwo); + + case "qq": + return intUnit(two); + + case "s": + return intUnit(oneOrTwo); + + case "ss": + return intUnit(two); + + case "S": + return intUnit(oneToThree); + + case "SSS": + return intUnit(three); + + case "u": + return simple(oneToNine); + + case "uu": + return simple(oneOrTwo); + + case "uuu": + return intUnit(one); + // meridiem + + case "a": + return oneOf(loc.meridiems(), 0); + // weekYear (k) + + case "kkkk": + return intUnit(four); + + case "kk": + return intUnit(twoToFour, untruncateYear); + // weekNumber (W) + + case "W": + return intUnit(oneOrTwo); + + case "WW": + return intUnit(two); + // weekdays + + case "E": + case "c": + return intUnit(one); + + case "EEE": + return oneOf(loc.weekdays("short", false, false), 1); + + case "EEEE": + return oneOf(loc.weekdays("long", false, false), 1); + + case "ccc": + return oneOf(loc.weekdays("short", true, false), 1); + + case "cccc": + return oneOf(loc.weekdays("long", true, false), 1); + // offset/zone + + case "Z": + case "ZZ": + return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2); + + case "ZZZ": + return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2); + // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing + // because we don't have any way to figure out what they are + + case "z": + return simple(/[a-z_+-/]{1,256}?/i); + + default: + return literal(t); + } + }; + + const unit = unitate(token) || { + invalidReason: MISSING_FTP + }; + unit.token = token; + return unit; +} + +const partTypeStyleToTokenVal = { + year: { + "2-digit": "yy", + numeric: "yyyyy" + }, + month: { + numeric: "M", + "2-digit": "MM", + short: "MMM", + long: "MMMM" + }, + day: { + numeric: "d", + "2-digit": "dd" + }, + weekday: { + short: "EEE", + long: "EEEE" + }, + dayperiod: "a", + dayPeriod: "a", + hour: { + numeric: "h", + "2-digit": "hh" + }, + minute: { + numeric: "m", + "2-digit": "mm" + }, + second: { + numeric: "s", + "2-digit": "ss" + }, + timeZoneName: { + long: "ZZZZZ", + short: "ZZZ" + } +}; + +function tokenForPart(part, locale, formatOpts) { + const { + type, + value + } = part; + + if (type === "literal") { + return { + literal: true, + val: value + }; + } + + const style = formatOpts[type]; + let val = partTypeStyleToTokenVal[type]; + + if (typeof val === "object") { + val = val[style]; + } + + if (val) { + return { + literal: false, + val + }; + } + + return undefined; +} + +function buildRegex(units) { + const re = units.map(u => u.regex).reduce((f, r) => `${f}(${r.source})`, ""); + return [`^${re}$`, units]; +} + +function match(input, regex, handlers) { + const matches = input.match(regex); + + if (matches) { + const all = {}; + let matchIndex = 1; + + for (const i in handlers) { + if (hasOwnProperty(handlers, i)) { + const h = handlers[i], + groups = h.groups ? h.groups + 1 : 1; + + if (!h.literal && h.token) { + all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups)); + } + + matchIndex += groups; + } + } + + return [matches, all]; + } else { + return [matches, {}]; + } +} + +function dateTimeFromMatches(matches) { + const toField = token => { + switch (token) { + case "S": + return "millisecond"; + + case "s": + return "second"; + + case "m": + return "minute"; + + case "h": + case "H": + return "hour"; + + case "d": + return "day"; + + case "o": + return "ordinal"; + + case "L": + case "M": + return "month"; + + case "y": + return "year"; + + case "E": + case "c": + return "weekday"; + + case "W": + return "weekNumber"; + + case "k": + return "weekYear"; + + case "q": + return "quarter"; + + default: + return null; + } + }; + + let zone = null; + let specificOffset; + + if (!isUndefined(matches.z)) { + zone = IANAZone.create(matches.z); + } + + if (!isUndefined(matches.Z)) { + if (!zone) { + zone = new FixedOffsetZone(matches.Z); + } + + specificOffset = matches.Z; + } + + if (!isUndefined(matches.q)) { + matches.M = (matches.q - 1) * 3 + 1; + } + + if (!isUndefined(matches.h)) { + if (matches.h < 12 && matches.a === 1) { + matches.h += 12; + } else if (matches.h === 12 && matches.a === 0) { + matches.h = 0; + } + } + + if (matches.G === 0 && matches.y) { + matches.y = -matches.y; + } + + if (!isUndefined(matches.u)) { + matches.S = parseMillis(matches.u); + } + + const vals = Object.keys(matches).reduce((r, k) => { + const f = toField(k); + + if (f) { + r[f] = matches[k]; + } + + return r; + }, {}); + return [vals, zone, specificOffset]; +} + +let dummyDateTimeCache = null; + +function getDummyDateTime() { + if (!dummyDateTimeCache) { + dummyDateTimeCache = DateTime.fromMillis(1555555555555); + } + + return dummyDateTimeCache; +} + +function maybeExpandMacroToken(token, locale) { + if (token.literal) { + return token; + } + + const formatOpts = Formatter.macroTokenToFormatOpts(token.val); + const tokens = formatOptsToTokens(formatOpts, locale); + + if (tokens == null || tokens.includes(undefined)) { + return token; + } + + return tokens; +} + +function expandMacroTokens(tokens, locale) { + return Array.prototype.concat(...tokens.map(t => maybeExpandMacroToken(t, locale))); +} +/** + * @private + */ + +function explainFromTokens(locale, input, format) { + const tokens = expandMacroTokens(Formatter.parseFormat(format), locale), + units = tokens.map(t => unitForToken(t, locale)), + disqualifyingUnit = units.find(t => t.invalidReason); + + if (disqualifyingUnit) { + return { + input, + tokens, + invalidReason: disqualifyingUnit.invalidReason + }; + } else { + const [regexString, handlers] = buildRegex(units), + regex = RegExp(regexString, "i"), + [rawMatches, matches] = match(input, regex, handlers), + [result, zone, specificOffset] = matches ? dateTimeFromMatches(matches) : [null, null, undefined]; + + if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) { + throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format"); + } + + return { + input, + tokens, + regex, + rawMatches, + matches, + result, + zone, + specificOffset + }; + } +} +function parseFromTokens(locale, input, format) { + const { + result, + zone, + specificOffset, + invalidReason + } = explainFromTokens(locale, input, format); + return [result, zone, specificOffset, invalidReason]; +} +function formatOptsToTokens(formatOpts, locale) { + if (!formatOpts) { + return null; + } + + const formatter = Formatter.create(locale, formatOpts); + const parts = formatter.formatDateTimeParts(getDummyDateTime()); + return parts.map(p => tokenForPart(p, locale, formatOpts)); +} + +const nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], + leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]; + +function unitOutOfRange(unit, value) { + return new Invalid("unit out of range", `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`); +} + +function dayOfWeek(year, month, day) { + const d = new Date(Date.UTC(year, month - 1, day)); + + if (year < 100 && year >= 0) { + d.setUTCFullYear(d.getUTCFullYear() - 1900); + } + + const js = d.getUTCDay(); + return js === 0 ? 7 : js; +} + +function computeOrdinal(year, month, day) { + return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1]; +} + +function uncomputeOrdinal(year, ordinal) { + const table = isLeapYear(year) ? leapLadder : nonLeapLadder, + month0 = table.findIndex(i => i < ordinal), + day = ordinal - table[month0]; + return { + month: month0 + 1, + day + }; +} +/** + * @private + */ + + +function gregorianToWeek(gregObj) { + const { + year, + month, + day + } = gregObj, + ordinal = computeOrdinal(year, month, day), + weekday = dayOfWeek(year, month, day); + let weekNumber = Math.floor((ordinal - weekday + 10) / 7), + weekYear; + + if (weekNumber < 1) { + weekYear = year - 1; + weekNumber = weeksInWeekYear(weekYear); + } else if (weekNumber > weeksInWeekYear(year)) { + weekYear = year + 1; + weekNumber = 1; + } else { + weekYear = year; + } + + return { + weekYear, + weekNumber, + weekday, + ...timeObject(gregObj) + }; +} +function weekToGregorian(weekData) { + const { + weekYear, + weekNumber, + weekday + } = weekData, + weekdayOfJan4 = dayOfWeek(weekYear, 1, 4), + yearInDays = daysInYear(weekYear); + let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3, + year; + + if (ordinal < 1) { + year = weekYear - 1; + ordinal += daysInYear(year); + } else if (ordinal > yearInDays) { + year = weekYear + 1; + ordinal -= daysInYear(weekYear); + } else { + year = weekYear; + } + + const { + month, + day + } = uncomputeOrdinal(year, ordinal); + return { + year, + month, + day, + ...timeObject(weekData) + }; +} +function gregorianToOrdinal(gregData) { + const { + year, + month, + day + } = gregData; + const ordinal = computeOrdinal(year, month, day); + return { + year, + ordinal, + ...timeObject(gregData) + }; +} +function ordinalToGregorian(ordinalData) { + const { + year, + ordinal + } = ordinalData; + const { + month, + day + } = uncomputeOrdinal(year, ordinal); + return { + year, + month, + day, + ...timeObject(ordinalData) + }; +} +function hasInvalidWeekData(obj) { + const validYear = isInteger(obj.weekYear), + validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)), + validWeekday = integerBetween(obj.weekday, 1, 7); + + if (!validYear) { + return unitOutOfRange("weekYear", obj.weekYear); + } else if (!validWeek) { + return unitOutOfRange("week", obj.week); + } else if (!validWeekday) { + return unitOutOfRange("weekday", obj.weekday); + } else return false; +} +function hasInvalidOrdinalData(obj) { + const validYear = isInteger(obj.year), + validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validOrdinal) { + return unitOutOfRange("ordinal", obj.ordinal); + } else return false; +} +function hasInvalidGregorianData(obj) { + const validYear = isInteger(obj.year), + validMonth = integerBetween(obj.month, 1, 12), + validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month)); + + if (!validYear) { + return unitOutOfRange("year", obj.year); + } else if (!validMonth) { + return unitOutOfRange("month", obj.month); + } else if (!validDay) { + return unitOutOfRange("day", obj.day); + } else return false; +} +function hasInvalidTimeData(obj) { + const { + hour, + minute, + second, + millisecond + } = obj; + const validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0, + validMinute = integerBetween(minute, 0, 59), + validSecond = integerBetween(second, 0, 59), + validMillisecond = integerBetween(millisecond, 0, 999); + + if (!validHour) { + return unitOutOfRange("hour", hour); + } else if (!validMinute) { + return unitOutOfRange("minute", minute); + } else if (!validSecond) { + return unitOutOfRange("second", second); + } else if (!validMillisecond) { + return unitOutOfRange("millisecond", millisecond); + } else return false; +} + +const INVALID = "Invalid DateTime"; +const MAX_DATE = 8.64e15; + +function unsupportedZone(zone) { + return new Invalid("unsupported zone", `the zone "${zone.name}" is not supported`); +} // we cache week data on the DT object and this intermediates the cache + + +function possiblyCachedWeekData(dt) { + if (dt.weekData === null) { + dt.weekData = gregorianToWeek(dt.c); + } + + return dt.weekData; +} // clone really means, "make a new object with these modifications". all "setters" really use this +// to create a new object while only changing some of the properties + + +function clone(inst, alts) { + const current = { + ts: inst.ts, + zone: inst.zone, + c: inst.c, + o: inst.o, + loc: inst.loc, + invalid: inst.invalid + }; + return new DateTime({ ...current, + ...alts, + old: current + }); +} // find the right offset a given local time. The o input is our guess, which determines which +// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST) + + +function fixOffset(localTS, o, tz) { + // Our UTC time is just a guess because our offset is just a guess + let utcGuess = localTS - o * 60 * 1000; // Test whether the zone matches the offset for this ts + + const o2 = tz.offset(utcGuess); // If so, offset didn't change and we're done + + if (o === o2) { + return [utcGuess, o]; + } // If not, change the ts by the difference in the offset + + + utcGuess -= (o2 - o) * 60 * 1000; // If that gives us the local time we want, we're done + + const o3 = tz.offset(utcGuess); + + if (o2 === o3) { + return [utcGuess, o2]; + } // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time + + + return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)]; +} // convert an epoch timestamp into a calendar object with the given offset + + +function tsToObj(ts, offset) { + ts += offset * 60 * 1000; + const d = new Date(ts); + return { + year: d.getUTCFullYear(), + month: d.getUTCMonth() + 1, + day: d.getUTCDate(), + hour: d.getUTCHours(), + minute: d.getUTCMinutes(), + second: d.getUTCSeconds(), + millisecond: d.getUTCMilliseconds() + }; +} // convert a calendar object to a epoch timestamp + + +function objToTS(obj, offset, zone) { + return fixOffset(objToLocalTS(obj), offset, zone); +} // create a new DT instance by adding a duration, adjusting for DSTs + + +function adjustTime(inst, dur) { + const oPre = inst.o, + year = inst.c.year + Math.trunc(dur.years), + month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3, + c = { ...inst.c, + year, + month, + day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7 + }, + millisToAdd = Duration.fromObject({ + years: dur.years - Math.trunc(dur.years), + quarters: dur.quarters - Math.trunc(dur.quarters), + months: dur.months - Math.trunc(dur.months), + weeks: dur.weeks - Math.trunc(dur.weeks), + days: dur.days - Math.trunc(dur.days), + hours: dur.hours, + minutes: dur.minutes, + seconds: dur.seconds, + milliseconds: dur.milliseconds + }).as("milliseconds"), + localTS = objToLocalTS(c); + let [ts, o] = fixOffset(localTS, oPre, inst.zone); + + if (millisToAdd !== 0) { + ts += millisToAdd; // that could have changed the offset by going over a DST, but we want to keep the ts the same + + o = inst.zone.offset(ts); + } + + return { + ts, + o + }; +} // helper useful in turning the results of parsing into real dates +// by handling the zone options + + +function parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) { + const { + setZone, + zone + } = opts; + + if (parsed && Object.keys(parsed).length !== 0) { + const interpretationZone = parsedZone || zone, + inst = DateTime.fromObject(parsed, { ...opts, + zone: interpretationZone, + specificOffset + }); + return setZone ? inst : inst.setZone(zone); + } else { + return DateTime.invalid(new Invalid("unparsable", `the input "${text}" can't be parsed as ${format}`)); + } +} // if you want to output a technical format (e.g. RFC 2822), this helper +// helps handle the details + + +function toTechFormat(dt, format, allowZ = true) { + return dt.isValid ? Formatter.create(Locale.create("en-US"), { + allowZ, + forceSimple: true + }).formatDateTimeFromString(dt, format) : null; +} + +function toISODate(o, extended) { + const longFormat = o.c.year > 9999 || o.c.year < 0; + let c = ""; + if (longFormat && o.c.year >= 0) c += "+"; + c += padStart(o.c.year, longFormat ? 6 : 4); + + if (extended) { + c += "-"; + c += padStart(o.c.month); + c += "-"; + c += padStart(o.c.day); + } else { + c += padStart(o.c.month); + c += padStart(o.c.day); + } + + return c; +} + +function toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone) { + let c = padStart(o.c.hour); + + if (extended) { + c += ":"; + c += padStart(o.c.minute); + + if (o.c.second !== 0 || !suppressSeconds) { + c += ":"; + } + } else { + c += padStart(o.c.minute); + } + + if (o.c.second !== 0 || !suppressSeconds) { + c += padStart(o.c.second); + + if (o.c.millisecond !== 0 || !suppressMilliseconds) { + c += "."; + c += padStart(o.c.millisecond, 3); + } + } + + if (includeOffset) { + if (o.isOffsetFixed && o.offset === 0 && !extendedZone) { + c += "Z"; + } else if (o.o < 0) { + c += "-"; + c += padStart(Math.trunc(-o.o / 60)); + c += ":"; + c += padStart(Math.trunc(-o.o % 60)); + } else { + c += "+"; + c += padStart(Math.trunc(o.o / 60)); + c += ":"; + c += padStart(Math.trunc(o.o % 60)); + } + } + + if (extendedZone) { + c += "[" + o.zone.ianaName + "]"; + } + + return c; +} // defaults for unspecified units in the supported calendars + + +const defaultUnitValues = { + month: 1, + day: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 +}, + defaultWeekUnitValues = { + weekNumber: 1, + weekday: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 +}, + defaultOrdinalUnitValues = { + ordinal: 1, + hour: 0, + minute: 0, + second: 0, + millisecond: 0 +}; // Units in the supported calendars, sorted by bigness + +const orderedUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"], + orderedWeekUnits = ["weekYear", "weekNumber", "weekday", "hour", "minute", "second", "millisecond"], + orderedOrdinalUnits = ["year", "ordinal", "hour", "minute", "second", "millisecond"]; // standardize case and plurality in units + +function normalizeUnit(unit) { + const normalized = { + year: "year", + years: "year", + month: "month", + months: "month", + day: "day", + days: "day", + hour: "hour", + hours: "hour", + minute: "minute", + minutes: "minute", + quarter: "quarter", + quarters: "quarter", + second: "second", + seconds: "second", + millisecond: "millisecond", + milliseconds: "millisecond", + weekday: "weekday", + weekdays: "weekday", + weeknumber: "weekNumber", + weeksnumber: "weekNumber", + weeknumbers: "weekNumber", + weekyear: "weekYear", + weekyears: "weekYear", + ordinal: "ordinal" + }[unit.toLowerCase()]; + if (!normalized) throw new InvalidUnitError(unit); + return normalized; +} // this is a dumbed down version of fromObject() that runs about 60% faster +// but doesn't do any validation, makes a bunch of assumptions about what units +// are present, and so on. + + +function quickDT(obj, opts) { + const zone = normalizeZone(opts.zone, Settings.defaultZone), + loc = Locale.fromObject(opts), + tsNow = Settings.now(); + let ts, o; // assume we have the higher-order units + + if (!isUndefined(obj.year)) { + for (const u of orderedUnits) { + if (isUndefined(obj[u])) { + obj[u] = defaultUnitValues[u]; + } + } + + const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj); + + if (invalid) { + return DateTime.invalid(invalid); + } + + const offsetProvis = zone.offset(tsNow); + [ts, o] = objToTS(obj, offsetProvis, zone); + } else { + ts = tsNow; + } + + return new DateTime({ + ts, + zone, + loc, + o + }); +} + +function diffRelative(start, end, opts) { + const round = isUndefined(opts.round) ? true : opts.round, + format = (c, unit) => { + c = roundTo(c, round || opts.calendary ? 0 : 2, true); + const formatter = end.loc.clone(opts).relFormatter(opts); + return formatter.format(c, unit); + }, + differ = unit => { + if (opts.calendary) { + if (!end.hasSame(start, unit)) { + return end.startOf(unit).diff(start.startOf(unit), unit).get(unit); + } else return 0; + } else { + return end.diff(start, unit).get(unit); + } + }; + + if (opts.unit) { + return format(differ(opts.unit), opts.unit); + } + + for (const unit of opts.units) { + const count = differ(unit); + + if (Math.abs(count) >= 1) { + return format(count, unit); + } + } + + return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]); +} + +function lastOpts(argList) { + let opts = {}, + args; + + if (argList.length > 0 && typeof argList[argList.length - 1] === "object") { + opts = argList[argList.length - 1]; + args = Array.from(argList).slice(0, argList.length - 1); + } else { + args = Array.from(argList); + } + + return [opts, args]; +} +/** + * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them. + * + * A DateTime comprises of: + * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch. + * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone). + * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`. + * + * Here is a brief overview of the most commonly used functionality it provides: + * + * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}. + * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month}, + * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors. + * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors. + * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors. + * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}. + * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}. + * + * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation. + */ + + +class DateTime { + /** + * @access private + */ + constructor(config) { + const zone = config.zone || Settings.defaultZone; + let invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid("invalid input") : null) || (!zone.isValid ? unsupportedZone(zone) : null); + /** + * @access private + */ + + this.ts = isUndefined(config.ts) ? Settings.now() : config.ts; + let c = null, + o = null; + + if (!invalid) { + const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone); + + if (unchanged) { + [c, o] = [config.old.c, config.old.o]; + } else { + const ot = zone.offset(this.ts); + c = tsToObj(this.ts, ot); + invalid = Number.isNaN(c.year) ? new Invalid("invalid input") : null; + c = invalid ? null : c; + o = invalid ? null : ot; + } + } + /** + * @access private + */ + + + this._zone = zone; + /** + * @access private + */ + + this.loc = config.loc || Locale.create(); + /** + * @access private + */ + + this.invalid = invalid; + /** + * @access private + */ + + this.weekData = null; + /** + * @access private + */ + + this.c = c; + /** + * @access private + */ + + this.o = o; + /** + * @access private + */ + + this.isLuxonDateTime = true; + } // CONSTRUCT + + /** + * Create a DateTime for the current instant, in the system's time zone. + * + * Use Settings to override these default values if needed. + * @example DateTime.now().toISO() //~> now in the ISO format + * @return {DateTime} + */ + + + static now() { + return new DateTime({}); + } + /** + * Create a local DateTime + * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month, 1-indexed + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @example DateTime.local() //~> now + * @example DateTime.local({ zone: "America/New_York" }) //~> now, in US east coast time + * @example DateTime.local(2017) //~> 2017-01-01T00:00:00 + * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00 + * @example DateTime.local(2017, 3, 12, { locale: "fr" }) //~> 2017-03-12T00:00:00, with a French locale + * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00 + * @example DateTime.local(2017, 3, 12, 5, { zone: "utc" }) //~> 2017-03-12T05:00:00, in UTC + * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00 + * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10 + * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765 + * @return {DateTime} + */ + + + static local() { + const [opts, args] = lastOpts(arguments), + [year, month, day, hour, minute, second, millisecond] = args; + return quickDT({ + year, + month, + day, + hour, + minute, + second, + millisecond + }, opts); + } + /** + * Create a DateTime in UTC + * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used + * @param {number} [month=1] - The month, 1-indexed + * @param {number} [day=1] - The day of the month + * @param {number} [hour=0] - The hour of the day, in 24-hour time + * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59 + * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59 + * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999 + * @param {Object} options - configuration options for the DateTime + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.utc() //~> now + * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z + * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z + * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z + * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z + * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: "fr" }) //~> 2017-03-12T05:45:00Z with a French locale + * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z + * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: "fr" }) //~> 2017-03-12T05:45:10.765Z with a French locale + * @return {DateTime} + */ + + + static utc() { + const [opts, args] = lastOpts(arguments), + [year, month, day, hour, minute, second, millisecond] = args; + opts.zone = FixedOffsetZone.utcInstance; + return quickDT({ + year, + month, + day, + hour, + minute, + second, + millisecond + }, opts); + } + /** + * Create a DateTime from a JavaScript Date object. Uses the default zone. + * @param {Date} date - a JavaScript Date object + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @return {DateTime} + */ + + + static fromJSDate(date, options = {}) { + const ts = isDate(date) ? date.valueOf() : NaN; + + if (Number.isNaN(ts)) { + return DateTime.invalid("invalid input"); + } + + const zoneToUse = normalizeZone(options.zone, Settings.defaultZone); + + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + return new DateTime({ + ts: ts, + zone: zoneToUse, + loc: Locale.fromObject(options) + }); + } + /** + * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} milliseconds - a number of milliseconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + + + static fromMillis(milliseconds, options = {}) { + if (!isNumber(milliseconds)) { + throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`); + } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) { + // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start + return DateTime.invalid("Timestamp out of range"); + } else { + return new DateTime({ + ts: milliseconds, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options) + }); + } + } + /** + * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone. + * @param {number} seconds - a number of seconds since 1970 UTC + * @param {Object} options - configuration options for the DateTime + * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into + * @param {string} [options.locale] - a locale to set on the resulting DateTime instance + * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance + * @return {DateTime} + */ + + + static fromSeconds(seconds, options = {}) { + if (!isNumber(seconds)) { + throw new InvalidArgumentError("fromSeconds requires a numerical input"); + } else { + return new DateTime({ + ts: seconds * 1000, + zone: normalizeZone(options.zone, Settings.defaultZone), + loc: Locale.fromObject(options) + }); + } + } + /** + * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults. + * @param {Object} obj - the object to create the DateTime from + * @param {number} obj.year - a year, such as 1987 + * @param {number} obj.month - a month, 1-12 + * @param {number} obj.day - a day of the month, 1-31, depending on the month + * @param {number} obj.ordinal - day of the year, 1-365 or 366 + * @param {number} obj.weekYear - an ISO week year + * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year + * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday + * @param {number} obj.hour - hour of the day, 0-23 + * @param {number} obj.minute - minute of the hour, 0-59 + * @param {number} obj.second - second of the minute, 0-59 + * @param {number} obj.millisecond - millisecond of the second, 0-999 + * @param {Object} opts - options for creating this DateTime + * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone() + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25' + * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01' + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06 + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }), + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' }) + * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' }) + * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13' + * @return {DateTime} + */ + + + static fromObject(obj, opts = {}) { + obj = obj || {}; + const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone); + + if (!zoneToUse.isValid) { + return DateTime.invalid(unsupportedZone(zoneToUse)); + } + + const tsNow = Settings.now(), + offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow), + normalized = normalizeObject(obj, normalizeUnit), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber, + loc = Locale.fromObject(opts); // cases: + // just a weekday -> this week's instance of that weekday, no worries + // (gregorian data or ordinal) + (weekYear or weekNumber) -> error + // (gregorian month or day) + ordinal -> error + // otherwise just use weeks or ordinals or gregorian, depending on what's specified + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals"); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + const useWeekData = definiteWeekDef || normalized.weekday && !containsGregor; // configure ourselves to deal with gregorian dates or week stuff + + let units, + defaultValues, + objNow = tsToObj(tsNow, offsetProvis); + + if (useWeekData) { + units = orderedWeekUnits; + defaultValues = defaultWeekUnitValues; + objNow = gregorianToWeek(objNow); + } else if (containsOrdinal) { + units = orderedOrdinalUnits; + defaultValues = defaultOrdinalUnitValues; + objNow = gregorianToOrdinal(objNow); + } else { + units = orderedUnits; + defaultValues = defaultUnitValues; + } // set default values for missing stuff + + + let foundFirst = false; + + for (const u of units) { + const v = normalized[u]; + + if (!isUndefined(v)) { + foundFirst = true; + } else if (foundFirst) { + normalized[u] = defaultValues[u]; + } else { + normalized[u] = objNow[u]; + } + } // make sure the values we have are in range + + + const higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized), + invalid = higherOrderInvalid || hasInvalidTimeData(normalized); + + if (invalid) { + return DateTime.invalid(invalid); + } // compute the actual time + + + const gregorian = useWeekData ? weekToGregorian(normalized) : containsOrdinal ? ordinalToGregorian(normalized) : normalized, + [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse), + inst = new DateTime({ + ts: tsFinal, + zone: zoneToUse, + o: offsetFinal, + loc + }); // gregorian data + weekday serves only to validate + + if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) { + return DateTime.invalid("mismatched weekday", `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`); + } + + return inst; + } + /** + * Create a DateTime from an ISO 8601 string + * @param {string} text - the ISO string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance + * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromISO('2016-05-25T09:08:34.123') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00') + * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true}) + * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'}) + * @example DateTime.fromISO('2016-W05-4') + * @return {DateTime} + */ + + + static fromISO(text, opts = {}) { + const [vals, parsedZone] = parseISODate(text); + return parseDataToDateTime(vals, parsedZone, opts, "ISO 8601", text); + } + /** + * Create a DateTime from an RFC 2822 string + * @param {string} text - the RFC 2822 string + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT') + * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600') + * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z') + * @return {DateTime} + */ + + + static fromRFC2822(text, opts = {}) { + const [vals, parsedZone] = parseRFC2822Date(text); + return parseDataToDateTime(vals, parsedZone, opts, "RFC 2822", text); + } + /** + * Create a DateTime from an HTTP header date + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @param {string} text - the HTTP header date + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in. + * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods. + * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance + * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT') + * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT') + * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994') + * @return {DateTime} + */ + + + static fromHTTP(text, opts = {}) { + const [vals, parsedZone] = parseHTTPDate(text); + return parseDataToDateTime(vals, parsedZone, opts, "HTTP", opts); + } + /** + * Create a DateTime from an input string and format string. + * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens). + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see the link below for the formats) + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @return {DateTime} + */ + + + static fromFormat(text, fmt, opts = {}) { + if (isUndefined(text) || isUndefined(fmt)) { + throw new InvalidArgumentError("fromFormat requires an input string and a format"); + } + + const { + locale = null, + numberingSystem = null + } = opts, + localeToUse = Locale.fromOpts({ + locale, + numberingSystem, + defaultToEN: true + }), + [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt); + + if (invalid) { + return DateTime.invalid(invalid); + } else { + return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset); + } + } + /** + * @deprecated use fromFormat instead + */ + + + static fromString(text, fmt, opts = {}) { + return DateTime.fromFormat(text, fmt, opts); + } + /** + * Create a DateTime from a SQL date, time, or datetime + * Defaults to en-US if no locale has been specified, regardless of the system's locale + * @param {string} text - the string to parse + * @param {Object} opts - options to affect the creation + * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone + * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one + * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale + * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system + * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance + * @example DateTime.fromSQL('2017-05-15') + * @example DateTime.fromSQL('2017-05-15 09:12:34') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles') + * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true }) + * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' }) + * @example DateTime.fromSQL('09:12:34.342') + * @return {DateTime} + */ + + + static fromSQL(text, opts = {}) { + const [vals, parsedZone] = parseSQL(text); + return parseDataToDateTime(vals, parsedZone, opts, "SQL", text); + } + /** + * Create an invalid DateTime. + * @param {DateTime} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent + * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information + * @return {DateTime} + */ + + + static invalid(reason, explanation = null) { + if (!reason) { + throw new InvalidArgumentError("need to specify a reason the DateTime is invalid"); + } + + const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation); + + if (Settings.throwOnInvalid) { + throw new InvalidDateTimeError(invalid); + } else { + return new DateTime({ + invalid + }); + } + } + /** + * Check if an object is an instance of DateTime. Works across context boundaries + * @param {object} o + * @return {boolean} + */ + + + static isDateTime(o) { + return o && o.isLuxonDateTime || false; + } + /** + * Produce the format string for a set of options + * @param formatOpts + * @param localeOpts + * @returns {string} + */ + + + static parseFormatForOpts(formatOpts, localeOpts = {}) { + const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts)); + return !tokenList ? null : tokenList.map(t => t ? t.val : null).join(""); + } + /** + * Produce the the fully expanded format token for the locale + * Does NOT quote characters, so quoted tokens will not round trip correctly + * @param fmt + * @param localeOpts + * @returns {string} + */ + + + static expandFormat(fmt, localeOpts = {}) { + const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts)); + return expanded.map(t => t.val).join(""); + } // INFO + + /** + * Get the value of unit. + * @param {string} unit - a unit such as 'minute' or 'day' + * @example DateTime.local(2017, 7, 4).get('month'); //=> 7 + * @example DateTime.local(2017, 7, 4).get('day'); //=> 4 + * @return {number} + */ + + + get(unit) { + return this[unit]; + } + /** + * Returns whether the DateTime is valid. Invalid DateTimes occur when: + * * The DateTime was created from invalid calendar information, such as the 13th month or February 30 + * * The DateTime was created by an operation on another invalid date + * @type {boolean} + */ + + + get isValid() { + return this.invalid === null; + } + /** + * Returns an error code if this DateTime is invalid, or null if the DateTime is valid + * @type {string} + */ + + + get invalidReason() { + return this.invalid ? this.invalid.reason : null; + } + /** + * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid + * @type {string} + */ + + + get invalidExplanation() { + return this.invalid ? this.invalid.explanation : null; + } + /** + * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime + * + * @type {string} + */ + + + get locale() { + return this.isValid ? this.loc.locale : null; + } + /** + * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime + * + * @type {string} + */ + + + get numberingSystem() { + return this.isValid ? this.loc.numberingSystem : null; + } + /** + * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime + * + * @type {string} + */ + + + get outputCalendar() { + return this.isValid ? this.loc.outputCalendar : null; + } + /** + * Get the time zone associated with this DateTime. + * @type {Zone} + */ + + + get zone() { + return this._zone; + } + /** + * Get the name of the time zone. + * @type {string} + */ + + + get zoneName() { + return this.isValid ? this.zone.name : null; + } + /** + * Get the year + * @example DateTime.local(2017, 5, 25).year //=> 2017 + * @type {number} + */ + + + get year() { + return this.isValid ? this.c.year : NaN; + } + /** + * Get the quarter + * @example DateTime.local(2017, 5, 25).quarter //=> 2 + * @type {number} + */ + + + get quarter() { + return this.isValid ? Math.ceil(this.c.month / 3) : NaN; + } + /** + * Get the month (1-12). + * @example DateTime.local(2017, 5, 25).month //=> 5 + * @type {number} + */ + + + get month() { + return this.isValid ? this.c.month : NaN; + } + /** + * Get the day of the month (1-30ish). + * @example DateTime.local(2017, 5, 25).day //=> 25 + * @type {number} + */ + + + get day() { + return this.isValid ? this.c.day : NaN; + } + /** + * Get the hour of the day (0-23). + * @example DateTime.local(2017, 5, 25, 9).hour //=> 9 + * @type {number} + */ + + + get hour() { + return this.isValid ? this.c.hour : NaN; + } + /** + * Get the minute of the hour (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30 + * @type {number} + */ + + + get minute() { + return this.isValid ? this.c.minute : NaN; + } + /** + * Get the second of the minute (0-59). + * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52 + * @type {number} + */ + + + get second() { + return this.isValid ? this.c.second : NaN; + } + /** + * Get the millisecond of the second (0-999). + * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654 + * @type {number} + */ + + + get millisecond() { + return this.isValid ? this.c.millisecond : NaN; + } + /** + * Get the week year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 12, 31).weekYear //=> 2015 + * @type {number} + */ + + + get weekYear() { + return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN; + } + /** + * Get the week number of the week year (1-52ish). + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2017, 5, 25).weekNumber //=> 21 + * @type {number} + */ + + + get weekNumber() { + return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN; + } + /** + * Get the day of the week. + * 1 is Monday and 7 is Sunday + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2014, 11, 31).weekday //=> 4 + * @type {number} + */ + + + get weekday() { + return this.isValid ? possiblyCachedWeekData(this).weekday : NaN; + } + /** + * Get the ordinal (meaning the day of the year) + * @example DateTime.local(2017, 5, 25).ordinal //=> 145 + * @type {number|DateTime} + */ + + + get ordinal() { + return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN; + } + /** + * Get the human readable short month name, such as 'Oct'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthShort //=> Oct + * @type {string} + */ + + + get monthShort() { + return this.isValid ? Info.months("short", { + locObj: this.loc + })[this.month - 1] : null; + } + /** + * Get the human readable long month name, such as 'October'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).monthLong //=> October + * @type {string} + */ + + + get monthLong() { + return this.isValid ? Info.months("long", { + locObj: this.loc + })[this.month - 1] : null; + } + /** + * Get the human readable short weekday, such as 'Mon'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon + * @type {string} + */ + + + get weekdayShort() { + return this.isValid ? Info.weekdays("short", { + locObj: this.loc + })[this.weekday - 1] : null; + } + /** + * Get the human readable long weekday, such as 'Monday'. + * Defaults to the system's locale if no locale has been specified + * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday + * @type {string} + */ + + + get weekdayLong() { + return this.isValid ? Info.weekdays("long", { + locObj: this.loc + })[this.weekday - 1] : null; + } + /** + * Get the UTC offset of this DateTime in minutes + * @example DateTime.now().offset //=> -240 + * @example DateTime.utc().offset //=> 0 + * @type {number} + */ + + + get offset() { + return this.isValid ? +this.o : NaN; + } + /** + * Get the short human name for the zone's current offset, for example "EST" or "EDT". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + + + get offsetNameShort() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "short", + locale: this.locale + }); + } else { + return null; + } + } + /** + * Get the long human name for the zone's current offset, for example "Eastern Standard Time" or "Eastern Daylight Time". + * Defaults to the system's locale if no locale has been specified + * @type {string} + */ + + + get offsetNameLong() { + if (this.isValid) { + return this.zone.offsetName(this.ts, { + format: "long", + locale: this.locale + }); + } else { + return null; + } + } + /** + * Get whether this zone's offset ever changes, as in a DST. + * @type {boolean} + */ + + + get isOffsetFixed() { + return this.isValid ? this.zone.isUniversal : null; + } + /** + * Get whether the DateTime is in a DST. + * @type {boolean} + */ + + + get isInDST() { + if (this.isOffsetFixed) { + return false; + } else { + return this.offset > this.set({ + month: 1, + day: 1 + }).offset || this.offset > this.set({ + month: 5 + }).offset; + } + } + /** + * Returns true if this DateTime is in a leap year, false otherwise + * @example DateTime.local(2016).isInLeapYear //=> true + * @example DateTime.local(2013).isInLeapYear //=> false + * @type {boolean} + */ + + + get isInLeapYear() { + return isLeapYear(this.year); + } + /** + * Returns the number of days in this DateTime's month + * @example DateTime.local(2016, 2).daysInMonth //=> 29 + * @example DateTime.local(2016, 3).daysInMonth //=> 31 + * @type {number} + */ + + + get daysInMonth() { + return daysInMonth(this.year, this.month); + } + /** + * Returns the number of days in this DateTime's year + * @example DateTime.local(2016).daysInYear //=> 366 + * @example DateTime.local(2013).daysInYear //=> 365 + * @type {number} + */ + + + get daysInYear() { + return this.isValid ? daysInYear(this.year) : NaN; + } + /** + * Returns the number of weeks in this DateTime's year + * @see https://en.wikipedia.org/wiki/ISO_week_date + * @example DateTime.local(2004).weeksInWeekYear //=> 53 + * @example DateTime.local(2013).weeksInWeekYear //=> 52 + * @type {number} + */ + + + get weeksInWeekYear() { + return this.isValid ? weeksInWeekYear(this.weekYear) : NaN; + } + /** + * Returns the resolved Intl options for this DateTime. + * This is useful in understanding the behavior of formatting methods + * @param {Object} opts - the same options as toLocaleString + * @return {Object} + */ + + + resolvedLocaleOptions(opts = {}) { + const { + locale, + numberingSystem, + calendar + } = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this); + return { + locale, + numberingSystem, + outputCalendar: calendar + }; + } // TRANSFORM + + /** + * "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime. + * + * Equivalent to {@link DateTime#setZone}('utc') + * @param {number} [offset=0] - optionally, an offset from UTC in minutes + * @param {Object} [opts={}] - options to pass to `setZone()` + * @return {DateTime} + */ + + + toUTC(offset = 0, opts = {}) { + return this.setZone(FixedOffsetZone.instance(offset), opts); + } + /** + * "Set" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime. + * + * Equivalent to `setZone('local')` + * @return {DateTime} + */ + + + toLocal() { + return this.setZone(Settings.defaultZone); + } + /** + * "Set" the DateTime's zone to specified zone. Returns a newly-constructed DateTime. + * + * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones. + * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class. + * @param {Object} opts - options + * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this. + * @return {DateTime} + */ + + + setZone(zone, { + keepLocalTime = false, + keepCalendarTime = false + } = {}) { + zone = normalizeZone(zone, Settings.defaultZone); + + if (zone.equals(this.zone)) { + return this; + } else if (!zone.isValid) { + return DateTime.invalid(unsupportedZone(zone)); + } else { + let newTS = this.ts; + + if (keepLocalTime || keepCalendarTime) { + const offsetGuess = zone.offset(this.ts); + const asObj = this.toObject(); + [newTS] = objToTS(asObj, offsetGuess, zone); + } + + return clone(this, { + ts: newTS, + zone + }); + } + } + /** + * "Set" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime. + * @param {Object} properties - the properties to set + * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' }) + * @return {DateTime} + */ + + + reconfigure({ + locale, + numberingSystem, + outputCalendar + } = {}) { + const loc = this.loc.clone({ + locale, + numberingSystem, + outputCalendar + }); + return clone(this, { + loc + }); + } + /** + * "Set" the locale. Returns a newly-constructed DateTime. + * Just a convenient alias for reconfigure({ locale }) + * @example DateTime.local(2017, 5, 25).setLocale('en-GB') + * @return {DateTime} + */ + + + setLocale(locale) { + return this.reconfigure({ + locale + }); + } + /** + * "Set" the values of specified units. Returns a newly-constructed DateTime. + * You can only set units with this method; for "setting" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}. + * @param {Object} values - a mapping of units to numbers + * @example dt.set({ year: 2017 }) + * @example dt.set({ hour: 8, minute: 30 }) + * @example dt.set({ weekday: 5 }) + * @example dt.set({ year: 2005, ordinal: 234 }) + * @return {DateTime} + */ + + + set(values) { + if (!this.isValid) return this; + const normalized = normalizeObject(values, normalizeUnit), + settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday), + containsOrdinal = !isUndefined(normalized.ordinal), + containsGregorYear = !isUndefined(normalized.year), + containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), + containsGregor = containsGregorYear || containsGregorMD, + definiteWeekDef = normalized.weekYear || normalized.weekNumber; + + if ((containsGregor || containsOrdinal) && definiteWeekDef) { + throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals"); + } + + if (containsGregorMD && containsOrdinal) { + throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day"); + } + + let mixed; + + if (settingWeekStuff) { + mixed = weekToGregorian({ ...gregorianToWeek(this.c), + ...normalized + }); + } else if (!isUndefined(normalized.ordinal)) { + mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), + ...normalized + }); + } else { + mixed = { ...this.toObject(), + ...normalized + }; // if we didn't set the day but we ended up on an overflow date, + // use the last day of the right month + + if (isUndefined(normalized.day)) { + mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day); + } + } + + const [ts, o] = objToTS(mixed, this.o, this.zone); + return clone(this, { + ts, + o + }); + } + /** + * Add a period of time to this DateTime and return the resulting DateTime + * + * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between. + * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + * @example DateTime.now().plus(123) //~> in 123 milliseconds + * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes + * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow + * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday + * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min + * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min + * @return {DateTime} + */ + + + plus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration); + return clone(this, adjustTime(this, dur)); + } + /** + * Subtract a period of time to this DateTime and return the resulting DateTime + * See {@link DateTime#plus} + * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject() + @return {DateTime} + */ + + + minus(duration) { + if (!this.isValid) return this; + const dur = Duration.fromDurationLike(duration).negate(); + return clone(this, adjustTime(this, dur)); + } + /** + * "Set" this DateTime to the beginning of a unit of time. + * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01' + * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01' + * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00' + * @return {DateTime} + */ + + + startOf(unit) { + if (!this.isValid) return this; + const o = {}, + normalizedUnit = Duration.normalizeUnit(unit); + + switch (normalizedUnit) { + case "years": + o.month = 1; + // falls through + + case "quarters": + case "months": + o.day = 1; + // falls through + + case "weeks": + case "days": + o.hour = 0; + // falls through + + case "hours": + o.minute = 0; + // falls through + + case "minutes": + o.second = 0; + // falls through + + case "seconds": + o.millisecond = 0; + break; + // no default, invalid units throw in normalizeUnit() + } + + if (normalizedUnit === "weeks") { + o.weekday = 1; + } + + if (normalizedUnit === "quarters") { + const q = Math.ceil(this.month / 3); + o.month = (q - 1) * 3 + 1; + } + + return this.set(o); + } + /** + * "Set" this DateTime to the end (meaning the last millisecond) of a unit of time + * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'. + * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00' + * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00' + * @return {DateTime} + */ + + + endOf(unit) { + return this.isValid ? this.plus({ + [unit]: 1 + }).startOf(unit).minus(1) : this; + } // OUTPUT + + /** + * Returns a string representation of this DateTime formatted according to the specified format string. + * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). + * Defaults to en-US if no locale has been specified, regardless of the system's locale. + * @param {string} fmt - the format string + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22' + * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22' + * @example DateTime.now().toFormat('yyyy LLL dd', { locale: "fr" }) //=> '2017 avr. 22' + * @example DateTime.now().toFormat("HH 'hours and' mm 'minutes'") //=> '20 hours and 55 minutes' + * @return {string} + */ + + + toFormat(fmt, opts = {}) { + return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID; + } + /** + * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`. + * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation + * of the DateTime in the assigned locale. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat + * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options + * @param {Object} opts - opts to override the configuration options on this DateTime + * @example DateTime.now().toLocaleString(); //=> 4/20/2017 + * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017' + * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017' + * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022' + * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM' + * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM' + * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20' + * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM' + * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32' + * @return {string} + */ + + + toLocaleString(formatOpts = DATE_SHORT, opts = {}) { + return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID; + } + /** + * Returns an array of format "parts", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output. + * Defaults to the system's locale if no locale has been specified + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts + * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`. + * @example DateTime.now().toLocaleParts(); //=> [ + * //=> { type: 'day', value: '25' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'month', value: '05' }, + * //=> { type: 'literal', value: '/' }, + * //=> { type: 'year', value: '1982' } + * //=> ] + */ + + + toLocaleParts(opts = {}) { + return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : []; + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.extendedZone=false] - add the time zone format extension + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z' + * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00' + * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335' + * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400' + * @return {string} + */ + + + toISO({ + format = "extended", + suppressSeconds = false, + suppressMilliseconds = false, + includeOffset = true, + extendedZone = false + } = {}) { + if (!this.isValid) { + return null; + } + + const ext = format === "extended"; + let c = toISODate(this, ext); + c += "T"; + c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone); + return c; + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's date component + * @param {Object} opts - options + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25' + * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525' + * @return {string} + */ + + + toISODate({ + format = "extended" + } = {}) { + if (!this.isValid) { + return null; + } + + return toISODate(this, format === "extended"); + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's week date + * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2' + * @return {string} + */ + + + toISOWeekDate() { + return toTechFormat(this, "kkkk-'W'WW-c"); + } + /** + * Returns an ISO 8601-compliant string representation of this DateTime's time component + * @param {Object} opts - options + * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0 + * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0 + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.extendedZone=true] - add the time zone format extension + * @param {boolean} [opts.includePrefix=false] - include the `T` prefix + * @param {string} [opts.format='extended'] - choose between the basic and extended format + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z' + * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z' + * @return {string} + */ + + + toISOTime({ + suppressMilliseconds = false, + suppressSeconds = false, + includeOffset = true, + includePrefix = false, + extendedZone = false, + format = "extended" + } = {}) { + if (!this.isValid) { + return null; + } + + let c = includePrefix ? "T" : ""; + return c + toISOTime(this, format === "extended", suppressSeconds, suppressMilliseconds, includeOffset, extendedZone); + } + /** + * Returns an RFC 2822-compatible string representation of this DateTime + * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000' + * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400' + * @return {string} + */ + + + toRFC2822() { + return toTechFormat(this, "EEE, dd LLL yyyy HH:mm:ss ZZZ", false); + } + /** + * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT. + * Specifically, the string conforms to RFC 1123. + * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 + * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT' + * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT' + * @return {string} + */ + + + toHTTP() { + return toTechFormat(this.toUTC(), "EEE, dd LLL yyyy HH:mm:ss 'GMT'"); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL Date + * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13' + * @return {string} + */ + + + toSQLDate() { + if (!this.isValid) { + return null; + } + + return toISODate(this, true); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL Time + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00' + * @example DateTime.utc().toSQL() //=> '05:15:16.345' + * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00' + * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345' + * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York' + * @return {string} + */ + + + toSQLTime({ + includeOffset = true, + includeZone = false, + includeOffsetSpace = true + } = {}) { + let fmt = "HH:mm:ss.SSS"; + + if (includeZone || includeOffset) { + if (includeOffsetSpace) { + fmt += " "; + } + + if (includeZone) { + fmt += "z"; + } else if (includeOffset) { + fmt += "ZZ"; + } + } + + return toTechFormat(this, fmt, true); + } + /** + * Returns a string representation of this DateTime appropriate for use in SQL DateTime + * @param {Object} opts - options + * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset. + * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00' + * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00' + * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z' + * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00' + * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000' + * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York' + * @return {string} + */ + + + toSQL(opts = {}) { + if (!this.isValid) { + return null; + } + + return `${this.toSQLDate()} ${this.toSQLTime(opts)}`; + } + /** + * Returns a string representation of this DateTime appropriate for debugging + * @return {string} + */ + + + toString() { + return this.isValid ? this.toISO() : INVALID; + } + /** + * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis} + * @return {number} + */ + + + valueOf() { + return this.toMillis(); + } + /** + * Returns the epoch milliseconds of this DateTime. + * @return {number} + */ + + + toMillis() { + return this.isValid ? this.ts : NaN; + } + /** + * Returns the epoch seconds of this DateTime. + * @return {number} + */ + + + toSeconds() { + return this.isValid ? this.ts / 1000 : NaN; + } + /** + * Returns the epoch seconds (as a whole number) of this DateTime. + * @return {number} + */ + + + toUnixInteger() { + return this.isValid ? Math.floor(this.ts / 1000) : NaN; + } + /** + * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON. + * @return {string} + */ + + + toJSON() { + return this.toISO(); + } + /** + * Returns a BSON serializable equivalent to this DateTime. + * @return {Date} + */ + + + toBSON() { + return this.toJSDate(); + } + /** + * Returns a JavaScript object with this DateTime's year, month, day, and so on. + * @param opts - options for generating the object + * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output + * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 } + * @return {Object} + */ + + + toObject(opts = {}) { + if (!this.isValid) return {}; + const base = { ...this.c + }; + + if (opts.includeConfig) { + base.outputCalendar = this.outputCalendar; + base.numberingSystem = this.loc.numberingSystem; + base.locale = this.loc.locale; + } + + return base; + } + /** + * Returns a JavaScript Date equivalent to this DateTime. + * @return {Date} + */ + + + toJSDate() { + return new Date(this.isValid ? this.ts : NaN); + } // COMPARE + + /** + * Return the difference between two DateTimes as a Duration. + * @param {DateTime} otherDateTime - the DateTime to compare this one to + * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration. + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @example + * var i1 = DateTime.fromISO('1982-05-25T09:45'), + * i2 = DateTime.fromISO('1983-10-14T10:30'); + * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 } + * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 } + * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 } + * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 } + * @return {Duration} + */ + + + diff(otherDateTime, unit = "milliseconds", opts = {}) { + if (!this.isValid || !otherDateTime.isValid) { + return Duration.invalid("created by diffing an invalid DateTime"); + } + + const durOpts = { + locale: this.locale, + numberingSystem: this.numberingSystem, + ...opts + }; + const units = maybeArray(unit).map(Duration.normalizeUnit), + otherIsLater = otherDateTime.valueOf() > this.valueOf(), + earlier = otherIsLater ? this : otherDateTime, + later = otherIsLater ? otherDateTime : this, + diffed = diff(earlier, later, units, durOpts); + return otherIsLater ? diffed.negate() : diffed; + } + /** + * Return the difference between this DateTime and right now. + * See {@link DateTime#diff} + * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration + * @param {Object} opts - options that affect the creation of the Duration + * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use + * @return {Duration} + */ + + + diffNow(unit = "milliseconds", opts = {}) { + return this.diff(DateTime.now(), unit, opts); + } + /** + * Return an Interval spanning between this DateTime and another DateTime + * @param {DateTime} otherDateTime - the other end point of the Interval + * @return {Interval} + */ + + + until(otherDateTime) { + return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this; + } + /** + * Return whether this DateTime is in the same unit of time as another DateTime. + * Higher-order units must also be identical for this function to return `true`. + * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed. + * @param {DateTime} otherDateTime - the other DateTime + * @param {string} unit - the unit of time to check sameness on + * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day + * @return {boolean} + */ + + + hasSame(otherDateTime, unit) { + if (!this.isValid) return false; + const inputMs = otherDateTime.valueOf(); + const adjustedToZone = this.setZone(otherDateTime.zone, { + keepLocalTime: true + }); + return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit); + } + /** + * Equality check + * Two DateTimes are equal iff they represent the same millisecond, have the same zone and location, and are both valid. + * To compare just the millisecond values, use `+dt1 === +dt2`. + * @param {DateTime} other - the other DateTime + * @return {boolean} + */ + + + equals(other) { + return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc); + } + /** + * Returns a string representation of a this time relative to now, such as "in two days". Can only internationalize if your + * platform supports Intl.RelativeTimeFormat. Rounds down by default. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} [options.style="long"] - the style of units, must be "long", "short", or "narrow" + * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of "years", "quarters", "months", "weeks", "days", "hours", "minutes", or "seconds" + * @param {boolean} [options.round=true] - whether to round the numbers in the output. + * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelative() //=> "in 1 day" + * @example DateTime.now().setLocale("es").toRelative({ days: 1 }) //=> "dentro de 1 día" + * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: "fr" }) //=> "dans 23 heures" + * @example DateTime.now().minus({ days: 2 }).toRelative() //=> "2 days ago" + * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: "hours" }) //=> "48 hours ago" + * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> "1.5 days ago" + */ + + + toRelative(options = {}) { + if (!this.isValid) return null; + const base = options.base || DateTime.fromObject({}, { + zone: this.zone + }), + padding = options.padding ? this < base ? -options.padding : options.padding : 0; + let units = ["years", "months", "days", "hours", "minutes", "seconds"]; + let unit = options.unit; + + if (Array.isArray(options.unit)) { + units = options.unit; + unit = undefined; + } + + return diffRelative(base, this.plus(padding), { ...options, + numeric: "always", + units, + unit + }); + } + /** + * Returns a string representation of this date relative to today, such as "yesterday" or "next month". + * Only internationalizes on platforms that supports Intl.RelativeTimeFormat. + * @param {Object} options - options that affect the output + * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now. + * @param {string} options.locale - override the locale of this DateTime + * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of "years", "quarters", "months", "weeks", or "days" + * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> "tomorrow" + * @example DateTime.now().setLocale("es").plus({ days: 1 }).toRelative() //=> ""mañana" + * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: "fr" }) //=> "demain" + * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> "2 days ago" + */ + + + toRelativeCalendar(options = {}) { + if (!this.isValid) return null; + return diffRelative(options.base || DateTime.fromObject({}, { + zone: this.zone + }), this, { ...options, + numeric: "auto", + units: ["years", "months", "days"], + calendary: true + }); + } + /** + * Return the min of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum + * @return {DateTime} the min DateTime, or undefined if called with no argument + */ + + + static min(...dateTimes) { + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("min requires all arguments be DateTimes"); + } + + return bestBy(dateTimes, i => i.valueOf(), Math.min); + } + /** + * Return the max of several date times + * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum + * @return {DateTime} the max DateTime, or undefined if called with no argument + */ + + + static max(...dateTimes) { + if (!dateTimes.every(DateTime.isDateTime)) { + throw new InvalidArgumentError("max requires all arguments be DateTimes"); + } + + return bestBy(dateTimes, i => i.valueOf(), Math.max); + } // MISC + + /** + * Explain how a string would be parsed by fromFormat() + * @param {string} text - the string to parse + * @param {string} fmt - the format the string is expected to be in (see description) + * @param {Object} options - options taken by fromFormat() + * @return {Object} + */ + + + static fromFormatExplain(text, fmt, options = {}) { + const { + locale = null, + numberingSystem = null + } = options, + localeToUse = Locale.fromOpts({ + locale, + numberingSystem, + defaultToEN: true + }); + return explainFromTokens(localeToUse, text, fmt); + } + /** + * @deprecated use fromFormatExplain instead + */ + + + static fromStringExplain(text, fmt, options = {}) { + return DateTime.fromFormatExplain(text, fmt, options); + } // FORMAT PRESETS + + /** + * {@link DateTime#toLocaleString} format like 10/14/1983 + * @type {Object} + */ + + + static get DATE_SHORT() { + return DATE_SHORT; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983' + * @type {Object} + */ + + + static get DATE_MED() { + return DATE_MED; + } + /** + * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983' + * @type {Object} + */ + + + static get DATE_MED_WITH_WEEKDAY() { + return DATE_MED_WITH_WEEKDAY; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983' + * @type {Object} + */ + + + static get DATE_FULL() { + return DATE_FULL; + } + /** + * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983' + * @type {Object} + */ + + + static get DATE_HUGE() { + return DATE_HUGE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get TIME_SIMPLE() { + return TIME_SIMPLE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get TIME_WITH_SECONDS() { + return TIME_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get TIME_WITH_SHORT_OFFSET() { + return TIME_WITH_SHORT_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get TIME_WITH_LONG_OFFSET() { + return TIME_WITH_LONG_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30', always 24-hour. + * @type {Object} + */ + + + static get TIME_24_SIMPLE() { + return TIME_24_SIMPLE; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour. + * @type {Object} + */ + + + static get TIME_24_WITH_SECONDS() { + return TIME_24_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour. + * @type {Object} + */ + + + static get TIME_24_WITH_SHORT_OFFSET() { + return TIME_24_WITH_SHORT_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour. + * @type {Object} + */ + + + static get TIME_24_WITH_LONG_OFFSET() { + return TIME_24_WITH_LONG_OFFSET; + } + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_SHORT() { + return DATETIME_SHORT; + } + /** + * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_SHORT_WITH_SECONDS() { + return DATETIME_SHORT_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_MED() { + return DATETIME_MED; + } + /** + * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_MED_WITH_SECONDS() { + return DATETIME_MED_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_MED_WITH_WEEKDAY() { + return DATETIME_MED_WITH_WEEKDAY; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_FULL() { + return DATETIME_FULL; + } + /** + * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_FULL_WITH_SECONDS() { + return DATETIME_FULL_WITH_SECONDS; + } + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_HUGE() { + return DATETIME_HUGE; + } + /** + * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is. + * @type {Object} + */ + + + static get DATETIME_HUGE_WITH_SECONDS() { + return DATETIME_HUGE_WITH_SECONDS; + } + +} +/** + * @private + */ + +function friendlyDateTime(dateTimeish) { + if (DateTime.isDateTime(dateTimeish)) { + return dateTimeish; + } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) { + return DateTime.fromJSDate(dateTimeish); + } else if (dateTimeish && typeof dateTimeish === "object") { + return DateTime.fromObject(dateTimeish); + } else { + throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`); + } +} + +const VERSION = "3.1.0"; + +exports.DateTime = DateTime; +exports.Duration = Duration; +exports.FixedOffsetZone = FixedOffsetZone; +exports.IANAZone = IANAZone; +exports.Info = Info; +exports.Interval = Interval; +exports.InvalidZone = InvalidZone; +exports.Settings = Settings; +exports.SystemZone = SystemZone; +exports.VERSION = VERSION; +exports.Zone = Zone; +//# sourceMappingURL=luxon.js.map + + +/***/ }), + +/***/ 7936: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var moment = module.exports = __nccwpck_require__(6345); +moment.tz.load(__nccwpck_require__(1128)); + + +/***/ }), + +/***/ 6345: +/***/ (function(module, __unused_webpack_exports, __nccwpck_require__) { + +//! moment-timezone.js +//! version : 0.5.38 +//! Copyright (c) JS Foundation and other contributors +//! license : MIT +//! github.com/moment/moment-timezone + +(function (root, factory) { + "use strict"; + + /*global define*/ + if ( true && module.exports) { + module.exports = factory(__nccwpck_require__(9623)); // Node + } else if (typeof define === 'function' && define.amd) { + define(['moment'], factory); // AMD + } else { + factory(root.moment); // Browser + } +}(this, function (moment) { + "use strict"; + + // Resolves es6 module loading issue + if (moment.version === undefined && moment.default) { + moment = moment.default; + } + + // Do not load moment-timezone a second time. + // if (moment.tz !== undefined) { + // logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion); + // return moment; + // } + + var VERSION = "0.5.38", + zones = {}, + links = {}, + countries = {}, + names = {}, + guesses = {}, + cachedGuess; + + if (!moment || typeof moment.version !== 'string') { + logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/'); + } + + var momentVersion = moment.version.split('.'), + major = +momentVersion[0], + minor = +momentVersion[1]; + + // Moment.js version check + if (major < 2 || (major === 2 && minor < 6)) { + logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com'); + } + + /************************************ + Unpacking + ************************************/ + + function charCodeToInt(charCode) { + if (charCode > 96) { + return charCode - 87; + } else if (charCode > 64) { + return charCode - 29; + } + return charCode - 48; + } + + function unpackBase60(string) { + var i = 0, + parts = string.split('.'), + whole = parts[0], + fractional = parts[1] || '', + multiplier = 1, + num, + out = 0, + sign = 1; + + // handle negative numbers + if (string.charCodeAt(0) === 45) { + i = 1; + sign = -1; + } + + // handle digits before the decimal + for (i; i < whole.length; i++) { + num = charCodeToInt(whole.charCodeAt(i)); + out = 60 * out + num; + } + + // handle digits after the decimal + for (i = 0; i < fractional.length; i++) { + multiplier = multiplier / 60; + num = charCodeToInt(fractional.charCodeAt(i)); + out += num * multiplier; + } + + return out * sign; + } + + function arrayToInt (array) { + for (var i = 0; i < array.length; i++) { + array[i] = unpackBase60(array[i]); + } + } + + function intToUntil (array, length) { + for (var i = 0; i < length; i++) { + array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds + } + + array[length - 1] = Infinity; + } + + function mapIndices (source, indices) { + var out = [], i; + + for (i = 0; i < indices.length; i++) { + out[i] = source[indices[i]]; + } + + return out; + } + + function unpack (string) { + var data = string.split('|'), + offsets = data[2].split(' '), + indices = data[3].split(''), + untils = data[4].split(' '); + + arrayToInt(offsets); + arrayToInt(indices); + arrayToInt(untils); + + intToUntil(untils, indices.length); + + return { + name : data[0], + abbrs : mapIndices(data[1].split(' '), indices), + offsets : mapIndices(offsets, indices), + untils : untils, + population : data[5] | 0 + }; + } + + /************************************ + Zone object + ************************************/ + + function Zone (packedString) { + if (packedString) { + this._set(unpack(packedString)); + } + } + + Zone.prototype = { + _set : function (unpacked) { + this.name = unpacked.name; + this.abbrs = unpacked.abbrs; + this.untils = unpacked.untils; + this.offsets = unpacked.offsets; + this.population = unpacked.population; + }, + + _index : function (timestamp) { + var target = +timestamp, + untils = this.untils, + i; + + for (i = 0; i < untils.length; i++) { + if (target < untils[i]) { + return i; + } + } + }, + + countries : function () { + var zone_name = this.name; + return Object.keys(countries).filter(function (country_code) { + return countries[country_code].zones.indexOf(zone_name) !== -1; + }); + }, + + parse : function (timestamp) { + var target = +timestamp, + offsets = this.offsets, + untils = this.untils, + max = untils.length - 1, + offset, offsetNext, offsetPrev, i; + + for (i = 0; i < max; i++) { + offset = offsets[i]; + offsetNext = offsets[i + 1]; + offsetPrev = offsets[i ? i - 1 : i]; + + if (offset < offsetNext && tz.moveAmbiguousForward) { + offset = offsetNext; + } else if (offset > offsetPrev && tz.moveInvalidForward) { + offset = offsetPrev; + } + + if (target < untils[i] - (offset * 60000)) { + return offsets[i]; + } + } + + return offsets[max]; + }, + + abbr : function (mom) { + return this.abbrs[this._index(mom)]; + }, + + offset : function (mom) { + logError("zone.offset has been deprecated in favor of zone.utcOffset"); + return this.offsets[this._index(mom)]; + }, + + utcOffset : function (mom) { + return this.offsets[this._index(mom)]; + } + }; + + /************************************ + Country object + ************************************/ + + function Country (country_name, zone_names) { + this.name = country_name; + this.zones = zone_names; + } + + /************************************ + Current Timezone + ************************************/ + + function OffsetAt(at) { + var timeString = at.toTimeString(); + var abbr = timeString.match(/\([a-z ]+\)/i); + if (abbr && abbr[0]) { + // 17:56:31 GMT-0600 (CST) + // 17:56:31 GMT-0600 (Central Standard Time) + abbr = abbr[0].match(/[A-Z]/g); + abbr = abbr ? abbr.join('') : undefined; + } else { + // 17:56:31 CST + // 17:56:31 GMT+0800 (台北標準時間) + abbr = timeString.match(/[A-Z]{3,5}/g); + abbr = abbr ? abbr[0] : undefined; + } + + if (abbr === 'GMT') { + abbr = undefined; + } + + this.at = +at; + this.abbr = abbr; + this.offset = at.getTimezoneOffset(); + } + + function ZoneScore(zone) { + this.zone = zone; + this.offsetScore = 0; + this.abbrScore = 0; + } + + ZoneScore.prototype.scoreOffsetAt = function (offsetAt) { + this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset); + if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) { + this.abbrScore++; + } + }; + + function findChange(low, high) { + var mid, diff; + + while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) { + mid = new OffsetAt(new Date(low.at + diff)); + if (mid.offset === low.offset) { + low = mid; + } else { + high = mid; + } + } + + return low; + } + + function userOffsets() { + var startYear = new Date().getFullYear() - 2, + last = new OffsetAt(new Date(startYear, 0, 1)), + offsets = [last], + change, next, i; + + for (i = 1; i < 48; i++) { + next = new OffsetAt(new Date(startYear, i, 1)); + if (next.offset !== last.offset) { + change = findChange(last, next); + offsets.push(change); + offsets.push(new OffsetAt(new Date(change.at + 6e4))); + } + last = next; + } + + for (i = 0; i < 4; i++) { + offsets.push(new OffsetAt(new Date(startYear + i, 0, 1))); + offsets.push(new OffsetAt(new Date(startYear + i, 6, 1))); + } + + return offsets; + } + + function sortZoneScores (a, b) { + if (a.offsetScore !== b.offsetScore) { + return a.offsetScore - b.offsetScore; + } + if (a.abbrScore !== b.abbrScore) { + return a.abbrScore - b.abbrScore; + } + if (a.zone.population !== b.zone.population) { + return b.zone.population - a.zone.population; + } + return b.zone.name.localeCompare(a.zone.name); + } + + function addToGuesses (name, offsets) { + var i, offset; + arrayToInt(offsets); + for (i = 0; i < offsets.length; i++) { + offset = offsets[i]; + guesses[offset] = guesses[offset] || {}; + guesses[offset][name] = true; + } + } + + function guessesForUserOffsets (offsets) { + var offsetsLength = offsets.length, + filteredGuesses = {}, + out = [], + i, j, guessesOffset; + + for (i = 0; i < offsetsLength; i++) { + guessesOffset = guesses[offsets[i].offset] || {}; + for (j in guessesOffset) { + if (guessesOffset.hasOwnProperty(j)) { + filteredGuesses[j] = true; + } + } + } + + for (i in filteredGuesses) { + if (filteredGuesses.hasOwnProperty(i)) { + out.push(names[i]); + } + } + + return out; + } + + function rebuildGuess () { + + // use Intl API when available and returning valid time zone + try { + var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone; + if (intlName && intlName.length > 3) { + var name = names[normalizeName(intlName)]; + if (name) { + return name; + } + logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded."); + } + } catch (e) { + // Intl unavailable, fall back to manual guessing. + } + + var offsets = userOffsets(), + offsetsLength = offsets.length, + guesses = guessesForUserOffsets(offsets), + zoneScores = [], + zoneScore, i, j; + + for (i = 0; i < guesses.length; i++) { + zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength); + for (j = 0; j < offsetsLength; j++) { + zoneScore.scoreOffsetAt(offsets[j]); + } + zoneScores.push(zoneScore); + } + + zoneScores.sort(sortZoneScores); + + return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined; + } + + function guess (ignoreCache) { + if (!cachedGuess || ignoreCache) { + cachedGuess = rebuildGuess(); + } + return cachedGuess; + } + + /************************************ + Global Methods + ************************************/ + + function normalizeName (name) { + return (name || '').toLowerCase().replace(/\//g, '_'); + } + + function addZone (packed) { + var i, name, split, normalized; + + if (typeof packed === "string") { + packed = [packed]; + } + + for (i = 0; i < packed.length; i++) { + split = packed[i].split('|'); + name = split[0]; + normalized = normalizeName(name); + zones[normalized] = packed[i]; + names[normalized] = name; + addToGuesses(normalized, split[2].split(' ')); + } + } + + function getZone (name, caller) { + + name = normalizeName(name); + + var zone = zones[name]; + var link; + + if (zone instanceof Zone) { + return zone; + } + + if (typeof zone === 'string') { + zone = new Zone(zone); + zones[name] = zone; + return zone; + } + + // Pass getZone to prevent recursion more than 1 level deep + if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) { + zone = zones[name] = new Zone(); + zone._set(link); + zone.name = names[name]; + return zone; + } + + return null; + } + + function getNames () { + var i, out = []; + + for (i in names) { + if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) { + out.push(names[i]); + } + } + + return out.sort(); + } + + function getCountryNames () { + return Object.keys(countries); + } + + function addLink (aliases) { + var i, alias, normal0, normal1; + + if (typeof aliases === "string") { + aliases = [aliases]; + } + + for (i = 0; i < aliases.length; i++) { + alias = aliases[i].split('|'); + + normal0 = normalizeName(alias[0]); + normal1 = normalizeName(alias[1]); + + links[normal0] = normal1; + names[normal0] = alias[0]; + + links[normal1] = normal0; + names[normal1] = alias[1]; + } + } + + function addCountries (data) { + var i, country_code, country_zones, split; + if (!data || !data.length) return; + for (i = 0; i < data.length; i++) { + split = data[i].split('|'); + country_code = split[0].toUpperCase(); + country_zones = split[1].split(' '); + countries[country_code] = new Country( + country_code, + country_zones + ); + } + } + + function getCountry (name) { + name = name.toUpperCase(); + return countries[name] || null; + } + + function zonesForCountry(country, with_offset) { + country = getCountry(country); + + if (!country) return null; + + var zones = country.zones.sort(); + + if (with_offset) { + return zones.map(function (zone_name) { + var zone = getZone(zone_name); + return { + name: zone_name, + offset: zone.utcOffset(new Date()) + }; + }); + } + + return zones; + } + + function loadData (data) { + addZone(data.zones); + addLink(data.links); + addCountries(data.countries); + tz.dataVersion = data.version; + } + + function zoneExists (name) { + if (!zoneExists.didShowError) { + zoneExists.didShowError = true; + logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')"); + } + return !!getZone(name); + } + + function needsOffset (m) { + var isUnixTimestamp = (m._f === 'X' || m._f === 'x'); + return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp); + } + + function logError (message) { + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(message); + } + } + + /************************************ + moment.tz namespace + ************************************/ + + function tz (input) { + var args = Array.prototype.slice.call(arguments, 0, -1), + name = arguments[arguments.length - 1], + zone = getZone(name), + out = moment.utc.apply(null, args); + + if (zone && !moment.isMoment(input) && needsOffset(out)) { + out.add(zone.parse(out), 'minutes'); + } + + out.tz(name); + + return out; + } + + tz.version = VERSION; + tz.dataVersion = ''; + tz._zones = zones; + tz._links = links; + tz._names = names; + tz._countries = countries; + tz.add = addZone; + tz.link = addLink; + tz.load = loadData; + tz.zone = getZone; + tz.zoneExists = zoneExists; // deprecated in 0.1.0 + tz.guess = guess; + tz.names = getNames; + tz.Zone = Zone; + tz.unpack = unpack; + tz.unpackBase60 = unpackBase60; + tz.needsOffset = needsOffset; + tz.moveInvalidForward = true; + tz.moveAmbiguousForward = false; + tz.countries = getCountryNames; + tz.zonesForCountry = zonesForCountry; + + /************************************ + Interface with Moment.js + ************************************/ + + var fn = moment.fn; + + moment.tz = tz; + + moment.defaultZone = null; + + moment.updateOffset = function (mom, keepTime) { + var zone = moment.defaultZone, + offset; + + if (mom._z === undefined) { + if (zone && needsOffset(mom) && !mom._isUTC) { + mom._d = moment.utc(mom._a)._d; + mom.utc().add(zone.parse(mom), 'minutes'); + } + mom._z = zone; + } + if (mom._z) { + offset = mom._z.utcOffset(mom); + if (Math.abs(offset) < 16) { + offset = offset / 60; + } + if (mom.utcOffset !== undefined) { + var z = mom._z; + mom.utcOffset(-offset, keepTime); + mom._z = z; + } else { + mom.zone(offset, keepTime); + } + } + }; + + fn.tz = function (name, keepTime) { + if (name) { + if (typeof name !== 'string') { + throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']'); + } + this._z = getZone(name); + if (this._z) { + moment.updateOffset(this, keepTime); + } else { + logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/."); + } + return this; + } + if (this._z) { return this._z.name; } + }; + + function abbrWrap (old) { + return function () { + if (this._z) { return this._z.abbr(this); } + return old.call(this); + }; + } + + function resetZoneWrap (old) { + return function () { + this._z = null; + return old.apply(this, arguments); + }; + } + + function resetZoneWrap2 (old) { + return function () { + if (arguments.length > 0) this._z = null; + return old.apply(this, arguments); + }; + } + + fn.zoneName = abbrWrap(fn.zoneName); + fn.zoneAbbr = abbrWrap(fn.zoneAbbr); + fn.utc = resetZoneWrap(fn.utc); + fn.local = resetZoneWrap(fn.local); + fn.utcOffset = resetZoneWrap2(fn.utcOffset); + + moment.tz.setDefault = function(name) { + if (major < 2 || (major === 2 && minor < 9)) { + logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.'); + } + moment.defaultZone = name ? getZone(name) : null; + return moment; + }; + + // Cloning a moment should include the _z property. + var momentProperties = moment.momentProperties; + if (Object.prototype.toString.call(momentProperties) === '[object Array]') { + // moment 2.8.1+ + momentProperties.push('_z'); + momentProperties.push('_a'); + } else if (momentProperties) { + // moment 2.7.0 + momentProperties._z = null; + } + + // INJECT DATA + + return moment; +})); + + +/***/ }), + +/***/ 9623: +/***/ (function(module, __unused_webpack_exports, __nccwpck_require__) { + +/* module decorator */ module = __nccwpck_require__.nmd(module); +//! moment.js +//! version : 2.29.4 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com + +;(function (global, factory) { + true ? module.exports = factory() : + 0 +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks() { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback(callback) { + hookCallback = callback; + } + + function isArray(input) { + return ( + input instanceof Array || + Object.prototype.toString.call(input) === '[object Array]' + ); + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return ( + input != null && + Object.prototype.toString.call(input) === '[object Object]' + ); + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return Object.getOwnPropertyNames(obj).length === 0; + } else { + var k; + for (k in obj) { + if (hasOwnProp(obj, k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return ( + typeof input === 'number' || + Object.prototype.toString.call(input) === '[object Number]' + ); + } + + function isDate(input) { + return ( + input instanceof Date || + Object.prototype.toString.call(input) === '[object Date]' + ); + } + + function map(arr, fn) { + var res = [], + i, + arrLen = arr.length; + for (i = 0; i < arrLen; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty: false, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: false, + invalidEra: null, + invalidMonth: null, + invalidFormat: false, + userInvalidated: false, + iso: false, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: false, + weekdayMismatch: false, + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this), + len = t.length >>> 0, + i; + + for (i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m), + parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }), + isNowValid = + !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidEra && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = + isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = (hooks.momentProperties = []), + updateInProgress = false; + + function copyConfig(to, from) { + var i, + prop, + val, + momentPropertiesLen = momentProperties.length; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment(obj) { + return ( + obj instanceof Moment || (obj != null && obj._isAMomentObject != null) + ); + } + + function warn(msg) { + if ( + hooks.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && + console.warn + ) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = [], + arg, + i, + key, + argLen = arguments.length; + for (i = 0; i < argLen; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (key in arguments[0]) { + if (hasOwnProp(arguments[0], key)) { + arg += key + ': ' + arguments[0][key] + ', '; + } + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn( + msg + + '\nArguments: ' + + Array.prototype.slice.call(args).join('') + + '\n' + + new Error().stack + ); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return ( + (typeof Function !== 'undefined' && input instanceof Function) || + Object.prototype.toString.call(input) === '[object Function]' + ); + } + + function set(config) { + var prop, i; + for (i in config) { + if (hasOwnProp(config, i)) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + ); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), + prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if ( + hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop]) + ) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, + res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }; + + function calendar(key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + + absNumber + ); + } + + var formattingTokens = + /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + formatFunctions = {}, + formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), + i, + length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var defaultLongDateFormat = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }; + + function longDateFormat(key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper + .match(formattingTokens) + .map(function (tok) { + if ( + tok === 'MMMM' || + tok === 'MM' || + tok === 'DD' || + tok === 'dddd' + ) { + return tok.slice(1); + } + return tok; + }) + .join(''); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate() { + return this._invalidDate; + } + + var defaultOrdinal = '%d', + defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal(number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + w: 'a week', + ww: '%d weeks', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }; + + function relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) + ? output(number, withoutSuffix, string, isFuture) + : output.replace(/%d/i, number); + } + + function pastFuture(diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = [], + u; + for (u in unitsObj) { + if (hasOwnProp(unitsObj, u)) { + units.push({ unit: u, priority: priorities[u] }); + } + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function absFloor(number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + function makeGetSet(unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get(mom, unit) { + return mom.isValid() + ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() + : NaN; + } + + function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if ( + unit === 'FullYear' && + isLeapYear(mom.year()) && + mom.month() === 1 && + mom.date() === 29 + ) { + value = toInt(value); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( + value, + mom.month(), + daysInMonth(value, mom.month()) + ); + } else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + function stringSet(units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units), + i, + prioritizedLen = prioritized.length; + for (i = 0; i < prioritizedLen; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + var match1 = /\d/, // 0 - 9 + match2 = /\d\d/, // 00 - 99 + match3 = /\d{3}/, // 000 - 999 + match4 = /\d{4}/, // 0000 - 9999 + match6 = /[+-]?\d{6}/, // -999999 - 999999 + match1to2 = /\d\d?/, // 0 - 99 + match3to4 = /\d\d\d\d?/, // 999 - 9999 + match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 + match1to3 = /\d{1,3}/, // 0 - 999 + match1to4 = /\d{1,4}/, // 0 - 9999 + match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 + matchUnsigned = /\d+/, // 0 - inf + matchSigned = /[+-]?\d+/, // -inf - inf + matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z + matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + matchWord = + /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + regexes; + + regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function (isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape( + s + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + } + ) + ); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback, + tokenLen; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token.length; + for (i = 0; i < tokenLen; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + WEEK = 7, + WEEKDAY = 8; + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 + ? isLeapYear(year) + ? 29 + : 28 + : 31 - ((modMonth % 7) % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var defaultLocaleMonths = + 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + defaultLocaleMonthsShort = + 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + defaultMonthsShortRegex = matchWord, + defaultMonthsRegex = matchWord; + + function localeMonths(m, format) { + if (!m) { + return isArray(this._months) + ? this._months + : this._months['standalone']; + } + return isArray(this._months) + ? this._months[m.month()] + : this._months[ + (this._months.isFormat || MONTHS_IN_FORMAT).test(format) + ? 'format' + : 'standalone' + ][m.month()]; + } + + function localeMonthsShort(m, format) { + if (!m) { + return isArray(this._monthsShort) + ? this._monthsShort + : this._monthsShort['standalone']; + } + return isArray(this._monthsShort) + ? this._monthsShort[m.month()] + : this._monthsShort[ + MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + '' + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse(monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp( + '^' + this.months(mom, '').replace('.', '') + '$', + 'i' + ); + this._shortMonthsParse[i] = new RegExp( + '^' + this.monthsShort(mom, '').replace('.', '') + '$', + 'i' + ); + } + if (!strict && !this._monthsParse[i]) { + regex = + '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'MMMM' && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === 'MMM' && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth(mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); + } + + function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict + ? this._monthsShortStrictRegex + : this._monthsShortRegex; + } + } + + function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict + ? this._monthsStrictRegex + : this._monthsRegex; + } + } + + function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._monthsShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? zeroFill(y, 4) : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = + input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + function createDate(y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate(y) { + var date, args; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, + resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear, + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, + resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear, + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken( + ['w', 'ww', 'W', 'WW'], + function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + } + ); + + // HELPERS + + // LOCALES + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays(ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = + 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + defaultWeekdaysRegex = matchWord, + defaultWeekdaysShortRegex = matchWord, + defaultWeekdaysMinRegex = matchWord; + + function localeWeekdays(m, format) { + var weekdays = isArray(this._weekdays) + ? this._weekdays + : this._weekdays[ + m && m !== true && this._weekdays.isFormat.test(format) + ? 'format' + : 'standalone' + ]; + return m === true + ? shiftWeekdays(weekdays, this._week.dow) + : m + ? weekdays[m.day()] + : weekdays; + } + + function localeWeekdaysShort(m) { + return m === true + ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : m + ? this._weekdaysShort[m.day()] + : this._weekdaysShort; + } + + function localeWeekdaysMin(m) { + return m === true + ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : m + ? this._weekdaysMin[m.day()] + : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, + ii, + mom, + llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin( + mom, + '' + ).toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort( + mom, + '' + ).toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse(weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp( + '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._shortWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._minWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + } + if (!this._weekdaysParse[i]) { + regex = + '^' + + this.weekdays(mom, '') + + '|^' + + this.weekdaysShort(mom, '') + + '|^' + + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'dddd' && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'ddd' && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'dd' && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict + ? this._weekdaysStrictRegex + : this._weekdaysRegex; + } + } + + function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex; + } + } + + function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex; + } + } + + function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], + shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom, + minp, + shortp, + longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = regexEscape(this.weekdaysMin(mom, '')); + shortp = regexEscape(this.weekdaysShort(mom, '')); + longp = regexEscape(this.weekdays(mom, '')); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._weekdaysShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + this._weekdaysMinStrictRegex = new RegExp( + '^(' + minPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return ( + '' + + hFormat.apply(this) + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return ( + '' + + this.hours() + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + function meridiem(token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM(input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return (input + '').toLowerCase().charAt(0) === 'p'; + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + getSetHour = makeGetSet('Hours', true); + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse, + }; + + // internal storage for locale config files + var locales = {}, + localeFamilies = {}, + globalLocale; + + function commonPrefix(arr1, arr2) { + var i, + minl = Math.min(arr1.length, arr2.length); + for (i = 0; i < minl; i += 1) { + if (arr1[i] !== arr2[i]) { + return i; + } + } + return minl; + } + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + commonPrefix(split, next) >= j - 1 + ) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function isLocaleNameSane(name) { + // Prevent names that look like filesystem paths, i.e contain '/' or '\' + return name.match('^[^/\\\\]*$') != null; + } + + function loadLocale(name) { + var oldLocale = null, + aliasedRequire; + // TODO: Find a better way to register and load all the locales in Node + if ( + locales[name] === undefined && + "object" !== 'undefined' && + module && + module.exports && + isLocaleNameSane(name) + ) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + // mark as not found to avoid repeating expensive file require call causing high CPU + // when trying to find en-US, en_US, en-us for every format call + locales[name] = null; // null means not found + } + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } else { + if (typeof console !== 'undefined' && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn( + 'Locale ' + key + ' not found. Did you forget to load it?' + ); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var locale, + parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config, + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + + if (locales[name] != null && locales[name].parentLocale != null) { + // Update existing child locale in-place to avoid memory-leaks + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + // updateLocale is called for creating a new locale + // Set abbr so it will have a name (getters return + // undefined otherwise). + config.abbr = name; + } + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + } + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + if (name === getSetGlobalLocale()) { + getSetGlobalLocale(name); + } + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale(key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow(m) { + var overflow, + a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 + ? MONTH + : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) + ? DATE + : a[HOUR] < 0 || + a[HOUR] > 24 || + (a[HOUR] === 24 && + (a[MINUTE] !== 0 || + a[SECOND] !== 0 || + a[MILLISECOND] !== 0)) + ? HOUR + : a[MINUTE] < 0 || a[MINUTE] > 59 + ? MINUTE + : a[SECOND] < 0 || a[SECOND] > 59 + ? SECOND + : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 + ? MILLISECOND + : -1; + + if ( + getParsingFlags(m)._overflowDayOfYear && + (overflow < YEAR || overflow > DATE) + ) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + basicIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/], + ['YYYYMM', /\d{6}/, false], + ['YYYY', /\d{4}/, false], + ], + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + aspNetJsonRegex = /^\/?Date\((-?\d+)/i, + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + rfc2822 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, + }; + + // date from iso format + function configFromISO(config) { + var i, + l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, + dateFormat, + timeFormat, + tzFormat, + isoDatesLen = isoDates.length, + isoTimesLen = isoTimes.length; + + if (match) { + getParsingFlags(config).iso = true; + for (i = 0, l = isoDatesLen; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimesLen; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + function extractFromRFC2822Strings( + yearStr, + monthStr, + dayStr, + hourStr, + minuteStr, + secondStr + ) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10), + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^()]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an independent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date( + parsedInput[0], + parsedInput[1], + parsedInput[2] + ).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10), + m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)), + parsedArray; + if (match) { + parsedArray = extractFromRFC2822Strings( + match[4], + match[3], + match[2], + match[5], + match[6], + match[7] + ); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + if (config._strict) { + config._isValid = false; + } else { + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate(), + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + expectedWeekday, + yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if ( + config._dayOfYear > daysInYear(yearToUse) || + config._dayOfYear === 0 + ) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if ( + config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0 + ) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply( + null, + input + ); + expectedWeekday = config._useUTC + ? config._d.getUTCDay() + : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if ( + config._w && + typeof config._w.d !== 'undefined' && + config._w.d !== expectedWeekday + ) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults( + w.GG, + config._a[YEAR], + weekOfYear(createLocal(), 1, 4).year + ); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0, + era, + tokenLen; + + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens.length; + for (i = 0; i < tokenLen; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || + [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice( + string.indexOf(parsedInput) + parsedInput.length + ); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + + // handle era + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + scoreToBeat, + i, + currentScore, + validFormatFound, + bestFormatIsValid = false, + configfLen = config._f.length; + + if (configfLen === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < configfLen; i++) { + currentScore = 0; + validFormatFound = false; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (isValid(tempConfig)) { + validFormatFound = true; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (!bestFormatIsValid) { + if ( + scoreToBeat == null || + currentScore < scoreToBeat || + validFormatFound + ) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + if (validFormatFound) { + bestFormatIsValid = true; + } + } + } else { + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i), + dayOrDate = i.day === undefined ? i.date : i.day; + config._a = map( + [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], + function (obj) { + return obj && parseInt(obj, 10); + } + ); + + configFromArray(config); + } + + function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({ nullInput: true }); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + + if (format === true || format === false) { + strict = format; + format = undefined; + } + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ), + prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min() { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max() { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +new Date(); + }; + + var ordering = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + + function isDurationValid(m) { + var key, + unitHasDecimal = false, + i, + orderLen = ordering.length; + for (key in m) { + if ( + hasOwnProp(m, key) && + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return false; + } + } + + for (i = 0; i < orderLen; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = + +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + quarters * 3 + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration(obj) { + return obj instanceof Duration; + } + + function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ( + (dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) + ) { + diffs++; + } + } + return diffs + lengthDiff; + } + + // FORMATTING + + function offset(token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(), + sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher), + chunk, + parts, + minutes; + + if (matches === null) { + return null; + } + + chunk = matches[matches.length - 1] || []; + parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset()); + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, 'm'), + 1, + false + ); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime() { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}, + other; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = + this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal() { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset() { + return this.isValid() ? this._isUTC : false; + } + + function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + isoRegex = + /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration(input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months, + }; + } else if (isNumber(input) || !isNaN(+input)) { + duration = {}; + if (key) { + duration[key] = +input; + } else { + duration.milliseconds = +input; + } + } else if ((match = aspNetRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match + }; + } else if ((match = isoRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign), + }; + } else if (duration == null) { + // checks for null or undefined + duration = {}; + } else if ( + typeof duration === 'object' && + ('from' in duration || 'to' in duration) + ) { + diffRes = momentsDifference( + createLocal(duration.from), + createLocal(duration.to) + ); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + if (isDuration(input) && hasOwnProp(input, '_isValid')) { + ret._isValid = input._isValid; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso(inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = + other.month() - base.month() + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +base.clone().add(res.months, 'M'); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { milliseconds: 0, months: 0 }; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple( + name, + 'moment().' + + name + + '(period, number) is deprecated. Please use moment().' + + name + + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ); + tmp = val; + val = period; + period = tmp; + } + + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'), + subtract = createAdder(-1, 'subtract'); + + function isString(input) { + return typeof input === 'string' || input instanceof String; + } + + // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + function isMomentInput(input) { + return ( + isMoment(input) || + isDate(input) || + isString(input) || + isNumber(input) || + isNumberOrStringArray(input) || + isMomentInputObject(input) || + input === null || + input === undefined + ); + } + + function isMomentInputObject(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'years', + 'year', + 'y', + 'months', + 'month', + 'M', + 'days', + 'day', + 'd', + 'dates', + 'date', + 'D', + 'hours', + 'hour', + 'h', + 'minutes', + 'minute', + 'm', + 'seconds', + 'second', + 's', + 'milliseconds', + 'millisecond', + 'ms', + ], + i, + property, + propertyLen = properties.length; + + for (i = 0; i < propertyLen; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function isNumberOrStringArray(input) { + var arrayTest = isArray(input), + dataTypeTest = false; + if (arrayTest) { + dataTypeTest = + input.filter(function (item) { + return !isNumber(item) && isString(input); + }).length === 0; + } + return arrayTest && dataTypeTest; + } + + function isCalendarSpec(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'sameDay', + 'nextDay', + 'lastDay', + 'nextWeek', + 'lastWeek', + 'sameElse', + ], + i, + property; + + for (i = 0; i < properties.length; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 + ? 'sameElse' + : diff < -1 + ? 'lastWeek' + : diff < 0 + ? 'lastDay' + : diff < 1 + ? 'sameDay' + : diff < 2 + ? 'nextDay' + : diff < 7 + ? 'nextWeek' + : 'sameElse'; + } + + function calendar$1(time, formats) { + // Support for single parameter, formats only overload to the calendar function + if (arguments.length === 1) { + if (!arguments[0]) { + time = undefined; + formats = undefined; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = undefined; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = undefined; + } + } + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse', + output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + function clone() { + return new Moment(this); + } + + function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween(from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return ( + (inclusivity[0] === '(' + ? this.isAfter(localFrom, units) + : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' + ? this.isBefore(localTo, units) + : !this.isAfter(localTo, units)) + ); + } + + function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return ( + this.clone().startOf(units).valueOf() <= inputMs && + inputMs <= this.clone().endOf(units).valueOf() + ); + } + } + + function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff(input, units, asFloat) { + var that, zoneDelta, output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': + output = monthDiff(this, that) / 12; + break; + case 'month': + output = monthDiff(this, that); + break; + case 'quarter': + output = monthDiff(this, that) / 3; + break; + case 'second': + output = (this - that) / 1e3; + break; // 1000 + case 'minute': + output = (this - that) / 6e4; + break; // 1000 * 60 + case 'hour': + output = (this - that) / 36e5; + break; // 1000 * 60 * 60 + case 'day': + output = (this - that - zoneDelta) / 864e5; + break; // 1000 * 60 * 60 * 24, negate dst + case 'week': + output = (this - that - zoneDelta) / 6048e5; + break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: + output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + if (a.date() < b.date()) { + // end-of-month calculations work correct when the start month has more + // days than the end month. + return -monthDiff(b, a); + } + // difference in months + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, + adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString() { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true, + m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment( + m, + utc + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) + .toISOString() + .replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment( + m, + utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect() { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment', + zone = '', + prefix, + year, + datetime, + suffix; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + prefix = '[' + func + '("]'; + year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; + datetime = '-MM-DD[T]HH:mm:ss.SSS'; + suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format(inputString) { + if (!inputString) { + inputString = this.isUtc() + ? hooks.defaultFormatUtc + : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ to: this, from: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ from: this, to: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale(key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + var MS_PER_SECOND = 1000, + MS_PER_MINUTE = 60 * MS_PER_SECOND, + MS_PER_HOUR = 60 * MS_PER_MINUTE, + MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return ((dividend % divisor) + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate( + this.year(), + this.month() - (this.month() % 3), + 1 + ); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + ); + break; + case 'isoWeek': + time = startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + ); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = + startOfDate( + this.year(), + this.month() - (this.month() % 3) + 3, + 1 + ) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = + startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + 7 + ) - 1; + break; + case 'isoWeek': + time = + startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += + MS_PER_HOUR - + mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ) - + 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + function toDate() { + return new Date(this.valueOf()); + } + + function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond(), + ]; + } + + function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds(), + }; + } + + function toJSON() { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2() { + return isValid(this); + } + + function parsingFlags() { + return extend({}, getParsingFlags(this)); + } + + function invalidAt() { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + } + + addFormatToken('N', 0, 0, 'eraAbbr'); + addFormatToken('NN', 0, 0, 'eraAbbr'); + addFormatToken('NNN', 0, 0, 'eraAbbr'); + addFormatToken('NNNN', 0, 0, 'eraName'); + addFormatToken('NNNNN', 0, 0, 'eraNarrow'); + + addFormatToken('y', ['y', 1], 'yo', 'eraYear'); + addFormatToken('y', ['yy', 2], 0, 'eraYear'); + addFormatToken('y', ['yyy', 3], 0, 'eraYear'); + addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); + + addRegexToken('N', matchEraAbbr); + addRegexToken('NN', matchEraAbbr); + addRegexToken('NNN', matchEraAbbr); + addRegexToken('NNNN', matchEraName); + addRegexToken('NNNNN', matchEraNarrow); + + addParseToken( + ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], + function (input, array, config, token) { + var era = config._locale.erasParse(input, token, config._strict); + if (era) { + getParsingFlags(config).era = era; + } else { + getParsingFlags(config).invalidEra = input; + } + } + ); + + addRegexToken('y', matchUnsigned); + addRegexToken('yy', matchUnsigned); + addRegexToken('yyy', matchUnsigned); + addRegexToken('yyyy', matchUnsigned); + addRegexToken('yo', matchEraYearOrdinal); + + addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); + addParseToken(['yo'], function (input, array, config, token) { + var match; + if (config._locale._eraYearOrdinalRegex) { + match = input.match(config._locale._eraYearOrdinalRegex); + } + + if (config._locale.eraYearOrdinalParse) { + array[YEAR] = config._locale.eraYearOrdinalParse(input, match); + } else { + array[YEAR] = parseInt(input, 10); + } + }); + + function localeEras(m, format) { + var i, + l, + date, + eras = this._eras || getLocale('en')._eras; + for (i = 0, l = eras.length; i < l; ++i) { + switch (typeof eras[i].since) { + case 'string': + // truncate time + date = hooks(eras[i].since).startOf('day'); + eras[i].since = date.valueOf(); + break; + } + + switch (typeof eras[i].until) { + case 'undefined': + eras[i].until = +Infinity; + break; + case 'string': + // truncate time + date = hooks(eras[i].until).startOf('day').valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; + } + + function localeErasParse(eraName, format, strict) { + var i, + l, + eras = this.eras(), + name, + abbr, + narrow; + eraName = eraName.toUpperCase(); + + for (i = 0, l = eras.length; i < l; ++i) { + name = eras[i].name.toUpperCase(); + abbr = eras[i].abbr.toUpperCase(); + narrow = eras[i].narrow.toUpperCase(); + + if (strict) { + switch (format) { + case 'N': + case 'NN': + case 'NNN': + if (abbr === eraName) { + return eras[i]; + } + break; + + case 'NNNN': + if (name === eraName) { + return eras[i]; + } + break; + + case 'NNNNN': + if (narrow === eraName) { + return eras[i]; + } + break; + } + } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { + return eras[i]; + } + } + } + + function localeErasConvertYear(era, year) { + var dir = era.since <= era.until ? +1 : -1; + if (year === undefined) { + return hooks(era.since).year(); + } else { + return hooks(era.since).year() + (year - era.offset) * dir; + } + } + + function getEraName() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].name; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].name; + } + } + + return ''; + } + + function getEraNarrow() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].narrow; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].narrow; + } + } + + return ''; + } + + function getEraAbbr() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].abbr; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].abbr; + } + } + + return ''; + } + + function getEraYear() { + var i, + l, + dir, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + dir = eras[i].since <= eras[i].until ? +1 : -1; + + // truncate time + val = this.clone().startOf('day').valueOf(); + + if ( + (eras[i].since <= val && val <= eras[i].until) || + (eras[i].until <= val && val <= eras[i].since) + ) { + return ( + (this.year() - hooks(eras[i].since).year()) * dir + + eras[i].offset + ); + } + } + + return this.year(); + } + + function erasNameRegex(isStrict) { + if (!hasOwnProp(this, '_erasNameRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNameRegex : this._erasRegex; + } + + function erasAbbrRegex(isStrict) { + if (!hasOwnProp(this, '_erasAbbrRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasAbbrRegex : this._erasRegex; + } + + function erasNarrowRegex(isStrict) { + if (!hasOwnProp(this, '_erasNarrowRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNarrowRegex : this._erasRegex; + } + + function matchEraAbbr(isStrict, locale) { + return locale.erasAbbrRegex(isStrict); + } + + function matchEraName(isStrict, locale) { + return locale.erasNameRegex(isStrict); + } + + function matchEraNarrow(isStrict, locale) { + return locale.erasNarrowRegex(isStrict); + } + + function matchEraYearOrdinal(isStrict, locale) { + return locale._eraYearOrdinalRegex || matchUnsigned; + } + + function computeErasParse() { + var abbrPieces = [], + namePieces = [], + narrowPieces = [], + mixedPieces = [], + i, + l, + eras = this.eras(); + + for (i = 0, l = eras.length; i < l; ++i) { + namePieces.push(regexEscape(eras[i].name)); + abbrPieces.push(regexEscape(eras[i].abbr)); + narrowPieces.push(regexEscape(eras[i].narrow)); + + mixedPieces.push(regexEscape(eras[i].name)); + mixedPieces.push(regexEscape(eras[i].abbr)); + mixedPieces.push(regexEscape(eras[i].narrow)); + } + + this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); + this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); + this._erasNarrowRegex = new RegExp( + '^(' + narrowPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken( + ['gggg', 'ggggg', 'GGGG', 'GGGGG'], + function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + } + ); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + } + + function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.isoWeek(), + this.isoWeekday(), + 1, + 4 + ); + } + + function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); + } + + function getISOWeeksInISOWeekYear() { + return weeksInYear(this.isoWeekYear(), 1, 4); + } + + function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getWeeksInWeekYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear(input) { + var dayOfYear = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 + ) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token, getSetMillisecond; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + + getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr() { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName() { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + if (typeof Symbol !== 'undefined' && Symbol.for != null) { + proto[Symbol.for('nodejs.util.inspect.custom')] = function () { + return 'Moment<' + this.format() + '>'; + }; + } + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.eraName = getEraName; + proto.eraNarrow = getEraNarrow; + proto.eraAbbr = getEraAbbr; + proto.eraYear = getEraYear; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.weeksInWeekYear = getWeeksInWeekYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate( + 'dates accessor is deprecated. Use date instead.', + getSetDayOfMonth + ); + proto.months = deprecate( + 'months accessor is deprecated. Use month instead', + getSetMonth + ); + proto.years = deprecate( + 'years accessor is deprecated. Use year instead', + getSetYear + ); + proto.zone = deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + getSetZone + ); + proto.isDSTShifted = deprecate( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + isDaylightSavingTimeShifted + ); + + function createUnix(input) { + return createLocal(input * 1000); + } + + function createInZone() { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat(string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + proto$1.eras = localeEras; + proto$1.erasParse = localeErasParse; + proto$1.erasConvertYear = localeErasConvertYear; + proto$1.erasAbbrRegex = erasAbbrRegex; + proto$1.erasNameRegex = erasNameRegex; + proto$1.erasNarrowRegex = erasNarrowRegex; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1(format, index, field, setter) { + var locale = getLocale(), + utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i, + out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0, + i, + out = []; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + eras: [ + { + since: '0001-01-01', + until: +Infinity, + offset: 1, + name: 'Anno Domini', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -Infinity, + offset: 1, + name: 'Before Christ', + narrow: 'BC', + abbr: 'BC', + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (number) { + var b = number % 10, + output = + toInt((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + // Side effect imports + + hooks.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + getSetGlobalLocale + ); + hooks.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + getLocale + ); + + var mathAbs = Math.abs; + + function abs() { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble() { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, + minutes, + hours, + years, + monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths(days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + // the reverse of daysToMonths + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days, + months, + milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': + return months; + case 'quarter': + return months / 3; + case 'year': + return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week': + return days / 7 + milliseconds / 6048e5; + case 'day': + return days + milliseconds / 864e5; + case 'hour': + return days * 24 + milliseconds / 36e5; + case 'minute': + return days * 1440 + milliseconds / 6e4; + case 'second': + return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs(alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'), + asSeconds = makeAs('s'), + asMinutes = makeAs('m'), + asHours = makeAs('h'), + asDays = makeAs('d'), + asWeeks = makeAs('w'), + asMonths = makeAs('M'), + asQuarters = makeAs('Q'), + asYears = makeAs('y'); + + function clone$1() { + return createDuration(this); + } + + function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'), + seconds = makeGetter('seconds'), + minutes = makeGetter('minutes'), + hours = makeGetter('hours'), + days = makeGetter('days'), + months = makeGetter('months'), + years = makeGetter('years'); + + function weeks() { + return absFloor(this.days() / 7); + } + + var round = Math.round, + thresholds = { + ss: 44, // a few seconds to seconds + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month/week + w: null, // weeks to month + M: 11, // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { + var duration = createDuration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + weeks = round(duration.as('w')), + years = round(duration.as('y')), + a = + (seconds <= thresholds.ss && ['s', seconds]) || + (seconds < thresholds.s && ['ss', seconds]) || + (minutes <= 1 && ['m']) || + (minutes < thresholds.m && ['mm', minutes]) || + (hours <= 1 && ['h']) || + (hours < thresholds.h && ['hh', hours]) || + (days <= 1 && ['d']) || + (days < thresholds.d && ['dd', days]); + + if (thresholds.w != null) { + a = + a || + (weeks <= 1 && ['w']) || + (weeks < thresholds.w && ['ww', weeks]); + } + a = a || + (months <= 1 && ['M']) || + (months < thresholds.M && ['MM', months]) || + (years <= 1 && ['y']) || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize(argWithSuffix, argThresholds) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var withSuffix = false, + th = thresholds, + locale, + output; + + if (typeof argWithSuffix === 'object') { + argThresholds = argWithSuffix; + argWithSuffix = false; + } + if (typeof argWithSuffix === 'boolean') { + withSuffix = argWithSuffix; + } + if (typeof argThresholds === 'object') { + th = Object.assign({}, thresholds, argThresholds); + if (argThresholds.s != null && argThresholds.ss == null) { + th.ss = argThresholds.s - 1; + } + } + + locale = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000, + days = abs$1(this._days), + months = abs$1(this._months), + minutes, + hours, + years, + s, + total = this.asSeconds(), + totalSign, + ymSign, + daysSign, + hmsSign; + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + + totalSign = total < 0 ? '-' : ''; + ymSign = sign(this._months) !== sign(total) ? '-' : ''; + daysSign = sign(this._days) !== sign(total) ? '-' : ''; + hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return ( + totalSign + + 'P' + + (years ? ymSign + years + 'Y' : '') + + (months ? ymSign + months + 'M' : '') + + (days ? daysSign + days + 'D' : '') + + (hours || minutes || seconds ? 'T' : '') + + (hours ? hmsSign + hours + 'H' : '') + + (minutes ? hmsSign + minutes + 'M' : '') + + (seconds ? hmsSign + s + 'S' : '') + ); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + toISOString$1 + ); + proto$2.lang = lang; + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + //! moment.js + + hooks.version = '2.29.4'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM', // + }; + + return hooks; + +}))); + + +/***/ }), + +/***/ 4294: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = __nccwpck_require__(4219); + + +/***/ }), + +/***/ 4219: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var net = __nccwpck_require__(1808); +var tls = __nccwpck_require__(4404); +var http = __nccwpck_require__(3685); +var https = __nccwpck_require__(5687); +var events = __nccwpck_require__(2361); +var assert = __nccwpck_require__(9491); +var util = __nccwpck_require__(3837); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test + + +/***/ }), + +/***/ 5840: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "v1", ({ + enumerable: true, + get: function () { + return _v.default; + } +})); +Object.defineProperty(exports, "v3", ({ + enumerable: true, + get: function () { + return _v2.default; + } +})); +Object.defineProperty(exports, "v4", ({ + enumerable: true, + get: function () { + return _v3.default; + } +})); +Object.defineProperty(exports, "v5", ({ + enumerable: true, + get: function () { + return _v4.default; + } +})); +Object.defineProperty(exports, "NIL", ({ + enumerable: true, + get: function () { + return _nil.default; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function () { + return _version.default; + } +})); +Object.defineProperty(exports, "validate", ({ + enumerable: true, + get: function () { + return _validate.default; + } +})); +Object.defineProperty(exports, "stringify", ({ + enumerable: true, + get: function () { + return _stringify.default; + } +})); +Object.defineProperty(exports, "parse", ({ + enumerable: true, + get: function () { + return _parse.default; + } +})); + +var _v = _interopRequireDefault(__nccwpck_require__(8628)); + +var _v2 = _interopRequireDefault(__nccwpck_require__(6409)); + +var _v3 = _interopRequireDefault(__nccwpck_require__(5122)); + +var _v4 = _interopRequireDefault(__nccwpck_require__(9120)); + +var _nil = _interopRequireDefault(__nccwpck_require__(5332)); + +var _version = _interopRequireDefault(__nccwpck_require__(1595)); + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/***/ }), + +/***/ 4569: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports["default"] = _default; + +/***/ }), + +/***/ 5332: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports["default"] = _default; + +/***/ }), + +/***/ 2746: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +var _default = parse; +exports["default"] = _default; + +/***/ }), + +/***/ 814: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports["default"] = _default; + +/***/ }), + +/***/ 807: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = rng; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} + +/***/ }), + +/***/ 5274: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports["default"] = _default; + +/***/ }), + +/***/ 8950: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports["default"] = _default; + +/***/ }), + +/***/ 8628: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _rng = _interopRequireDefault(__nccwpck_require__(807)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || (0, _stringify.default)(b); +} + +var _default = v1; +exports["default"] = _default; + +/***/ }), + +/***/ 6409: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _v = _interopRequireDefault(__nccwpck_require__(5998)); + +var _md = _interopRequireDefault(__nccwpck_require__(4569)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports["default"] = _default; + +/***/ }), + +/***/ 5998: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; + +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} + +/***/ }), + +/***/ 5122: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _rng = _interopRequireDefault(__nccwpck_require__(807)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports["default"] = _default; + +/***/ }), + +/***/ 9120: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _v = _interopRequireDefault(__nccwpck_require__(5998)); + +var _sha = _interopRequireDefault(__nccwpck_require__(5274)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports["default"] = _default; + +/***/ }), + +/***/ 6900: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _regex = _interopRequireDefault(__nccwpck_require__(814)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports["default"] = _default; + +/***/ }), + +/***/ 1595: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +var _default = version; +exports["default"] = _default; + +/***/ }), + +/***/ 9491: +/***/ ((module) => { + +"use strict"; +module.exports = require("assert"); + +/***/ }), + +/***/ 6113: +/***/ ((module) => { + +"use strict"; +module.exports = require("crypto"); + +/***/ }), + +/***/ 2361: +/***/ ((module) => { + +"use strict"; +module.exports = require("events"); + +/***/ }), + +/***/ 7147: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ 3685: +/***/ ((module) => { + +"use strict"; +module.exports = require("http"); + +/***/ }), + +/***/ 5687: +/***/ ((module) => { + +"use strict"; +module.exports = require("https"); + +/***/ }), + +/***/ 1808: +/***/ ((module) => { + +"use strict"; +module.exports = require("net"); + +/***/ }), + +/***/ 2037: +/***/ ((module) => { + +"use strict"; +module.exports = require("os"); + +/***/ }), + +/***/ 1017: +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ 4404: +/***/ ((module) => { + +"use strict"; +module.exports = require("tls"); + +/***/ }), + +/***/ 3837: +/***/ ((module) => { + +"use strict"; +module.exports = require("util"); + +/***/ }), + +/***/ 8109: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); +var resolveBlockMap = __nccwpck_require__(2986); +var resolveBlockSeq = __nccwpck_require__(2289); +var resolveFlowCollection = __nccwpck_require__(45); + +function composeCollection(CN, ctx, token, tagToken, onError) { + let coll; + switch (token.type) { + case 'block-map': { + coll = resolveBlockMap.resolveBlockMap(CN, ctx, token, onError); + break; + } + case 'block-seq': { + coll = resolveBlockSeq.resolveBlockSeq(CN, ctx, token, onError); + break; + } + case 'flow-collection': { + coll = resolveFlowCollection.resolveFlowCollection(CN, ctx, token, onError); + break; + } + } + if (!tagToken) + return coll; + const tagName = ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg)); + if (!tagName) + return coll; + // Cast needed due to: https://github.com/Microsoft/TypeScript/issues/3841 + const Coll = coll.constructor; + if (tagName === '!' || tagName === Coll.tagName) { + coll.tag = Coll.tagName; + return coll; + } + const expType = Node.isMap(coll) ? 'map' : 'seq'; + let tag = ctx.schema.tags.find(t => t.collection === expType && t.tag === tagName); + if (!tag) { + const kt = ctx.schema.knownTags[tagName]; + if (kt && kt.collection === expType) { + ctx.schema.tags.push(Object.assign({}, kt, { default: false })); + tag = kt; + } + else { + onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true); + coll.tag = tagName; + return coll; + } + } + const res = tag.resolve(coll, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg), ctx.options); + const node = Node.isNode(res) + ? res + : new Scalar.Scalar(res); + node.range = coll.range; + node.tag = tagName; + if (tag?.format) + node.format = tag.format; + return node; +} + +exports.composeCollection = composeCollection; + + +/***/ }), + +/***/ 5050: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Document = __nccwpck_require__(42); +var composeNode = __nccwpck_require__(8676); +var resolveEnd = __nccwpck_require__(1250); +var resolveProps = __nccwpck_require__(6985); + +function composeDoc(options, directives, { offset, start, value, end }, onError) { + const opts = Object.assign({ _directives: directives }, options); + const doc = new Document.Document(undefined, opts); + const ctx = { + atRoot: true, + directives: doc.directives, + options: doc.options, + schema: doc.schema + }; + const props = resolveProps.resolveProps(start, { + indicator: 'doc-start', + next: value ?? end?.[0], + offset, + onError, + startOnNewline: true + }); + if (props.found) { + doc.directives.docStart = true; + if (value && + (value.type === 'block-map' || value.type === 'block-seq') && + !props.hasNewline) + onError(props.end, 'MISSING_CHAR', 'Block collection cannot start on same line with directives-end marker'); + } + doc.contents = value + ? composeNode.composeNode(ctx, value, props, onError) + : composeNode.composeEmptyNode(ctx, props.end, start, null, props, onError); + const contentEnd = doc.contents.range[2]; + const re = resolveEnd.resolveEnd(end, contentEnd, false, onError); + if (re.comment) + doc.comment = re.comment; + doc.range = [offset, contentEnd, re.offset]; + return doc; +} + +exports.composeDoc = composeDoc; + + +/***/ }), + +/***/ 8676: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Alias = __nccwpck_require__(5639); +var composeCollection = __nccwpck_require__(8109); +var composeScalar = __nccwpck_require__(4766); +var resolveEnd = __nccwpck_require__(1250); +var utilEmptyScalarPosition = __nccwpck_require__(8781); + +const CN = { composeNode, composeEmptyNode }; +function composeNode(ctx, token, props, onError) { + const { spaceBefore, comment, anchor, tag } = props; + let node; + let isSrcToken = true; + switch (token.type) { + case 'alias': + node = composeAlias(ctx, token, onError); + if (anchor || tag) + onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties'); + break; + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': + case 'block-scalar': + node = composeScalar.composeScalar(ctx, token, tag, onError); + if (anchor) + node.anchor = anchor.source.substring(1); + break; + case 'block-map': + case 'block-seq': + case 'flow-collection': + node = composeCollection.composeCollection(CN, ctx, token, tag, onError); + if (anchor) + node.anchor = anchor.source.substring(1); + break; + default: { + const message = token.type === 'error' + ? token.message + : `Unsupported token (type: ${token.type})`; + onError(token, 'UNEXPECTED_TOKEN', message); + node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError); + isSrcToken = false; + } + } + if (anchor && node.anchor === '') + onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string'); + if (spaceBefore) + node.spaceBefore = true; + if (comment) { + if (token.type === 'scalar' && token.source === '') + node.comment = comment; + else + node.commentBefore = comment; + } + // @ts-expect-error Type checking misses meaning of isSrcToken + if (ctx.options.keepSourceTokens && isSrcToken) + node.srcToken = token; + return node; +} +function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) { + const token = { + type: 'scalar', + offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos), + indent: -1, + source: '' + }; + const node = composeScalar.composeScalar(ctx, token, tag, onError); + if (anchor) { + node.anchor = anchor.source.substring(1); + if (node.anchor === '') + onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string'); + } + if (spaceBefore) + node.spaceBefore = true; + if (comment) { + node.comment = comment; + node.range[2] = end; + } + return node; +} +function composeAlias({ options }, { offset, source, end }, onError) { + const alias = new Alias.Alias(source.substring(1)); + if (alias.source === '') + onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string'); + if (alias.source.endsWith(':')) + onError(offset + source.length - 1, 'BAD_ALIAS', 'Alias ending in : is ambiguous', true); + const valueEnd = offset + source.length; + const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError); + alias.range = [offset, valueEnd, re.offset]; + if (re.comment) + alias.comment = re.comment; + return alias; +} + +exports.composeEmptyNode = composeEmptyNode; +exports.composeNode = composeNode; + + +/***/ }), + +/***/ 4766: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); +var resolveBlockScalar = __nccwpck_require__(9485); +var resolveFlowScalar = __nccwpck_require__(7578); + +function composeScalar(ctx, token, tagToken, onError) { + const { value, type, comment, range } = token.type === 'block-scalar' + ? resolveBlockScalar.resolveBlockScalar(token, ctx.options.strict, onError) + : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError); + const tagName = tagToken + ? ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg)) + : null; + const tag = tagToken && tagName + ? findScalarTagByName(ctx.schema, value, tagName, tagToken, onError) + : token.type === 'scalar' + ? findScalarTagByTest(ctx, value, token, onError) + : ctx.schema[Node.SCALAR]; + let scalar; + try { + const res = tag.resolve(value, msg => onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg), ctx.options); + scalar = Node.isScalar(res) ? res : new Scalar.Scalar(res); + } + catch (error) { + const msg = error instanceof Error ? error.message : String(error); + onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg); + scalar = new Scalar.Scalar(value); + } + scalar.range = range; + scalar.source = value; + if (type) + scalar.type = type; + if (tagName) + scalar.tag = tagName; + if (tag.format) + scalar.format = tag.format; + if (comment) + scalar.comment = comment; + return scalar; +} +function findScalarTagByName(schema, value, tagName, tagToken, onError) { + if (tagName === '!') + return schema[Node.SCALAR]; // non-specific tag + const matchWithTest = []; + for (const tag of schema.tags) { + if (!tag.collection && tag.tag === tagName) { + if (tag.default && tag.test) + matchWithTest.push(tag); + else + return tag; + } + } + for (const tag of matchWithTest) + if (tag.test?.test(value)) + return tag; + const kt = schema.knownTags[tagName]; + if (kt && !kt.collection) { + // Ensure that the known tag is available for stringifying, + // but does not get used by default. + schema.tags.push(Object.assign({}, kt, { default: false, test: undefined })); + return kt; + } + onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, tagName !== 'tag:yaml.org,2002:str'); + return schema[Node.SCALAR]; +} +function findScalarTagByTest({ directives, schema }, value, token, onError) { + const tag = schema.tags.find(tag => tag.default && tag.test?.test(value)) || schema[Node.SCALAR]; + if (schema.compat) { + const compat = schema.compat.find(tag => tag.default && tag.test?.test(value)) ?? + schema[Node.SCALAR]; + if (tag.tag !== compat.tag) { + const ts = directives.tagString(tag.tag); + const cs = directives.tagString(compat.tag); + const msg = `Value may be parsed as either ${ts} or ${cs}`; + onError(token, 'TAG_RESOLVE_FAILED', msg, true); + } + } + return tag; +} + +exports.composeScalar = composeScalar; + + +/***/ }), + +/***/ 9493: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var directives = __nccwpck_require__(5400); +var Document = __nccwpck_require__(42); +var errors = __nccwpck_require__(4236); +var Node = __nccwpck_require__(1399); +var composeDoc = __nccwpck_require__(5050); +var resolveEnd = __nccwpck_require__(1250); + +function getErrorPos(src) { + if (typeof src === 'number') + return [src, src + 1]; + if (Array.isArray(src)) + return src.length === 2 ? src : [src[0], src[1]]; + const { offset, source } = src; + return [offset, offset + (typeof source === 'string' ? source.length : 1)]; +} +function parsePrelude(prelude) { + let comment = ''; + let atComment = false; + let afterEmptyLine = false; + for (let i = 0; i < prelude.length; ++i) { + const source = prelude[i]; + switch (source[0]) { + case '#': + comment += + (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') + + (source.substring(1) || ' '); + atComment = true; + afterEmptyLine = false; + break; + case '%': + if (prelude[i + 1]?.[0] !== '#') + i += 1; + atComment = false; + break; + default: + // This may be wrong after doc-end, but in that case it doesn't matter + if (!atComment) + afterEmptyLine = true; + atComment = false; + } + } + return { comment, afterEmptyLine }; +} +/** + * Compose a stream of CST nodes into a stream of YAML Documents. + * + * ```ts + * import { Composer, Parser } from 'yaml' + * + * const src: string = ... + * const tokens = new Parser().parse(src) + * const docs = new Composer().compose(tokens) + * ``` + */ +class Composer { + constructor(options = {}) { + this.doc = null; + this.atDirectives = false; + this.prelude = []; + this.errors = []; + this.warnings = []; + this.onError = (source, code, message, warning) => { + const pos = getErrorPos(source); + if (warning) + this.warnings.push(new errors.YAMLWarning(pos, code, message)); + else + this.errors.push(new errors.YAMLParseError(pos, code, message)); + }; + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + this.directives = new directives.Directives({ version: options.version || '1.2' }); + this.options = options; + } + decorate(doc, afterDoc) { + const { comment, afterEmptyLine } = parsePrelude(this.prelude); + //console.log({ dc: doc.comment, prelude, comment }) + if (comment) { + const dc = doc.contents; + if (afterDoc) { + doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment; + } + else if (afterEmptyLine || doc.directives.docStart || !dc) { + doc.commentBefore = comment; + } + else if (Node.isCollection(dc) && !dc.flow && dc.items.length > 0) { + let it = dc.items[0]; + if (Node.isPair(it)) + it = it.key; + const cb = it.commentBefore; + it.commentBefore = cb ? `${comment}\n${cb}` : comment; + } + else { + const cb = dc.commentBefore; + dc.commentBefore = cb ? `${comment}\n${cb}` : comment; + } + } + if (afterDoc) { + Array.prototype.push.apply(doc.errors, this.errors); + Array.prototype.push.apply(doc.warnings, this.warnings); + } + else { + doc.errors = this.errors; + doc.warnings = this.warnings; + } + this.prelude = []; + this.errors = []; + this.warnings = []; + } + /** + * Current stream status information. + * + * Mostly useful at the end of input for an empty stream. + */ + streamInfo() { + return { + comment: parsePrelude(this.prelude).comment, + directives: this.directives, + errors: this.errors, + warnings: this.warnings + }; + } + /** + * Compose tokens into documents. + * + * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document. + * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly. + */ + *compose(tokens, forceDoc = false, endOffset = -1) { + for (const token of tokens) + yield* this.next(token); + yield* this.end(forceDoc, endOffset); + } + /** Advance the composer by one CST token. */ + *next(token) { + if (process.env.LOG_STREAM) + console.dir(token, { depth: null }); + switch (token.type) { + case 'directive': + this.directives.add(token.source, (offset, message, warning) => { + const pos = getErrorPos(token); + pos[0] += offset; + this.onError(pos, 'BAD_DIRECTIVE', message, warning); + }); + this.prelude.push(token.source); + this.atDirectives = true; + break; + case 'document': { + const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError); + if (this.atDirectives && !doc.directives.docStart) + this.onError(token, 'MISSING_CHAR', 'Missing directives-end/doc-start indicator line'); + this.decorate(doc, false); + if (this.doc) + yield this.doc; + this.doc = doc; + this.atDirectives = false; + break; + } + case 'byte-order-mark': + case 'space': + break; + case 'comment': + case 'newline': + this.prelude.push(token.source); + break; + case 'error': { + const msg = token.source + ? `${token.message}: ${JSON.stringify(token.source)}` + : token.message; + const error = new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg); + if (this.atDirectives || !this.doc) + this.errors.push(error); + else + this.doc.errors.push(error); + break; + } + case 'doc-end': { + if (!this.doc) { + const msg = 'Unexpected doc-end without preceding document'; + this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg)); + break; + } + this.doc.directives.docEnd = true; + const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError); + this.decorate(this.doc, true); + if (end.comment) { + const dc = this.doc.comment; + this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment; + } + this.doc.range[2] = end.offset; + break; + } + default: + this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`)); + } + } + /** + * Call at end of input to yield any remaining document. + * + * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document. + * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly. + */ + *end(forceDoc = false, endOffset = -1) { + if (this.doc) { + this.decorate(this.doc, true); + yield this.doc; + this.doc = null; + } + else if (forceDoc) { + const opts = Object.assign({ _directives: this.directives }, this.options); + const doc = new Document.Document(undefined, opts); + if (this.atDirectives) + this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line'); + doc.range = [0, endOffset, endOffset]; + this.decorate(doc, false); + yield doc; + } + } +} + +exports.Composer = Composer; + + +/***/ }), + +/***/ 2986: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Pair = __nccwpck_require__(246); +var YAMLMap = __nccwpck_require__(6011); +var resolveProps = __nccwpck_require__(6985); +var utilContainsNewline = __nccwpck_require__(976); +var utilFlowIndentCheck = __nccwpck_require__(3669); +var utilMapIncludes = __nccwpck_require__(6899); + +const startColMsg = 'All mapping items must start at the same column'; +function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError) { + const map = new YAMLMap.YAMLMap(ctx.schema); + if (ctx.atRoot) + ctx.atRoot = false; + let offset = bm.offset; + let commentEnd = null; + for (const collItem of bm.items) { + const { start, key, sep, value } = collItem; + // key properties + const keyProps = resolveProps.resolveProps(start, { + indicator: 'explicit-key-ind', + next: key ?? sep?.[0], + offset, + onError, + startOnNewline: true + }); + const implicitKey = !keyProps.found; + if (implicitKey) { + if (key) { + if (key.type === 'block-seq') + onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key'); + else if ('indent' in key && key.indent !== bm.indent) + onError(offset, 'BAD_INDENT', startColMsg); + } + if (!keyProps.anchor && !keyProps.tag && !sep) { + commentEnd = keyProps.end; + if (keyProps.comment) { + if (map.comment) + map.comment += '\n' + keyProps.comment; + else + map.comment = keyProps.comment; + } + continue; + } + if (keyProps.hasNewlineAfterProp || utilContainsNewline.containsNewline(key)) { + onError(key ?? start[start.length - 1], 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line'); + } + } + else if (keyProps.found?.indent !== bm.indent) { + onError(offset, 'BAD_INDENT', startColMsg); + } + // key value + const keyStart = keyProps.end; + const keyNode = key + ? composeNode(ctx, key, keyProps, onError) + : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError); + if (ctx.schema.compat) + utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError); + if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode)) + onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique'); + // value properties + const valueProps = resolveProps.resolveProps(sep ?? [], { + indicator: 'map-value-ind', + next: value, + offset: keyNode.range[2], + onError, + startOnNewline: !key || key.type === 'block-scalar' + }); + offset = valueProps.end; + if (valueProps.found) { + if (implicitKey) { + if (value?.type === 'block-map' && !valueProps.hasNewline) + onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings'); + if (ctx.options.strict && + keyProps.start < valueProps.found.offset - 1024) + onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key'); + } + // value value + const valueNode = value + ? composeNode(ctx, value, valueProps, onError) + : composeEmptyNode(ctx, offset, sep, null, valueProps, onError); + if (ctx.schema.compat) + utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError); + offset = valueNode.range[2]; + const pair = new Pair.Pair(keyNode, valueNode); + if (ctx.options.keepSourceTokens) + pair.srcToken = collItem; + map.items.push(pair); + } + else { + // key with no value + if (implicitKey) + onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values'); + if (valueProps.comment) { + if (keyNode.comment) + keyNode.comment += '\n' + valueProps.comment; + else + keyNode.comment = valueProps.comment; + } + const pair = new Pair.Pair(keyNode); + if (ctx.options.keepSourceTokens) + pair.srcToken = collItem; + map.items.push(pair); + } + } + if (commentEnd && commentEnd < offset) + onError(commentEnd, 'IMPOSSIBLE', 'Map comment with trailing content'); + map.range = [bm.offset, offset, commentEnd ?? offset]; + return map; +} + +exports.resolveBlockMap = resolveBlockMap; + + +/***/ }), + +/***/ 9485: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); + +function resolveBlockScalar(scalar, strict, onError) { + const start = scalar.offset; + const header = parseBlockScalarHeader(scalar, strict, onError); + if (!header) + return { value: '', type: null, comment: '', range: [start, start, start] }; + const type = header.mode === '>' ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL; + const lines = scalar.source ? splitLines(scalar.source) : []; + // determine the end of content & start of chomping + let chompStart = lines.length; + for (let i = lines.length - 1; i >= 0; --i) { + const content = lines[i][1]; + if (content === '' || content === '\r') + chompStart = i; + else + break; + } + // shortcut for empty contents + if (chompStart === 0) { + const value = header.chomp === '+' && lines.length > 0 + ? '\n'.repeat(Math.max(1, lines.length - 1)) + : ''; + let end = start + header.length; + if (scalar.source) + end += scalar.source.length; + return { value, type, comment: header.comment, range: [start, end, end] }; + } + // find the indentation level to trim from start + let trimIndent = scalar.indent + header.indent; + let offset = scalar.offset + header.length; + let contentStart = 0; + for (let i = 0; i < chompStart; ++i) { + const [indent, content] = lines[i]; + if (content === '' || content === '\r') { + if (header.indent === 0 && indent.length > trimIndent) + trimIndent = indent.length; + } + else { + if (indent.length < trimIndent) { + const message = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator'; + onError(offset + indent.length, 'MISSING_CHAR', message); + } + if (header.indent === 0) + trimIndent = indent.length; + contentStart = i; + break; + } + offset += indent.length + content.length + 1; + } + // include trailing more-indented empty lines in content + for (let i = lines.length - 1; i >= chompStart; --i) { + if (lines[i][0].length > trimIndent) + chompStart = i + 1; + } + let value = ''; + let sep = ''; + let prevMoreIndented = false; + // leading whitespace is kept intact + for (let i = 0; i < contentStart; ++i) + value += lines[i][0].slice(trimIndent) + '\n'; + for (let i = contentStart; i < chompStart; ++i) { + let [indent, content] = lines[i]; + offset += indent.length + content.length + 1; + const crlf = content[content.length - 1] === '\r'; + if (crlf) + content = content.slice(0, -1); + /* istanbul ignore if already caught in lexer */ + if (content && indent.length < trimIndent) { + const src = header.indent + ? 'explicit indentation indicator' + : 'first line'; + const message = `Block scalar lines must not be less indented than their ${src}`; + onError(offset - content.length - (crlf ? 2 : 1), 'BAD_INDENT', message); + indent = ''; + } + if (type === Scalar.Scalar.BLOCK_LITERAL) { + value += sep + indent.slice(trimIndent) + content; + sep = '\n'; + } + else if (indent.length > trimIndent || content[0] === '\t') { + // more-indented content within a folded block + if (sep === ' ') + sep = '\n'; + else if (!prevMoreIndented && sep === '\n') + sep = '\n\n'; + value += sep + indent.slice(trimIndent) + content; + sep = '\n'; + prevMoreIndented = true; + } + else if (content === '') { + // empty line + if (sep === '\n') + value += '\n'; + else + sep = '\n'; + } + else { + value += sep + content; + sep = ' '; + prevMoreIndented = false; + } + } + switch (header.chomp) { + case '-': + break; + case '+': + for (let i = chompStart; i < lines.length; ++i) + value += '\n' + lines[i][0].slice(trimIndent); + if (value[value.length - 1] !== '\n') + value += '\n'; + break; + default: + value += '\n'; + } + const end = start + header.length + scalar.source.length; + return { value, type, comment: header.comment, range: [start, end, end] }; +} +function parseBlockScalarHeader({ offset, props }, strict, onError) { + /* istanbul ignore if should not happen */ + if (props[0].type !== 'block-scalar-header') { + onError(props[0], 'IMPOSSIBLE', 'Block scalar header not found'); + return null; + } + const { source } = props[0]; + const mode = source[0]; + let indent = 0; + let chomp = ''; + let error = -1; + for (let i = 1; i < source.length; ++i) { + const ch = source[i]; + if (!chomp && (ch === '-' || ch === '+')) + chomp = ch; + else { + const n = Number(ch); + if (!indent && n) + indent = n; + else if (error === -1) + error = offset + i; + } + } + if (error !== -1) + onError(error, 'UNEXPECTED_TOKEN', `Block scalar header includes extra characters: ${source}`); + let hasSpace = false; + let comment = ''; + let length = source.length; + for (let i = 1; i < props.length; ++i) { + const token = props[i]; + switch (token.type) { + case 'space': + hasSpace = true; + // fallthrough + case 'newline': + length += token.source.length; + break; + case 'comment': + if (strict && !hasSpace) { + const message = 'Comments must be separated from other tokens by white space characters'; + onError(token, 'MISSING_CHAR', message); + } + length += token.source.length; + comment = token.source.substring(1); + break; + case 'error': + onError(token, 'UNEXPECTED_TOKEN', token.message); + length += token.source.length; + break; + /* istanbul ignore next should not happen */ + default: { + const message = `Unexpected token in block scalar header: ${token.type}`; + onError(token, 'UNEXPECTED_TOKEN', message); + const ts = token.source; + if (ts && typeof ts === 'string') + length += ts.length; + } + } + } + return { mode, indent, chomp, comment, length }; +} +/** @returns Array of lines split up as `[indent, content]` */ +function splitLines(source) { + const split = source.split(/\n( *)/); + const first = split[0]; + const m = first.match(/^( *)/); + const line0 = m?.[1] + ? [m[1], first.slice(m[1].length)] + : ['', first]; + const lines = [line0]; + for (let i = 1; i < split.length; i += 2) + lines.push([split[i], split[i + 1]]); + return lines; +} + +exports.resolveBlockScalar = resolveBlockScalar; + + +/***/ }), + +/***/ 2289: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var YAMLSeq = __nccwpck_require__(5161); +var resolveProps = __nccwpck_require__(6985); +var utilFlowIndentCheck = __nccwpck_require__(3669); + +function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError) { + const seq = new YAMLSeq.YAMLSeq(ctx.schema); + if (ctx.atRoot) + ctx.atRoot = false; + let offset = bs.offset; + let commentEnd = null; + for (const { start, value } of bs.items) { + const props = resolveProps.resolveProps(start, { + indicator: 'seq-item-ind', + next: value, + offset, + onError, + startOnNewline: true + }); + if (!props.found) { + if (props.anchor || props.tag || value) { + if (value && value.type === 'block-seq') + onError(props.end, 'BAD_INDENT', 'All sequence items must start at the same column'); + else + onError(offset, 'MISSING_CHAR', 'Sequence item without - indicator'); + } + else { + commentEnd = props.end; + if (props.comment) + seq.comment = props.comment; + continue; + } + } + const node = value + ? composeNode(ctx, value, props, onError) + : composeEmptyNode(ctx, props.end, start, null, props, onError); + if (ctx.schema.compat) + utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError); + offset = node.range[2]; + seq.items.push(node); + } + seq.range = [bs.offset, offset, commentEnd ?? offset]; + return seq; +} + +exports.resolveBlockSeq = resolveBlockSeq; + + +/***/ }), + +/***/ 1250: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function resolveEnd(end, offset, reqSpace, onError) { + let comment = ''; + if (end) { + let hasSpace = false; + let sep = ''; + for (const token of end) { + const { source, type } = token; + switch (type) { + case 'space': + hasSpace = true; + break; + case 'comment': { + if (reqSpace && !hasSpace) + onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters'); + const cb = source.substring(1) || ' '; + if (!comment) + comment = cb; + else + comment += sep + cb; + sep = ''; + break; + } + case 'newline': + if (comment) + sep += source; + hasSpace = true; + break; + default: + onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`); + } + offset += source.length; + } + } + return { comment, offset }; +} + +exports.resolveEnd = resolveEnd; + + +/***/ }), + +/***/ 45: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var YAMLMap = __nccwpck_require__(6011); +var YAMLSeq = __nccwpck_require__(5161); +var resolveEnd = __nccwpck_require__(1250); +var resolveProps = __nccwpck_require__(6985); +var utilContainsNewline = __nccwpck_require__(976); +var utilMapIncludes = __nccwpck_require__(6899); + +const blockMsg = 'Block collections are not allowed within flow collections'; +const isBlock = (token) => token && (token.type === 'block-map' || token.type === 'block-seq'); +function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError) { + const isMap = fc.start.source === '{'; + const fcName = isMap ? 'flow map' : 'flow sequence'; + const coll = isMap + ? new YAMLMap.YAMLMap(ctx.schema) + : new YAMLSeq.YAMLSeq(ctx.schema); + coll.flow = true; + const atRoot = ctx.atRoot; + if (atRoot) + ctx.atRoot = false; + let offset = fc.offset + fc.start.source.length; + for (let i = 0; i < fc.items.length; ++i) { + const collItem = fc.items[i]; + const { start, key, sep, value } = collItem; + const props = resolveProps.resolveProps(start, { + flow: fcName, + indicator: 'explicit-key-ind', + next: key ?? sep?.[0], + offset, + onError, + startOnNewline: false + }); + if (!props.found) { + if (!props.anchor && !props.tag && !sep && !value) { + if (i === 0 && props.comma) + onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`); + else if (i < fc.items.length - 1) + onError(props.start, 'UNEXPECTED_TOKEN', `Unexpected empty item in ${fcName}`); + if (props.comment) { + if (coll.comment) + coll.comment += '\n' + props.comment; + else + coll.comment = props.comment; + } + offset = props.end; + continue; + } + if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key)) + onError(key, // checked by containsNewline() + 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line'); + } + if (i === 0) { + if (props.comma) + onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`); + } + else { + if (!props.comma) + onError(props.start, 'MISSING_CHAR', `Missing , between ${fcName} items`); + if (props.comment) { + let prevItemComment = ''; + loop: for (const st of start) { + switch (st.type) { + case 'comma': + case 'space': + break; + case 'comment': + prevItemComment = st.source.substring(1); + break loop; + default: + break loop; + } + } + if (prevItemComment) { + let prev = coll.items[coll.items.length - 1]; + if (Node.isPair(prev)) + prev = prev.value ?? prev.key; + if (prev.comment) + prev.comment += '\n' + prevItemComment; + else + prev.comment = prevItemComment; + props.comment = props.comment.substring(prevItemComment.length + 1); + } + } + } + if (!isMap && !sep && !props.found) { + // item is a value in a seq + // → key & sep are empty, start does not include ? or : + const valueNode = value + ? composeNode(ctx, value, props, onError) + : composeEmptyNode(ctx, props.end, sep, null, props, onError); + coll.items.push(valueNode); + offset = valueNode.range[2]; + if (isBlock(value)) + onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg); + } + else { + // item is a key+value pair + // key value + const keyStart = props.end; + const keyNode = key + ? composeNode(ctx, key, props, onError) + : composeEmptyNode(ctx, keyStart, start, null, props, onError); + if (isBlock(key)) + onError(keyNode.range, 'BLOCK_IN_FLOW', blockMsg); + // value properties + const valueProps = resolveProps.resolveProps(sep ?? [], { + flow: fcName, + indicator: 'map-value-ind', + next: value, + offset: keyNode.range[2], + onError, + startOnNewline: false + }); + if (valueProps.found) { + if (!isMap && !props.found && ctx.options.strict) { + if (sep) + for (const st of sep) { + if (st === valueProps.found) + break; + if (st.type === 'newline') { + onError(st, 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line'); + break; + } + } + if (props.start < valueProps.found.offset - 1024) + onError(valueProps.found, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit flow sequence key'); + } + } + else if (value) { + if ('source' in value && value.source && value.source[0] === ':') + onError(value, 'MISSING_CHAR', `Missing space after : in ${fcName}`); + else + onError(valueProps.start, 'MISSING_CHAR', `Missing , or : between ${fcName} items`); + } + // value value + const valueNode = value + ? composeNode(ctx, value, valueProps, onError) + : valueProps.found + ? composeEmptyNode(ctx, valueProps.end, sep, null, valueProps, onError) + : null; + if (valueNode) { + if (isBlock(value)) + onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg); + } + else if (valueProps.comment) { + if (keyNode.comment) + keyNode.comment += '\n' + valueProps.comment; + else + keyNode.comment = valueProps.comment; + } + const pair = new Pair.Pair(keyNode, valueNode); + if (ctx.options.keepSourceTokens) + pair.srcToken = collItem; + if (isMap) { + const map = coll; + if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode)) + onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique'); + map.items.push(pair); + } + else { + const map = new YAMLMap.YAMLMap(ctx.schema); + map.flow = true; + map.items.push(pair); + coll.items.push(map); + } + offset = valueNode ? valueNode.range[2] : valueProps.end; + } + } + const expectedEnd = isMap ? '}' : ']'; + const [ce, ...ee] = fc.end; + let cePos = offset; + if (ce && ce.source === expectedEnd) + cePos = ce.offset + ce.source.length; + else { + const name = fcName[0].toUpperCase() + fcName.substring(1); + const msg = atRoot + ? `${name} must end with a ${expectedEnd}` + : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`; + onError(offset, atRoot ? 'MISSING_CHAR' : 'BAD_INDENT', msg); + if (ce && ce.source.length !== 1) + ee.unshift(ce); + } + if (ee.length > 0) { + const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError); + if (end.comment) { + if (coll.comment) + coll.comment += '\n' + end.comment; + else + coll.comment = end.comment; + } + coll.range = [fc.offset, cePos, end.offset]; + } + else { + coll.range = [fc.offset, cePos, cePos]; + } + return coll; +} + +exports.resolveFlowCollection = resolveFlowCollection; + + +/***/ }), + +/***/ 7578: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var resolveEnd = __nccwpck_require__(1250); + +function resolveFlowScalar(scalar, strict, onError) { + const { offset, type, source, end } = scalar; + let _type; + let value; + const _onError = (rel, code, msg) => onError(offset + rel, code, msg); + switch (type) { + case 'scalar': + _type = Scalar.Scalar.PLAIN; + value = plainValue(source, _onError); + break; + case 'single-quoted-scalar': + _type = Scalar.Scalar.QUOTE_SINGLE; + value = singleQuotedValue(source, _onError); + break; + case 'double-quoted-scalar': + _type = Scalar.Scalar.QUOTE_DOUBLE; + value = doubleQuotedValue(source, _onError); + break; + /* istanbul ignore next should not happen */ + default: + onError(scalar, 'UNEXPECTED_TOKEN', `Expected a flow scalar value, but found: ${type}`); + return { + value: '', + type: null, + comment: '', + range: [offset, offset + source.length, offset + source.length] + }; + } + const valueEnd = offset + source.length; + const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError); + return { + value, + type: _type, + comment: re.comment, + range: [offset, valueEnd, re.offset] + }; +} +function plainValue(source, onError) { + let badChar = ''; + switch (source[0]) { + /* istanbul ignore next should not happen */ + case '\t': + badChar = 'a tab character'; + break; + case ',': + badChar = 'flow indicator character ,'; + break; + case '%': + badChar = 'directive indicator character %'; + break; + case '|': + case '>': { + badChar = `block scalar indicator ${source[0]}`; + break; + } + case '@': + case '`': { + badChar = `reserved character ${source[0]}`; + break; + } + } + if (badChar) + onError(0, 'BAD_SCALAR_START', `Plain value cannot start with ${badChar}`); + return foldLines(source); +} +function singleQuotedValue(source, onError) { + if (source[source.length - 1] !== "'" || source.length === 1) + onError(source.length, 'MISSING_CHAR', "Missing closing 'quote"); + return foldLines(source.slice(1, -1)).replace(/''/g, "'"); +} +function foldLines(source) { + /** + * The negative lookbehind here and in the `re` RegExp is to + * prevent causing a polynomial search time in certain cases. + * + * The try-catch is for Safari, which doesn't support this yet: + * https://caniuse.com/js-regexp-lookbehind + */ + let first, line; + try { + first = new RegExp('(.*?)(? wsStart ? source.slice(wsStart, i + 1) : ch; + } + else { + res += ch; + } + } + if (source[source.length - 1] !== '"' || source.length === 1) + onError(source.length, 'MISSING_CHAR', 'Missing closing "quote'); + return res; +} +/** + * Fold a single newline into a space, multiple newlines to N - 1 newlines. + * Presumes `source[offset] === '\n'` + */ +function foldNewline(source, offset) { + let fold = ''; + let ch = source[offset + 1]; + while (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') { + if (ch === '\r' && source[offset + 2] !== '\n') + break; + if (ch === '\n') + fold += '\n'; + offset += 1; + ch = source[offset + 1]; + } + if (!fold) + fold = ' '; + return { fold, offset }; +} +const escapeCodes = { + '0': '\0', + a: '\x07', + b: '\b', + e: '\x1b', + f: '\f', + n: '\n', + r: '\r', + t: '\t', + v: '\v', + N: '\u0085', + _: '\u00a0', + L: '\u2028', + P: '\u2029', + ' ': ' ', + '"': '"', + '/': '/', + '\\': '\\', + '\t': '\t' +}; +function parseCharCode(source, offset, length, onError) { + const cc = source.substr(offset, length); + const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); + const code = ok ? parseInt(cc, 16) : NaN; + if (isNaN(code)) { + const raw = source.substr(offset - 2, length + 2); + onError(offset - 2, 'BAD_DQ_ESCAPE', `Invalid escape sequence ${raw}`); + return raw; + } + return String.fromCodePoint(code); +} + +exports.resolveFlowScalar = resolveFlowScalar; + + +/***/ }), + +/***/ 6985: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function resolveProps(tokens, { flow, indicator, next, offset, onError, startOnNewline }) { + let spaceBefore = false; + let atNewline = startOnNewline; + let hasSpace = startOnNewline; + let comment = ''; + let commentSep = ''; + let hasNewline = false; + let hasNewlineAfterProp = false; + let reqSpace = false; + let anchor = null; + let tag = null; + let comma = null; + let found = null; + let start = null; + for (const token of tokens) { + if (reqSpace) { + if (token.type !== 'space' && + token.type !== 'newline' && + token.type !== 'comma') + onError(token.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space'); + reqSpace = false; + } + switch (token.type) { + case 'space': + // At the doc level, tabs at line start may be parsed + // as leading white space rather than indentation. + // In a flow collection, only the parser handles indent. + if (!flow && + atNewline && + indicator !== 'doc-start' && + token.source[0] === '\t') + onError(token, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation'); + hasSpace = true; + break; + case 'comment': { + if (!hasSpace) + onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters'); + const cb = token.source.substring(1) || ' '; + if (!comment) + comment = cb; + else + comment += commentSep + cb; + commentSep = ''; + atNewline = false; + break; + } + case 'newline': + if (atNewline) { + if (comment) + comment += token.source; + else + spaceBefore = true; + } + else + commentSep += token.source; + atNewline = true; + hasNewline = true; + if (anchor || tag) + hasNewlineAfterProp = true; + hasSpace = true; + break; + case 'anchor': + if (anchor) + onError(token, 'MULTIPLE_ANCHORS', 'A node can have at most one anchor'); + if (token.source.endsWith(':')) + onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true); + anchor = token; + if (start === null) + start = token.offset; + atNewline = false; + hasSpace = false; + reqSpace = true; + break; + case 'tag': { + if (tag) + onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag'); + tag = token; + if (start === null) + start = token.offset; + atNewline = false; + hasSpace = false; + reqSpace = true; + break; + } + case indicator: + // Could here handle preceding comments differently + if (anchor || tag) + onError(token, 'BAD_PROP_ORDER', `Anchors and tags must be after the ${token.source} indicator`); + if (found) + onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.source} in ${flow ?? 'collection'}`); + found = token; + atNewline = false; + hasSpace = false; + break; + case 'comma': + if (flow) { + if (comma) + onError(token, 'UNEXPECTED_TOKEN', `Unexpected , in ${flow}`); + comma = token; + atNewline = false; + hasSpace = false; + break; + } + // else fallthrough + default: + onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.type} token`); + atNewline = false; + hasSpace = false; + } + } + const last = tokens[tokens.length - 1]; + const end = last ? last.offset + last.source.length : offset; + if (reqSpace && + next && + next.type !== 'space' && + next.type !== 'newline' && + next.type !== 'comma' && + (next.type !== 'scalar' || next.source !== '')) + onError(next.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space'); + return { + comma, + found, + spaceBefore, + comment, + hasNewline, + hasNewlineAfterProp, + anchor, + tag, + end, + start: start ?? end + }; +} + +exports.resolveProps = resolveProps; + + +/***/ }), + +/***/ 976: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function containsNewline(key) { + if (!key) + return null; + switch (key.type) { + case 'alias': + case 'scalar': + case 'double-quoted-scalar': + case 'single-quoted-scalar': + if (key.source.includes('\n')) + return true; + if (key.end) + for (const st of key.end) + if (st.type === 'newline') + return true; + return false; + case 'flow-collection': + for (const it of key.items) { + for (const st of it.start) + if (st.type === 'newline') + return true; + if (it.sep) + for (const st of it.sep) + if (st.type === 'newline') + return true; + if (containsNewline(it.key) || containsNewline(it.value)) + return true; + } + return false; + default: + return true; + } +} + +exports.containsNewline = containsNewline; + + +/***/ }), + +/***/ 8781: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function emptyScalarPosition(offset, before, pos) { + if (before) { + if (pos === null) + pos = before.length; + for (let i = pos - 1; i >= 0; --i) { + let st = before[i]; + switch (st.type) { + case 'space': + case 'comment': + case 'newline': + offset -= st.source.length; + continue; + } + // Technically, an empty scalar is immediately after the last non-empty + // node, but it's more useful to place it after any whitespace. + st = before[++i]; + while (st?.type === 'space') { + offset += st.source.length; + st = before[++i]; + } + break; + } + } + return offset; +} + +exports.emptyScalarPosition = emptyScalarPosition; + + +/***/ }), + +/***/ 3669: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var utilContainsNewline = __nccwpck_require__(976); + +function flowIndentCheck(indent, fc, onError) { + if (fc?.type === 'flow-collection') { + const end = fc.end[0]; + if (end.indent === indent && + (end.source === ']' || end.source === '}') && + utilContainsNewline.containsNewline(fc)) { + const msg = 'Flow end indicator should be more indented than parent'; + onError(end, 'BAD_INDENT', msg, true); + } + } +} + +exports.flowIndentCheck = flowIndentCheck; + + +/***/ }), + +/***/ 6899: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); + +function mapIncludes(ctx, items, search) { + const { uniqueKeys } = ctx.options; + if (uniqueKeys === false) + return false; + const isEqual = typeof uniqueKeys === 'function' + ? uniqueKeys + : (a, b) => a === b || + (Node.isScalar(a) && + Node.isScalar(b) && + a.value === b.value && + !(a.value === '<<' && ctx.schema.merge)); + return items.some(pair => isEqual(pair.key, search)); +} + +exports.mapIncludes = mapIncludes; + + +/***/ }), + +/***/ 42: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Alias = __nccwpck_require__(5639); +var Collection = __nccwpck_require__(3466); +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var toJS = __nccwpck_require__(2463); +var Schema = __nccwpck_require__(6831); +var stringify = __nccwpck_require__(8409); +var stringifyDocument = __nccwpck_require__(5225); +var anchors = __nccwpck_require__(8459); +var applyReviver = __nccwpck_require__(3412); +var createNode = __nccwpck_require__(9652); +var directives = __nccwpck_require__(5400); + +class Document { + constructor(value, replacer, options) { + /** A comment before this Document */ + this.commentBefore = null; + /** A comment immediately after this Document */ + this.comment = null; + /** Errors encountered during parsing. */ + this.errors = []; + /** Warnings encountered during parsing. */ + this.warnings = []; + Object.defineProperty(this, Node.NODE_TYPE, { value: Node.DOC }); + let _replacer = null; + if (typeof replacer === 'function' || Array.isArray(replacer)) { + _replacer = replacer; + } + else if (options === undefined && replacer) { + options = replacer; + replacer = undefined; + } + const opt = Object.assign({ + intAsBigInt: false, + keepSourceTokens: false, + logLevel: 'warn', + prettyErrors: true, + strict: true, + uniqueKeys: true, + version: '1.2' + }, options); + this.options = opt; + let { version } = opt; + if (options?._directives) { + this.directives = options._directives.atDocument(); + if (this.directives.yaml.explicit) + version = this.directives.yaml.version; + } + else + this.directives = new directives.Directives({ version }); + this.setSchema(version, options); + if (value === undefined) + this.contents = null; + else { + this.contents = this.createNode(value, _replacer, options); + } + } + /** + * Create a deep copy of this Document and its contents. + * + * Custom Node values that inherit from `Object` still refer to their original instances. + */ + clone() { + const copy = Object.create(Document.prototype, { + [Node.NODE_TYPE]: { value: Node.DOC } + }); + copy.commentBefore = this.commentBefore; + copy.comment = this.comment; + copy.errors = this.errors.slice(); + copy.warnings = this.warnings.slice(); + copy.options = Object.assign({}, this.options); + if (this.directives) + copy.directives = this.directives.clone(); + copy.schema = this.schema.clone(); + copy.contents = Node.isNode(this.contents) + ? this.contents.clone(copy.schema) + : this.contents; + if (this.range) + copy.range = this.range.slice(); + return copy; + } + /** Adds a value to the document. */ + add(value) { + if (assertCollection(this.contents)) + this.contents.add(value); + } + /** Adds a value to the document. */ + addIn(path, value) { + if (assertCollection(this.contents)) + this.contents.addIn(path, value); + } + /** + * Create a new `Alias` node, ensuring that the target `node` has the required anchor. + * + * If `node` already has an anchor, `name` is ignored. + * Otherwise, the `node.anchor` value will be set to `name`, + * or if an anchor with that name is already present in the document, + * `name` will be used as a prefix for a new unique anchor. + * If `name` is undefined, the generated anchor will use 'a' as a prefix. + */ + createAlias(node, name) { + if (!node.anchor) { + const prev = anchors.anchorNames(this); + node.anchor = + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + !name || prev.has(name) ? anchors.findNewAnchor(name || 'a', prev) : name; + } + return new Alias.Alias(node.anchor); + } + createNode(value, replacer, options) { + let _replacer = undefined; + if (typeof replacer === 'function') { + value = replacer.call({ '': value }, '', value); + _replacer = replacer; + } + else if (Array.isArray(replacer)) { + const keyToStr = (v) => typeof v === 'number' || v instanceof String || v instanceof Number; + const asStr = replacer.filter(keyToStr).map(String); + if (asStr.length > 0) + replacer = replacer.concat(asStr); + _replacer = replacer; + } + else if (options === undefined && replacer) { + options = replacer; + replacer = undefined; + } + const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {}; + const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(this, + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + anchorPrefix || 'a'); + const ctx = { + aliasDuplicateObjects: aliasDuplicateObjects ?? true, + keepUndefined: keepUndefined ?? false, + onAnchor, + onTagObj, + replacer: _replacer, + schema: this.schema, + sourceObjects + }; + const node = createNode.createNode(value, tag, ctx); + if (flow && Node.isCollection(node)) + node.flow = true; + setAnchors(); + return node; + } + /** + * Convert a key and a value into a `Pair` using the current schema, + * recursively wrapping all values as `Scalar` or `Collection` nodes. + */ + createPair(key, value, options = {}) { + const k = this.createNode(key, null, options); + const v = this.createNode(value, null, options); + return new Pair.Pair(k, v); + } + /** + * Removes a value from the document. + * @returns `true` if the item was found and removed. + */ + delete(key) { + return assertCollection(this.contents) ? this.contents.delete(key) : false; + } + /** + * Removes a value from the document. + * @returns `true` if the item was found and removed. + */ + deleteIn(path) { + if (Collection.isEmptyPath(path)) { + if (this.contents == null) + return false; + this.contents = null; + return true; + } + return assertCollection(this.contents) + ? this.contents.deleteIn(path) + : false; + } + /** + * Returns item at `key`, or `undefined` if not found. By default unwraps + * scalar values from their surrounding node; to disable set `keepScalar` to + * `true` (collections are always returned intact). + */ + get(key, keepScalar) { + return Node.isCollection(this.contents) + ? this.contents.get(key, keepScalar) + : undefined; + } + /** + * Returns item at `path`, or `undefined` if not found. By default unwraps + * scalar values from their surrounding node; to disable set `keepScalar` to + * `true` (collections are always returned intact). + */ + getIn(path, keepScalar) { + if (Collection.isEmptyPath(path)) + return !keepScalar && Node.isScalar(this.contents) + ? this.contents.value + : this.contents; + return Node.isCollection(this.contents) + ? this.contents.getIn(path, keepScalar) + : undefined; + } + /** + * Checks if the document includes a value with the key `key`. + */ + has(key) { + return Node.isCollection(this.contents) ? this.contents.has(key) : false; + } + /** + * Checks if the document includes a value at `path`. + */ + hasIn(path) { + if (Collection.isEmptyPath(path)) + return this.contents !== undefined; + return Node.isCollection(this.contents) ? this.contents.hasIn(path) : false; + } + /** + * Sets a value in this document. For `!!set`, `value` needs to be a + * boolean to add/remove the item from the set. + */ + set(key, value) { + if (this.contents == null) { + this.contents = Collection.collectionFromPath(this.schema, [key], value); + } + else if (assertCollection(this.contents)) { + this.contents.set(key, value); + } + } + /** + * Sets a value in this document. For `!!set`, `value` needs to be a + * boolean to add/remove the item from the set. + */ + setIn(path, value) { + if (Collection.isEmptyPath(path)) + this.contents = value; + else if (this.contents == null) { + this.contents = Collection.collectionFromPath(this.schema, Array.from(path), value); + } + else if (assertCollection(this.contents)) { + this.contents.setIn(path, value); + } + } + /** + * Change the YAML version and schema used by the document. + * A `null` version disables support for directives, explicit tags, anchors, and aliases. + * It also requires the `schema` option to be given as a `Schema` instance value. + * + * Overrides all previously set schema options. + */ + setSchema(version, options = {}) { + if (typeof version === 'number') + version = String(version); + let opt; + switch (version) { + case '1.1': + if (this.directives) + this.directives.yaml.version = '1.1'; + else + this.directives = new directives.Directives({ version: '1.1' }); + opt = { merge: true, resolveKnownTags: false, schema: 'yaml-1.1' }; + break; + case '1.2': + case 'next': + if (this.directives) + this.directives.yaml.version = version; + else + this.directives = new directives.Directives({ version }); + opt = { merge: false, resolveKnownTags: true, schema: 'core' }; + break; + case null: + if (this.directives) + delete this.directives; + opt = null; + break; + default: { + const sv = JSON.stringify(version); + throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`); + } + } + // Not using `instanceof Schema` to allow for duck typing + if (options.schema instanceof Object) + this.schema = options.schema; + else if (opt) + this.schema = new Schema.Schema(Object.assign(opt, options)); + else + throw new Error(`With a null YAML version, the { schema: Schema } option is required`); + } + // json & jsonArg are only used from toJSON() + toJS({ json, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) { + const ctx = { + anchors: new Map(), + doc: this, + keep: !json, + mapAsMap: mapAsMap === true, + mapKeyWarned: false, + maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100, + stringify: stringify.stringify + }; + const res = toJS.toJS(this.contents, jsonArg ?? '', ctx); + if (typeof onAnchor === 'function') + for (const { count, res } of ctx.anchors.values()) + onAnchor(res, count); + return typeof reviver === 'function' + ? applyReviver.applyReviver(reviver, { '': res }, '', res) + : res; + } + /** + * A JSON representation of the document `contents`. + * + * @param jsonArg Used by `JSON.stringify` to indicate the array index or + * property name. + */ + toJSON(jsonArg, onAnchor) { + return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor }); + } + /** A YAML representation of the document. */ + toString(options = {}) { + if (this.errors.length > 0) + throw new Error('Document with errors cannot be stringified'); + if ('indent' in options && + (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) { + const s = JSON.stringify(options.indent); + throw new Error(`"indent" option must be a positive integer, not ${s}`); + } + return stringifyDocument.stringifyDocument(this, options); + } +} +function assertCollection(contents) { + if (Node.isCollection(contents)) + return true; + throw new Error('Expected a YAML collection as document contents'); +} + +exports.Document = Document; + + +/***/ }), + +/***/ 8459: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var visit = __nccwpck_require__(6796); + +/** + * Verify that the input string is a valid anchor. + * + * Will throw on errors. + */ +function anchorIsValid(anchor) { + if (/[\x00-\x19\s,[\]{}]/.test(anchor)) { + const sa = JSON.stringify(anchor); + const msg = `Anchor must not contain whitespace or control characters: ${sa}`; + throw new Error(msg); + } + return true; +} +function anchorNames(root) { + const anchors = new Set(); + visit.visit(root, { + Value(_key, node) { + if (node.anchor) + anchors.add(node.anchor); + } + }); + return anchors; +} +/** Find a new anchor name with the given `prefix` and a one-indexed suffix. */ +function findNewAnchor(prefix, exclude) { + for (let i = 1; true; ++i) { + const name = `${prefix}${i}`; + if (!exclude.has(name)) + return name; + } +} +function createNodeAnchors(doc, prefix) { + const aliasObjects = []; + const sourceObjects = new Map(); + let prevAnchors = null; + return { + onAnchor: (source) => { + aliasObjects.push(source); + if (!prevAnchors) + prevAnchors = anchorNames(doc); + const anchor = findNewAnchor(prefix, prevAnchors); + prevAnchors.add(anchor); + return anchor; + }, + /** + * With circular references, the source node is only resolved after all + * of its child nodes are. This is why anchors are set only after all of + * the nodes have been created. + */ + setAnchors: () => { + for (const source of aliasObjects) { + const ref = sourceObjects.get(source); + if (typeof ref === 'object' && + ref.anchor && + (Node.isScalar(ref.node) || Node.isCollection(ref.node))) { + ref.node.anchor = ref.anchor; + } + else { + const error = new Error('Failed to resolve repeated object (this should not happen)'); + error.source = source; + throw error; + } + } + }, + sourceObjects + }; +} + +exports.anchorIsValid = anchorIsValid; +exports.anchorNames = anchorNames; +exports.createNodeAnchors = createNodeAnchors; +exports.findNewAnchor = findNewAnchor; + + +/***/ }), + +/***/ 3412: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +/** + * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec, + * in section 24.5.1.1 "Runtime Semantics: InternalizeJSONProperty" of the + * 2021 edition: https://tc39.es/ecma262/#sec-json.parse + * + * Includes extensions for handling Map and Set objects. + */ +function applyReviver(reviver, obj, key, val) { + if (val && typeof val === 'object') { + if (Array.isArray(val)) { + for (let i = 0, len = val.length; i < len; ++i) { + const v0 = val[i]; + const v1 = applyReviver(reviver, val, String(i), v0); + if (v1 === undefined) + delete val[i]; + else if (v1 !== v0) + val[i] = v1; + } + } + else if (val instanceof Map) { + for (const k of Array.from(val.keys())) { + const v0 = val.get(k); + const v1 = applyReviver(reviver, val, k, v0); + if (v1 === undefined) + val.delete(k); + else if (v1 !== v0) + val.set(k, v1); + } + } + else if (val instanceof Set) { + for (const v0 of Array.from(val)) { + const v1 = applyReviver(reviver, val, v0, v0); + if (v1 === undefined) + val.delete(v0); + else if (v1 !== v0) { + val.delete(v0); + val.add(v1); + } + } + } + else { + for (const [k, v0] of Object.entries(val)) { + const v1 = applyReviver(reviver, val, k, v0); + if (v1 === undefined) + delete val[k]; + else if (v1 !== v0) + val[k] = v1; + } + } + } + return reviver.call(obj, key, val); +} + +exports.applyReviver = applyReviver; + + +/***/ }), + +/***/ 9652: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Alias = __nccwpck_require__(5639); +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); + +const defaultTagPrefix = 'tag:yaml.org,2002:'; +function findTagObject(value, tagName, tags) { + if (tagName) { + const match = tags.filter(t => t.tag === tagName); + const tagObj = match.find(t => !t.format) ?? match[0]; + if (!tagObj) + throw new Error(`Tag ${tagName} not found`); + return tagObj; + } + return tags.find(t => t.identify?.(value) && !t.format); +} +function createNode(value, tagName, ctx) { + if (Node.isDocument(value)) + value = value.contents; + if (Node.isNode(value)) + return value; + if (Node.isPair(value)) { + const map = ctx.schema[Node.MAP].createNode?.(ctx.schema, null, ctx); + map.items.push(value); + return map; + } + if (value instanceof String || + value instanceof Number || + value instanceof Boolean || + (typeof BigInt !== 'undefined' && value instanceof BigInt) // not supported everywhere + ) { + // https://tc39.es/ecma262/#sec-serializejsonproperty + value = value.valueOf(); + } + const { aliasDuplicateObjects, onAnchor, onTagObj, schema, sourceObjects } = ctx; + // Detect duplicate references to the same object & use Alias nodes for all + // after first. The `ref` wrapper allows for circular references to resolve. + let ref = undefined; + if (aliasDuplicateObjects && value && typeof value === 'object') { + ref = sourceObjects.get(value); + if (ref) { + if (!ref.anchor) + ref.anchor = onAnchor(value); + return new Alias.Alias(ref.anchor); + } + else { + ref = { anchor: null, node: null }; + sourceObjects.set(value, ref); + } + } + if (tagName?.startsWith('!!')) + tagName = defaultTagPrefix + tagName.slice(2); + let tagObj = findTagObject(value, tagName, schema.tags); + if (!tagObj) { + if (value && typeof value.toJSON === 'function') { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + value = value.toJSON(); + } + if (!value || typeof value !== 'object') { + const node = new Scalar.Scalar(value); + if (ref) + ref.node = node; + return node; + } + tagObj = + value instanceof Map + ? schema[Node.MAP] + : Symbol.iterator in Object(value) + ? schema[Node.SEQ] + : schema[Node.MAP]; + } + if (onTagObj) { + onTagObj(tagObj); + delete ctx.onTagObj; + } + const node = tagObj?.createNode + ? tagObj.createNode(ctx.schema, value, ctx) + : new Scalar.Scalar(value); + if (tagName) + node.tag = tagName; + if (ref) + ref.node = node; + return node; +} + +exports.createNode = createNode; + + +/***/ }), + +/***/ 5400: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var visit = __nccwpck_require__(6796); + +const escapeChars = { + '!': '%21', + ',': '%2C', + '[': '%5B', + ']': '%5D', + '{': '%7B', + '}': '%7D' +}; +const escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, ch => escapeChars[ch]); +class Directives { + constructor(yaml, tags) { + /** + * The directives-end/doc-start marker `---`. If `null`, a marker may still be + * included in the document's stringified representation. + */ + this.docStart = null; + /** The doc-end marker `...`. */ + this.docEnd = false; + this.yaml = Object.assign({}, Directives.defaultYaml, yaml); + this.tags = Object.assign({}, Directives.defaultTags, tags); + } + clone() { + const copy = new Directives(this.yaml, this.tags); + copy.docStart = this.docStart; + return copy; + } + /** + * During parsing, get a Directives instance for the current document and + * update the stream state according to the current version's spec. + */ + atDocument() { + const res = new Directives(this.yaml, this.tags); + switch (this.yaml.version) { + case '1.1': + this.atNextDocument = true; + break; + case '1.2': + this.atNextDocument = false; + this.yaml = { + explicit: Directives.defaultYaml.explicit, + version: '1.2' + }; + this.tags = Object.assign({}, Directives.defaultTags); + break; + } + return res; + } + /** + * @param onError - May be called even if the action was successful + * @returns `true` on success + */ + add(line, onError) { + if (this.atNextDocument) { + this.yaml = { explicit: Directives.defaultYaml.explicit, version: '1.1' }; + this.tags = Object.assign({}, Directives.defaultTags); + this.atNextDocument = false; + } + const parts = line.trim().split(/[ \t]+/); + const name = parts.shift(); + switch (name) { + case '%TAG': { + if (parts.length !== 2) { + onError(0, '%TAG directive should contain exactly two parts'); + if (parts.length < 2) + return false; + } + const [handle, prefix] = parts; + this.tags[handle] = prefix; + return true; + } + case '%YAML': { + this.yaml.explicit = true; + if (parts.length !== 1) { + onError(0, '%YAML directive should contain exactly one part'); + return false; + } + const [version] = parts; + if (version === '1.1' || version === '1.2') { + this.yaml.version = version; + return true; + } + else { + const isValid = /^\d+\.\d+$/.test(version); + onError(6, `Unsupported YAML version ${version}`, isValid); + return false; + } + } + default: + onError(0, `Unknown directive ${name}`, true); + return false; + } + } + /** + * Resolves a tag, matching handles to those defined in %TAG directives. + * + * @returns Resolved tag, which may also be the non-specific tag `'!'` or a + * `'!local'` tag, or `null` if unresolvable. + */ + tagName(source, onError) { + if (source === '!') + return '!'; // non-specific tag + if (source[0] !== '!') { + onError(`Not a valid tag: ${source}`); + return null; + } + if (source[1] === '<') { + const verbatim = source.slice(2, -1); + if (verbatim === '!' || verbatim === '!!') { + onError(`Verbatim tags aren't resolved, so ${source} is invalid.`); + return null; + } + if (source[source.length - 1] !== '>') + onError('Verbatim tags must end with a >'); + return verbatim; + } + const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/); + if (!suffix) + onError(`The ${source} tag has no suffix`); + const prefix = this.tags[handle]; + if (prefix) + return prefix + decodeURIComponent(suffix); + if (handle === '!') + return source; // local tag + onError(`Could not resolve tag: ${source}`); + return null; + } + /** + * Given a fully resolved tag, returns its printable string form, + * taking into account current tag prefixes and defaults. + */ + tagString(tag) { + for (const [handle, prefix] of Object.entries(this.tags)) { + if (tag.startsWith(prefix)) + return handle + escapeTagName(tag.substring(prefix.length)); + } + return tag[0] === '!' ? tag : `!<${tag}>`; + } + toString(doc) { + const lines = this.yaml.explicit + ? [`%YAML ${this.yaml.version || '1.2'}`] + : []; + const tagEntries = Object.entries(this.tags); + let tagNames; + if (doc && tagEntries.length > 0 && Node.isNode(doc.contents)) { + const tags = {}; + visit.visit(doc.contents, (_key, node) => { + if (Node.isNode(node) && node.tag) + tags[node.tag] = true; + }); + tagNames = Object.keys(tags); + } + else + tagNames = []; + for (const [handle, prefix] of tagEntries) { + if (handle === '!!' && prefix === 'tag:yaml.org,2002:') + continue; + if (!doc || tagNames.some(tn => tn.startsWith(prefix))) + lines.push(`%TAG ${handle} ${prefix}`); + } + return lines.join('\n'); + } +} +Directives.defaultYaml = { explicit: false, version: '1.2' }; +Directives.defaultTags = { '!!': 'tag:yaml.org,2002:' }; + +exports.Directives = Directives; + + +/***/ }), + +/***/ 4236: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +class YAMLError extends Error { + constructor(name, pos, code, message) { + super(); + this.name = name; + this.code = code; + this.message = message; + this.pos = pos; + } +} +class YAMLParseError extends YAMLError { + constructor(pos, code, message) { + super('YAMLParseError', pos, code, message); + } +} +class YAMLWarning extends YAMLError { + constructor(pos, code, message) { + super('YAMLWarning', pos, code, message); + } +} +const prettifyError = (src, lc) => (error) => { + if (error.pos[0] === -1) + return; + error.linePos = error.pos.map(pos => lc.linePos(pos)); + const { line, col } = error.linePos[0]; + error.message += ` at line ${line}, column ${col}`; + let ci = col - 1; + let lineStr = src + .substring(lc.lineStarts[line - 1], lc.lineStarts[line]) + .replace(/[\n\r]+$/, ''); + // Trim to max 80 chars, keeping col position near the middle + if (ci >= 60 && lineStr.length > 80) { + const trimStart = Math.min(ci - 39, lineStr.length - 79); + lineStr = '…' + lineStr.substring(trimStart); + ci -= trimStart - 1; + } + if (lineStr.length > 80) + lineStr = lineStr.substring(0, 79) + '…'; + // Include previous line in context if pointing at line start + if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) { + // Regexp won't match if start is trimmed + let prev = src.substring(lc.lineStarts[line - 2], lc.lineStarts[line - 1]); + if (prev.length > 80) + prev = prev.substring(0, 79) + '…\n'; + lineStr = prev + lineStr; + } + if (/[^ ]/.test(lineStr)) { + let count = 1; + const end = error.linePos[1]; + if (end && end.line === line && end.col > col) { + count = Math.min(end.col - col, 80 - ci); + } + const pointer = ' '.repeat(ci) + '^'.repeat(count); + error.message += `:\n\n${lineStr}\n${pointer}\n`; + } +}; + +exports.YAMLError = YAMLError; +exports.YAMLParseError = YAMLParseError; +exports.YAMLWarning = YAMLWarning; +exports.prettifyError = prettifyError; + + +/***/ }), + +/***/ 4083: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var composer = __nccwpck_require__(9493); +var Document = __nccwpck_require__(42); +var Schema = __nccwpck_require__(6831); +var errors = __nccwpck_require__(4236); +var Alias = __nccwpck_require__(5639); +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var Scalar = __nccwpck_require__(9338); +var YAMLMap = __nccwpck_require__(6011); +var YAMLSeq = __nccwpck_require__(5161); +var cst = __nccwpck_require__(9169); +var lexer = __nccwpck_require__(5976); +var lineCounter = __nccwpck_require__(1929); +var parser = __nccwpck_require__(3328); +var publicApi = __nccwpck_require__(8649); +var visit = __nccwpck_require__(6796); + + + +exports.Composer = composer.Composer; +exports.Document = Document.Document; +exports.Schema = Schema.Schema; +exports.YAMLError = errors.YAMLError; +exports.YAMLParseError = errors.YAMLParseError; +exports.YAMLWarning = errors.YAMLWarning; +exports.Alias = Alias.Alias; +exports.isAlias = Node.isAlias; +exports.isCollection = Node.isCollection; +exports.isDocument = Node.isDocument; +exports.isMap = Node.isMap; +exports.isNode = Node.isNode; +exports.isPair = Node.isPair; +exports.isScalar = Node.isScalar; +exports.isSeq = Node.isSeq; +exports.Pair = Pair.Pair; +exports.Scalar = Scalar.Scalar; +exports.YAMLMap = YAMLMap.YAMLMap; +exports.YAMLSeq = YAMLSeq.YAMLSeq; +exports.CST = cst; +exports.Lexer = lexer.Lexer; +exports.LineCounter = lineCounter.LineCounter; +exports.Parser = parser.Parser; +exports.parse = publicApi.parse; +exports.parseAllDocuments = publicApi.parseAllDocuments; +exports.parseDocument = publicApi.parseDocument; +exports.stringify = publicApi.stringify; +exports.visit = visit.visit; +exports.visitAsync = visit.visitAsync; + + +/***/ }), + +/***/ 6909: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function debug(logLevel, ...messages) { + if (logLevel === 'debug') + console.log(...messages); +} +function warn(logLevel, warning) { + if (logLevel === 'debug' || logLevel === 'warn') { + if (typeof process !== 'undefined' && process.emitWarning) + process.emitWarning(warning); + else + console.warn(warning); + } +} + +exports.debug = debug; +exports.warn = warn; + + +/***/ }), + +/***/ 5639: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var anchors = __nccwpck_require__(8459); +var visit = __nccwpck_require__(6796); +var Node = __nccwpck_require__(1399); + +class Alias extends Node.NodeBase { + constructor(source) { + super(Node.ALIAS); + this.source = source; + Object.defineProperty(this, 'tag', { + set() { + throw new Error('Alias nodes cannot have tags'); + } + }); + } + /** + * Resolve the value of this alias within `doc`, finding the last + * instance of the `source` anchor before this node. + */ + resolve(doc) { + let found = undefined; + visit.visit(doc, { + Node: (_key, node) => { + if (node === this) + return visit.visit.BREAK; + if (node.anchor === this.source) + found = node; + } + }); + return found; + } + toJSON(_arg, ctx) { + if (!ctx) + return { source: this.source }; + const { anchors, doc, maxAliasCount } = ctx; + const source = this.resolve(doc); + if (!source) { + const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; + throw new ReferenceError(msg); + } + const data = anchors.get(source); + /* istanbul ignore if */ + if (!data || data.res === undefined) { + const msg = 'This should not happen: Alias anchor was not resolved?'; + throw new ReferenceError(msg); + } + if (maxAliasCount >= 0) { + data.count += 1; + if (data.aliasCount === 0) + data.aliasCount = getAliasCount(doc, source, anchors); + if (data.count * data.aliasCount > maxAliasCount) { + const msg = 'Excessive alias count indicates a resource exhaustion attack'; + throw new ReferenceError(msg); + } + } + return data.res; + } + toString(ctx, _onComment, _onChompKeep) { + const src = `*${this.source}`; + if (ctx) { + anchors.anchorIsValid(this.source); + if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) { + const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; + throw new Error(msg); + } + if (ctx.implicitKey) + return `${src} `; + } + return src; + } +} +function getAliasCount(doc, node, anchors) { + if (Node.isAlias(node)) { + const source = node.resolve(doc); + const anchor = anchors && source && anchors.get(source); + return anchor ? anchor.count * anchor.aliasCount : 0; + } + else if (Node.isCollection(node)) { + let count = 0; + for (const item of node.items) { + const c = getAliasCount(doc, item, anchors); + if (c > count) + count = c; + } + return count; + } + else if (Node.isPair(node)) { + const kc = getAliasCount(doc, node.key, anchors); + const vc = getAliasCount(doc, node.value, anchors); + return Math.max(kc, vc); + } + return 1; +} + +exports.Alias = Alias; + + +/***/ }), + +/***/ 3466: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var createNode = __nccwpck_require__(9652); +var Node = __nccwpck_require__(1399); + +function collectionFromPath(schema, path, value) { + let v = value; + for (let i = path.length - 1; i >= 0; --i) { + const k = path[i]; + if (typeof k === 'number' && Number.isInteger(k) && k >= 0) { + const a = []; + a[k] = v; + v = a; + } + else { + v = new Map([[k, v]]); + } + } + return createNode.createNode(v, undefined, { + aliasDuplicateObjects: false, + keepUndefined: false, + onAnchor: () => { + throw new Error('This should not happen, please report a bug.'); + }, + schema, + sourceObjects: new Map() + }); +} +// Type guard is intentionally a little wrong so as to be more useful, +// as it does not cover untypable empty non-string iterables (e.g. []). +const isEmptyPath = (path) => path == null || + (typeof path === 'object' && !!path[Symbol.iterator]().next().done); +class Collection extends Node.NodeBase { + constructor(type, schema) { + super(type); + Object.defineProperty(this, 'schema', { + value: schema, + configurable: true, + enumerable: false, + writable: true + }); + } + /** + * Create a copy of this collection. + * + * @param schema - If defined, overwrites the original's schema + */ + clone(schema) { + const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this)); + if (schema) + copy.schema = schema; + copy.items = copy.items.map(it => Node.isNode(it) || Node.isPair(it) ? it.clone(schema) : it); + if (this.range) + copy.range = this.range.slice(); + return copy; + } + /** + * Adds a value to the collection. For `!!map` and `!!omap` the value must + * be a Pair instance or a `{ key, value }` object, which may not have a key + * that already exists in the map. + */ + addIn(path, value) { + if (isEmptyPath(path)) + this.add(value); + else { + const [key, ...rest] = path; + const node = this.get(key, true); + if (Node.isCollection(node)) + node.addIn(rest, value); + else if (node === undefined && this.schema) + this.set(key, collectionFromPath(this.schema, rest, value)); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + } + /** + * Removes a value from the collection. + * @returns `true` if the item was found and removed. + */ + deleteIn(path) { + const [key, ...rest] = path; + if (rest.length === 0) + return this.delete(key); + const node = this.get(key, true); + if (Node.isCollection(node)) + return node.deleteIn(rest); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + /** + * Returns item at `key`, or `undefined` if not found. By default unwraps + * scalar values from their surrounding node; to disable set `keepScalar` to + * `true` (collections are always returned intact). + */ + getIn(path, keepScalar) { + const [key, ...rest] = path; + const node = this.get(key, true); + if (rest.length === 0) + return !keepScalar && Node.isScalar(node) ? node.value : node; + else + return Node.isCollection(node) ? node.getIn(rest, keepScalar) : undefined; + } + hasAllNullValues(allowScalar) { + return this.items.every(node => { + if (!Node.isPair(node)) + return false; + const n = node.value; + return (n == null || + (allowScalar && + Node.isScalar(n) && + n.value == null && + !n.commentBefore && + !n.comment && + !n.tag)); + }); + } + /** + * Checks if the collection includes a value with the key `key`. + */ + hasIn(path) { + const [key, ...rest] = path; + if (rest.length === 0) + return this.has(key); + const node = this.get(key, true); + return Node.isCollection(node) ? node.hasIn(rest) : false; + } + /** + * Sets a value in this collection. For `!!set`, `value` needs to be a + * boolean to add/remove the item from the set. + */ + setIn(path, value) { + const [key, ...rest] = path; + if (rest.length === 0) { + this.set(key, value); + } + else { + const node = this.get(key, true); + if (Node.isCollection(node)) + node.setIn(rest, value); + else if (node === undefined && this.schema) + this.set(key, collectionFromPath(this.schema, rest, value)); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + } +} +Collection.maxFlowStringSingleLineLength = 60; + +exports.Collection = Collection; +exports.collectionFromPath = collectionFromPath; +exports.isEmptyPath = isEmptyPath; + + +/***/ }), + +/***/ 1399: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +const ALIAS = Symbol.for('yaml.alias'); +const DOC = Symbol.for('yaml.document'); +const MAP = Symbol.for('yaml.map'); +const PAIR = Symbol.for('yaml.pair'); +const SCALAR = Symbol.for('yaml.scalar'); +const SEQ = Symbol.for('yaml.seq'); +const NODE_TYPE = Symbol.for('yaml.node.type'); +const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS; +const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC; +const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP; +const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR; +const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR; +const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ; +function isCollection(node) { + if (node && typeof node === 'object') + switch (node[NODE_TYPE]) { + case MAP: + case SEQ: + return true; + } + return false; +} +function isNode(node) { + if (node && typeof node === 'object') + switch (node[NODE_TYPE]) { + case ALIAS: + case MAP: + case SCALAR: + case SEQ: + return true; + } + return false; +} +const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor; +class NodeBase { + constructor(type) { + Object.defineProperty(this, NODE_TYPE, { value: type }); + } + /** Create a copy of this node. */ + clone() { + const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this)); + if (this.range) + copy.range = this.range.slice(); + return copy; + } +} + +exports.ALIAS = ALIAS; +exports.DOC = DOC; +exports.MAP = MAP; +exports.NODE_TYPE = NODE_TYPE; +exports.NodeBase = NodeBase; +exports.PAIR = PAIR; +exports.SCALAR = SCALAR; +exports.SEQ = SEQ; +exports.hasAnchor = hasAnchor; +exports.isAlias = isAlias; +exports.isCollection = isCollection; +exports.isDocument = isDocument; +exports.isMap = isMap; +exports.isNode = isNode; +exports.isPair = isPair; +exports.isScalar = isScalar; +exports.isSeq = isSeq; + + +/***/ }), + +/***/ 246: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var createNode = __nccwpck_require__(9652); +var stringifyPair = __nccwpck_require__(4875); +var addPairToJSMap = __nccwpck_require__(4676); +var Node = __nccwpck_require__(1399); + +function createPair(key, value, ctx) { + const k = createNode.createNode(key, undefined, ctx); + const v = createNode.createNode(value, undefined, ctx); + return new Pair(k, v); +} +class Pair { + constructor(key, value = null) { + Object.defineProperty(this, Node.NODE_TYPE, { value: Node.PAIR }); + this.key = key; + this.value = value; + } + clone(schema) { + let { key, value } = this; + if (Node.isNode(key)) + key = key.clone(schema); + if (Node.isNode(value)) + value = value.clone(schema); + return new Pair(key, value); + } + toJSON(_, ctx) { + const pair = ctx?.mapAsMap ? new Map() : {}; + return addPairToJSMap.addPairToJSMap(ctx, pair, this); + } + toString(ctx, onComment, onChompKeep) { + return ctx?.doc + ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep) + : JSON.stringify(this); + } +} + +exports.Pair = Pair; +exports.createPair = createPair; + + +/***/ }), + +/***/ 9338: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var toJS = __nccwpck_require__(2463); + +const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object'); +class Scalar extends Node.NodeBase { + constructor(value) { + super(Node.SCALAR); + this.value = value; + } + toJSON(arg, ctx) { + return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx); + } + toString() { + return String(this.value); + } +} +Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED'; +Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL'; +Scalar.PLAIN = 'PLAIN'; +Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE'; +Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE'; + +exports.Scalar = Scalar; +exports.isScalarValue = isScalarValue; + + +/***/ }), + +/***/ 6011: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyCollection = __nccwpck_require__(2466); +var addPairToJSMap = __nccwpck_require__(4676); +var Collection = __nccwpck_require__(3466); +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var Scalar = __nccwpck_require__(9338); + +function findPair(items, key) { + const k = Node.isScalar(key) ? key.value : key; + for (const it of items) { + if (Node.isPair(it)) { + if (it.key === key || it.key === k) + return it; + if (Node.isScalar(it.key) && it.key.value === k) + return it; + } + } + return undefined; +} +class YAMLMap extends Collection.Collection { + constructor(schema) { + super(Node.MAP, schema); + this.items = []; + } + static get tagName() { + return 'tag:yaml.org,2002:map'; + } + /** + * Adds a value to the collection. + * + * @param overwrite - If not set `true`, using a key that is already in the + * collection will throw. Otherwise, overwrites the previous value. + */ + add(pair, overwrite) { + let _pair; + if (Node.isPair(pair)) + _pair = pair; + else if (!pair || typeof pair !== 'object' || !('key' in pair)) { + // In TypeScript, this never happens. + _pair = new Pair.Pair(pair, pair?.value); + } + else + _pair = new Pair.Pair(pair.key, pair.value); + const prev = findPair(this.items, _pair.key); + const sortEntries = this.schema?.sortMapEntries; + if (prev) { + if (!overwrite) + throw new Error(`Key ${_pair.key} already set`); + // For scalars, keep the old node & its comments and anchors + if (Node.isScalar(prev.value) && Scalar.isScalarValue(_pair.value)) + prev.value.value = _pair.value; + else + prev.value = _pair.value; + } + else if (sortEntries) { + const i = this.items.findIndex(item => sortEntries(_pair, item) < 0); + if (i === -1) + this.items.push(_pair); + else + this.items.splice(i, 0, _pair); + } + else { + this.items.push(_pair); + } + } + delete(key) { + const it = findPair(this.items, key); + if (!it) + return false; + const del = this.items.splice(this.items.indexOf(it), 1); + return del.length > 0; + } + get(key, keepScalar) { + const it = findPair(this.items, key); + const node = it?.value; + return (!keepScalar && Node.isScalar(node) ? node.value : node) ?? undefined; + } + has(key) { + return !!findPair(this.items, key); + } + set(key, value) { + this.add(new Pair.Pair(key, value), true); + } + /** + * @param ctx - Conversion context, originally set in Document#toJS() + * @param {Class} Type - If set, forces the returned collection type + * @returns Instance of Type, Map, or Object + */ + toJSON(_, ctx, Type) { + const map = Type ? new Type() : ctx?.mapAsMap ? new Map() : {}; + if (ctx?.onCreate) + ctx.onCreate(map); + for (const item of this.items) + addPairToJSMap.addPairToJSMap(ctx, map, item); + return map; + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + for (const item of this.items) { + if (!Node.isPair(item)) + throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`); + } + if (!ctx.allNullValues && this.hasAllNullValues(false)) + ctx = Object.assign({}, ctx, { allNullValues: true }); + return stringifyCollection.stringifyCollection(this, ctx, { + blockItemPrefix: '', + flowChars: { start: '{', end: '}' }, + itemIndent: ctx.indent || '', + onChompKeep, + onComment + }); + } +} + +exports.YAMLMap = YAMLMap; +exports.findPair = findPair; + + +/***/ }), + +/***/ 5161: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyCollection = __nccwpck_require__(2466); +var Collection = __nccwpck_require__(3466); +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); +var toJS = __nccwpck_require__(2463); + +class YAMLSeq extends Collection.Collection { + constructor(schema) { + super(Node.SEQ, schema); + this.items = []; + } + static get tagName() { + return 'tag:yaml.org,2002:seq'; + } + add(value) { + this.items.push(value); + } + /** + * Removes a value from the collection. + * + * `key` must contain a representation of an integer for this to succeed. + * It may be wrapped in a `Scalar`. + * + * @returns `true` if the item was found and removed. + */ + delete(key) { + const idx = asItemIndex(key); + if (typeof idx !== 'number') + return false; + const del = this.items.splice(idx, 1); + return del.length > 0; + } + get(key, keepScalar) { + const idx = asItemIndex(key); + if (typeof idx !== 'number') + return undefined; + const it = this.items[idx]; + return !keepScalar && Node.isScalar(it) ? it.value : it; + } + /** + * Checks if the collection includes a value with the key `key`. + * + * `key` must contain a representation of an integer for this to succeed. + * It may be wrapped in a `Scalar`. + */ + has(key) { + const idx = asItemIndex(key); + return typeof idx === 'number' && idx < this.items.length; + } + /** + * Sets a value in this collection. For `!!set`, `value` needs to be a + * boolean to add/remove the item from the set. + * + * If `key` does not contain a representation of an integer, this will throw. + * It may be wrapped in a `Scalar`. + */ + set(key, value) { + const idx = asItemIndex(key); + if (typeof idx !== 'number') + throw new Error(`Expected a valid index, not ${key}.`); + const prev = this.items[idx]; + if (Node.isScalar(prev) && Scalar.isScalarValue(value)) + prev.value = value; + else + this.items[idx] = value; + } + toJSON(_, ctx) { + const seq = []; + if (ctx?.onCreate) + ctx.onCreate(seq); + let i = 0; + for (const item of this.items) + seq.push(toJS.toJS(item, String(i++), ctx)); + return seq; + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + return stringifyCollection.stringifyCollection(this, ctx, { + blockItemPrefix: '- ', + flowChars: { start: '[', end: ']' }, + itemIndent: (ctx.indent || '') + ' ', + onChompKeep, + onComment + }); + } +} +function asItemIndex(key) { + let idx = Node.isScalar(key) ? key.value : key; + if (idx && typeof idx === 'string') + idx = Number(idx); + return typeof idx === 'number' && Number.isInteger(idx) && idx >= 0 + ? idx + : null; +} + +exports.YAMLSeq = YAMLSeq; + + +/***/ }), + +/***/ 4676: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var log = __nccwpck_require__(6909); +var stringify = __nccwpck_require__(8409); +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); +var toJS = __nccwpck_require__(2463); + +const MERGE_KEY = '<<'; +function addPairToJSMap(ctx, map, { key, value }) { + if (ctx?.doc.schema.merge && isMergeKey(key)) { + value = Node.isAlias(value) ? value.resolve(ctx.doc) : value; + if (Node.isSeq(value)) + for (const it of value.items) + mergeToJSMap(ctx, map, it); + else if (Array.isArray(value)) + for (const it of value) + mergeToJSMap(ctx, map, it); + else + mergeToJSMap(ctx, map, value); + } + else { + const jsKey = toJS.toJS(key, '', ctx); + if (map instanceof Map) { + map.set(jsKey, toJS.toJS(value, jsKey, ctx)); + } + else if (map instanceof Set) { + map.add(jsKey); + } + else { + const stringKey = stringifyKey(key, jsKey, ctx); + const jsValue = toJS.toJS(value, stringKey, ctx); + if (stringKey in map) + Object.defineProperty(map, stringKey, { + value: jsValue, + writable: true, + enumerable: true, + configurable: true + }); + else + map[stringKey] = jsValue; + } + } + return map; +} +const isMergeKey = (key) => key === MERGE_KEY || + (Node.isScalar(key) && + key.value === MERGE_KEY && + (!key.type || key.type === Scalar.Scalar.PLAIN)); +// If the value associated with a merge key is a single mapping node, each of +// its key/value pairs is inserted into the current mapping, unless the key +// already exists in it. If the value associated with the merge key is a +// sequence, then this sequence is expected to contain mapping nodes and each +// of these nodes is merged in turn according to its order in the sequence. +// Keys in mapping nodes earlier in the sequence override keys specified in +// later mapping nodes. -- http://yaml.org/type/merge.html +function mergeToJSMap(ctx, map, value) { + const source = ctx && Node.isAlias(value) ? value.resolve(ctx.doc) : value; + if (!Node.isMap(source)) + throw new Error('Merge sources must be maps or map aliases'); + const srcMap = source.toJSON(null, ctx, Map); + for (const [key, value] of srcMap) { + if (map instanceof Map) { + if (!map.has(key)) + map.set(key, value); + } + else if (map instanceof Set) { + map.add(key); + } + else if (!Object.prototype.hasOwnProperty.call(map, key)) { + Object.defineProperty(map, key, { + value, + writable: true, + enumerable: true, + configurable: true + }); + } + } + return map; +} +function stringifyKey(key, jsKey, ctx) { + if (jsKey === null) + return ''; + if (typeof jsKey !== 'object') + return String(jsKey); + if (Node.isNode(key) && ctx && ctx.doc) { + const strCtx = stringify.createStringifyContext(ctx.doc, {}); + strCtx.anchors = new Set(); + for (const node of ctx.anchors.keys()) + strCtx.anchors.add(node.anchor); + strCtx.inFlow = true; + strCtx.inStringifyKey = true; + const strKey = key.toString(strCtx); + if (!ctx.mapKeyWarned) { + let jsonStr = JSON.stringify(strKey); + if (jsonStr.length > 40) + jsonStr = jsonStr.substring(0, 36) + '..."'; + log.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`); + ctx.mapKeyWarned = true; + } + return strKey; + } + return JSON.stringify(jsKey); +} + +exports.addPairToJSMap = addPairToJSMap; + + +/***/ }), + +/***/ 2463: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); + +/** + * Recursively convert any node or its contents to native JavaScript + * + * @param value - The input value + * @param arg - If `value` defines a `toJSON()` method, use this + * as its first argument + * @param ctx - Conversion context, originally set in Document#toJS(). If + * `{ keep: true }` is not set, output should be suitable for JSON + * stringification. + */ +function toJS(value, arg, ctx) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + if (Array.isArray(value)) + return value.map((v, i) => toJS(v, String(i), ctx)); + if (value && typeof value.toJSON === 'function') { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + if (!ctx || !Node.hasAnchor(value)) + return value.toJSON(arg, ctx); + const data = { aliasCount: 0, count: 1, res: undefined }; + ctx.anchors.set(value, data); + ctx.onCreate = res => { + data.res = res; + delete ctx.onCreate; + }; + const res = value.toJSON(arg, ctx); + if (ctx.onCreate) + ctx.onCreate(res); + return res; + } + if (typeof value === 'bigint' && !ctx?.keep) + return Number(value); + return value; +} + +exports.toJS = toJS; + + +/***/ }), + +/***/ 9027: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var resolveBlockScalar = __nccwpck_require__(9485); +var resolveFlowScalar = __nccwpck_require__(7578); +var errors = __nccwpck_require__(4236); +var stringifyString = __nccwpck_require__(6226); + +function resolveAsScalar(token, strict = true, onError) { + if (token) { + const _onError = (pos, code, message) => { + const offset = typeof pos === 'number' ? pos : Array.isArray(pos) ? pos[0] : pos.offset; + if (onError) + onError(offset, code, message); + else + throw new errors.YAMLParseError([offset, offset + 1], code, message); + }; + switch (token.type) { + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': + return resolveFlowScalar.resolveFlowScalar(token, strict, _onError); + case 'block-scalar': + return resolveBlockScalar.resolveBlockScalar(token, strict, _onError); + } + } + return null; +} +/** + * Create a new scalar token with `value` + * + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`, + * as this function does not support any schema operations and won't check for such conflicts. + * + * @param value The string representation of the value, which will have its content properly indented. + * @param context.end Comments and whitespace after the end of the value, or after the block scalar header. If undefined, a newline will be added. + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value. + * @param context.indent The indent level of the token. + * @param context.inFlow Is this scalar within a flow collection? This may affect the resolved type of the token's value. + * @param context.offset The offset position of the token. + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`. + */ +function createScalarToken(value, context) { + const { implicitKey = false, indent, inFlow = false, offset = -1, type = 'PLAIN' } = context; + const source = stringifyString.stringifyString({ type, value }, { + implicitKey, + indent: indent > 0 ? ' '.repeat(indent) : '', + inFlow, + options: { blockQuote: true, lineWidth: -1 } + }); + const end = context.end ?? [ + { type: 'newline', offset: -1, indent, source: '\n' } + ]; + switch (source[0]) { + case '|': + case '>': { + const he = source.indexOf('\n'); + const head = source.substring(0, he); + const body = source.substring(he + 1) + '\n'; + const props = [ + { type: 'block-scalar-header', offset, indent, source: head } + ]; + if (!addEndtoBlockProps(props, end)) + props.push({ type: 'newline', offset: -1, indent, source: '\n' }); + return { type: 'block-scalar', offset, indent, props, source: body }; + } + case '"': + return { type: 'double-quoted-scalar', offset, indent, source, end }; + case "'": + return { type: 'single-quoted-scalar', offset, indent, source, end }; + default: + return { type: 'scalar', offset, indent, source, end }; + } +} +/** + * Set the value of `token` to the given string `value`, overwriting any previous contents and type that it may have. + * + * Best efforts are made to retain any comments previously associated with the `token`, + * though all contents within a collection's `items` will be overwritten. + * + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`, + * as this function does not support any schema operations and won't check for such conflicts. + * + * @param token Any token. If it does not include an `indent` value, the value will be stringified as if it were an implicit key. + * @param value The string representation of the value, which will have its content properly indented. + * @param context.afterKey In most cases, values after a key should have an additional level of indentation. + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value. + * @param context.inFlow Being within a flow collection may affect the resolved type of the token's value. + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`. + */ +function setScalarValue(token, value, context = {}) { + let { afterKey = false, implicitKey = false, inFlow = false, type } = context; + let indent = 'indent' in token ? token.indent : null; + if (afterKey && typeof indent === 'number') + indent += 2; + if (!type) + switch (token.type) { + case 'single-quoted-scalar': + type = 'QUOTE_SINGLE'; + break; + case 'double-quoted-scalar': + type = 'QUOTE_DOUBLE'; + break; + case 'block-scalar': { + const header = token.props[0]; + if (header.type !== 'block-scalar-header') + throw new Error('Invalid block scalar header'); + type = header.source[0] === '>' ? 'BLOCK_FOLDED' : 'BLOCK_LITERAL'; + break; + } + default: + type = 'PLAIN'; + } + const source = stringifyString.stringifyString({ type, value }, { + implicitKey: implicitKey || indent === null, + indent: indent !== null && indent > 0 ? ' '.repeat(indent) : '', + inFlow, + options: { blockQuote: true, lineWidth: -1 } + }); + switch (source[0]) { + case '|': + case '>': + setBlockScalarValue(token, source); + break; + case '"': + setFlowScalarValue(token, source, 'double-quoted-scalar'); + break; + case "'": + setFlowScalarValue(token, source, 'single-quoted-scalar'); + break; + default: + setFlowScalarValue(token, source, 'scalar'); + } +} +function setBlockScalarValue(token, source) { + const he = source.indexOf('\n'); + const head = source.substring(0, he); + const body = source.substring(he + 1) + '\n'; + if (token.type === 'block-scalar') { + const header = token.props[0]; + if (header.type !== 'block-scalar-header') + throw new Error('Invalid block scalar header'); + header.source = head; + token.source = body; + } + else { + const { offset } = token; + const indent = 'indent' in token ? token.indent : -1; + const props = [ + { type: 'block-scalar-header', offset, indent, source: head } + ]; + if (!addEndtoBlockProps(props, 'end' in token ? token.end : undefined)) + props.push({ type: 'newline', offset: -1, indent, source: '\n' }); + for (const key of Object.keys(token)) + if (key !== 'type' && key !== 'offset') + delete token[key]; + Object.assign(token, { type: 'block-scalar', indent, props, source: body }); + } +} +/** @returns `true` if last token is a newline */ +function addEndtoBlockProps(props, end) { + if (end) + for (const st of end) + switch (st.type) { + case 'space': + case 'comment': + props.push(st); + break; + case 'newline': + props.push(st); + return true; + } + return false; +} +function setFlowScalarValue(token, source, type) { + switch (token.type) { + case 'scalar': + case 'double-quoted-scalar': + case 'single-quoted-scalar': + token.type = type; + token.source = source; + break; + case 'block-scalar': { + const end = token.props.slice(1); + let oa = source.length; + if (token.props[0].type === 'block-scalar-header') + oa -= token.props[0].source.length; + for (const tok of end) + tok.offset += oa; + delete token.props; + Object.assign(token, { type, source, end }); + break; + } + case 'block-map': + case 'block-seq': { + const offset = token.offset + source.length; + const nl = { type: 'newline', offset, indent: token.indent, source: '\n' }; + delete token.items; + Object.assign(token, { type, source, end: [nl] }); + break; + } + default: { + const indent = 'indent' in token ? token.indent : -1; + const end = 'end' in token && Array.isArray(token.end) + ? token.end.filter(st => st.type === 'space' || + st.type === 'comment' || + st.type === 'newline') + : []; + for (const key of Object.keys(token)) + if (key !== 'type' && key !== 'offset') + delete token[key]; + Object.assign(token, { type, indent, source, end }); + } + } +} + +exports.createScalarToken = createScalarToken; +exports.resolveAsScalar = resolveAsScalar; +exports.setScalarValue = setScalarValue; + + +/***/ }), + +/***/ 6307: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +/** + * Stringify a CST document, token, or collection item + * + * Fair warning: This applies no validation whatsoever, and + * simply concatenates the sources in their logical order. + */ +const stringify = (cst) => 'type' in cst ? stringifyToken(cst) : stringifyItem(cst); +function stringifyToken(token) { + switch (token.type) { + case 'block-scalar': { + let res = ''; + for (const tok of token.props) + res += stringifyToken(tok); + return res + token.source; + } + case 'block-map': + case 'block-seq': { + let res = ''; + for (const item of token.items) + res += stringifyItem(item); + return res; + } + case 'flow-collection': { + let res = token.start.source; + for (const item of token.items) + res += stringifyItem(item); + for (const st of token.end) + res += st.source; + return res; + } + case 'document': { + let res = stringifyItem(token); + if (token.end) + for (const st of token.end) + res += st.source; + return res; + } + default: { + let res = token.source; + if ('end' in token && token.end) + for (const st of token.end) + res += st.source; + return res; + } + } +} +function stringifyItem({ start, key, sep, value }) { + let res = ''; + for (const st of start) + res += st.source; + if (key) + res += stringifyToken(key); + if (sep) + for (const st of sep) + res += st.source; + if (value) + res += stringifyToken(value); + return res; +} + +exports.stringify = stringify; + + +/***/ }), + +/***/ 8497: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +const BREAK = Symbol('break visit'); +const SKIP = Symbol('skip children'); +const REMOVE = Symbol('remove item'); +/** + * Apply a visitor to a CST document or item. + * + * Walks through the tree (depth-first) starting from the root, calling a + * `visitor` function with two arguments when entering each item: + * - `item`: The current item, which included the following members: + * - `start: SourceToken[]` – Source tokens before the key or value, + * possibly including its anchor or tag. + * - `key?: Token | null` – Set for pair values. May then be `null`, if + * the key before the `:` separator is empty. + * - `sep?: SourceToken[]` – Source tokens between the key and the value, + * which should include the `:` map value indicator if `value` is set. + * - `value?: Token` – The value of a sequence item, or of a map pair. + * - `path`: The steps from the root to the current node, as an array of + * `['key' | 'value', number]` tuples. + * + * The return value of the visitor may be used to control the traversal: + * - `undefined` (default): Do nothing and continue + * - `visit.SKIP`: Do not visit the children of this token, continue with + * next sibling + * - `visit.BREAK`: Terminate traversal completely + * - `visit.REMOVE`: Remove the current item, then continue with the next one + * - `number`: Set the index of the next step. This is useful especially if + * the index of the current token has changed. + * - `function`: Define the next visitor for this item. After the original + * visitor is called on item entry, next visitors are called after handling + * a non-empty `key` and when exiting the item. + */ +function visit(cst, visitor) { + if ('type' in cst && cst.type === 'document') + cst = { start: cst.start, value: cst.value }; + _visit(Object.freeze([]), cst, visitor); +} +// Without the `as symbol` casts, TS declares these in the `visit` +// namespace using `var`, but then complains about that because +// `unique symbol` must be `const`. +/** Terminate visit traversal completely */ +visit.BREAK = BREAK; +/** Do not visit the children of the current item */ +visit.SKIP = SKIP; +/** Remove the current item */ +visit.REMOVE = REMOVE; +/** Find the item at `path` from `cst` as the root */ +visit.itemAtPath = (cst, path) => { + let item = cst; + for (const [field, index] of path) { + const tok = item?.[field]; + if (tok && 'items' in tok) { + item = tok.items[index]; + } + else + return undefined; + } + return item; +}; +/** + * Get the immediate parent collection of the item at `path` from `cst` as the root. + * + * Throws an error if the collection is not found, which should never happen if the item itself exists. + */ +visit.parentCollection = (cst, path) => { + const parent = visit.itemAtPath(cst, path.slice(0, -1)); + const field = path[path.length - 1][0]; + const coll = parent?.[field]; + if (coll && 'items' in coll) + return coll; + throw new Error('Parent collection not found'); +}; +function _visit(path, item, visitor) { + let ctrl = visitor(item, path); + if (typeof ctrl === 'symbol') + return ctrl; + for (const field of ['key', 'value']) { + const token = item[field]; + if (token && 'items' in token) { + for (let i = 0; i < token.items.length; ++i) { + const ci = _visit(Object.freeze(path.concat([[field, i]])), token.items[i], visitor); + if (typeof ci === 'number') + i = ci - 1; + else if (ci === BREAK) + return BREAK; + else if (ci === REMOVE) { + token.items.splice(i, 1); + i -= 1; + } + } + if (typeof ctrl === 'function' && field === 'key') + ctrl = ctrl(item, path); + } + } + return typeof ctrl === 'function' ? ctrl(item, path) : ctrl; +} + +exports.visit = visit; + + +/***/ }), + +/***/ 9169: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var cstScalar = __nccwpck_require__(9027); +var cstStringify = __nccwpck_require__(6307); +var cstVisit = __nccwpck_require__(8497); + +/** The byte order mark */ +const BOM = '\u{FEFF}'; +/** Start of doc-mode */ +const DOCUMENT = '\x02'; // C0: Start of Text +/** Unexpected end of flow-mode */ +const FLOW_END = '\x18'; // C0: Cancel +/** Next token is a scalar value */ +const SCALAR = '\x1f'; // C0: Unit Separator +/** @returns `true` if `token` is a flow or block collection */ +const isCollection = (token) => !!token && 'items' in token; +/** @returns `true` if `token` is a flow or block scalar; not an alias */ +const isScalar = (token) => !!token && + (token.type === 'scalar' || + token.type === 'single-quoted-scalar' || + token.type === 'double-quoted-scalar' || + token.type === 'block-scalar'); +/* istanbul ignore next */ +/** Get a printable representation of a lexer token */ +function prettyToken(token) { + switch (token) { + case BOM: + return ''; + case DOCUMENT: + return ''; + case FLOW_END: + return ''; + case SCALAR: + return ''; + default: + return JSON.stringify(token); + } +} +/** Identify the type of a lexer token. May return `null` for unknown tokens. */ +function tokenType(source) { + switch (source) { + case BOM: + return 'byte-order-mark'; + case DOCUMENT: + return 'doc-mode'; + case FLOW_END: + return 'flow-error-end'; + case SCALAR: + return 'scalar'; + case '---': + return 'doc-start'; + case '...': + return 'doc-end'; + case '': + case '\n': + case '\r\n': + return 'newline'; + case '-': + return 'seq-item-ind'; + case '?': + return 'explicit-key-ind'; + case ':': + return 'map-value-ind'; + case '{': + return 'flow-map-start'; + case '}': + return 'flow-map-end'; + case '[': + return 'flow-seq-start'; + case ']': + return 'flow-seq-end'; + case ',': + return 'comma'; + } + switch (source[0]) { + case ' ': + case '\t': + return 'space'; + case '#': + return 'comment'; + case '%': + return 'directive-line'; + case '*': + return 'alias'; + case '&': + return 'anchor'; + case '!': + return 'tag'; + case "'": + return 'single-quoted-scalar'; + case '"': + return 'double-quoted-scalar'; + case '|': + case '>': + return 'block-scalar-header'; + } + return null; +} + +exports.createScalarToken = cstScalar.createScalarToken; +exports.resolveAsScalar = cstScalar.resolveAsScalar; +exports.setScalarValue = cstScalar.setScalarValue; +exports.stringify = cstStringify.stringify; +exports.visit = cstVisit.visit; +exports.BOM = BOM; +exports.DOCUMENT = DOCUMENT; +exports.FLOW_END = FLOW_END; +exports.SCALAR = SCALAR; +exports.isCollection = isCollection; +exports.isScalar = isScalar; +exports.prettyToken = prettyToken; +exports.tokenType = tokenType; + + +/***/ }), + +/***/ 5976: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var cst = __nccwpck_require__(9169); + +/* +START -> stream + +stream + directive -> line-end -> stream + indent + line-end -> stream + [else] -> line-start + +line-end + comment -> line-end + newline -> . + input-end -> END + +line-start + doc-start -> doc + doc-end -> stream + [else] -> indent -> block-start + +block-start + seq-item-start -> block-start + explicit-key-start -> block-start + map-value-start -> block-start + [else] -> doc + +doc + line-end -> line-start + spaces -> doc + anchor -> doc + tag -> doc + flow-start -> flow -> doc + flow-end -> error -> doc + seq-item-start -> error -> doc + explicit-key-start -> error -> doc + map-value-start -> doc + alias -> doc + quote-start -> quoted-scalar -> doc + block-scalar-header -> line-end -> block-scalar(min) -> line-start + [else] -> plain-scalar(false, min) -> doc + +flow + line-end -> flow + spaces -> flow + anchor -> flow + tag -> flow + flow-start -> flow -> flow + flow-end -> . + seq-item-start -> error -> flow + explicit-key-start -> flow + map-value-start -> flow + alias -> flow + quote-start -> quoted-scalar -> flow + comma -> flow + [else] -> plain-scalar(true, 0) -> flow + +quoted-scalar + quote-end -> . + [else] -> quoted-scalar + +block-scalar(min) + newline + peek(indent < min) -> . + [else] -> block-scalar(min) + +plain-scalar(is-flow, min) + scalar-end(is-flow) -> . + peek(newline + (indent < min)) -> . + [else] -> plain-scalar(min) +*/ +function isEmpty(ch) { + switch (ch) { + case undefined: + case ' ': + case '\n': + case '\r': + case '\t': + return true; + default: + return false; + } +} +const hexDigits = '0123456789ABCDEFabcdef'.split(''); +const tagChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()".split(''); +const invalidFlowScalarChars = ',[]{}'.split(''); +const invalidAnchorChars = ' ,[]{}\n\r\t'.split(''); +const isNotAnchorChar = (ch) => !ch || invalidAnchorChars.includes(ch); +/** + * Splits an input string into lexical tokens, i.e. smaller strings that are + * easily identifiable by `tokens.tokenType()`. + * + * Lexing starts always in a "stream" context. Incomplete input may be buffered + * until a complete token can be emitted. + * + * In addition to slices of the original input, the following control characters + * may also be emitted: + * + * - `\x02` (Start of Text): A document starts with the next token + * - `\x18` (Cancel): Unexpected end of flow-mode (indicates an error) + * - `\x1f` (Unit Separator): Next token is a scalar value + * - `\u{FEFF}` (Byte order mark): Emitted separately outside documents + */ +class Lexer { + constructor() { + /** + * Flag indicating whether the end of the current buffer marks the end of + * all input + */ + this.atEnd = false; + /** + * Explicit indent set in block scalar header, as an offset from the current + * minimum indent, so e.g. set to 1 from a header `|2+`. Set to -1 if not + * explicitly set. + */ + this.blockScalarIndent = -1; + /** + * Block scalars that include a + (keep) chomping indicator in their header + * include trailing empty lines, which are otherwise excluded from the + * scalar's contents. + */ + this.blockScalarKeep = false; + /** Current input */ + this.buffer = ''; + /** + * Flag noting whether the map value indicator : can immediately follow this + * node within a flow context. + */ + this.flowKey = false; + /** Count of surrounding flow collection levels. */ + this.flowLevel = 0; + /** + * Minimum level of indentation required for next lines to be parsed as a + * part of the current scalar value. + */ + this.indentNext = 0; + /** Indentation level of the current line. */ + this.indentValue = 0; + /** Position of the next \n character. */ + this.lineEndPos = null; + /** Stores the state of the lexer if reaching the end of incpomplete input */ + this.next = null; + /** A pointer to `buffer`; the current position of the lexer. */ + this.pos = 0; + } + /** + * Generate YAML tokens from the `source` string. If `incomplete`, + * a part of the last line may be left as a buffer for the next call. + * + * @returns A generator of lexical tokens + */ + *lex(source, incomplete = false) { + if (source) { + this.buffer = this.buffer ? this.buffer + source : source; + this.lineEndPos = null; + } + this.atEnd = !incomplete; + let next = this.next ?? 'stream'; + while (next && (incomplete || this.hasChars(1))) + next = yield* this.parseNext(next); + } + atLineEnd() { + let i = this.pos; + let ch = this.buffer[i]; + while (ch === ' ' || ch === '\t') + ch = this.buffer[++i]; + if (!ch || ch === '#' || ch === '\n') + return true; + if (ch === '\r') + return this.buffer[i + 1] === '\n'; + return false; + } + charAt(n) { + return this.buffer[this.pos + n]; + } + continueScalar(offset) { + let ch = this.buffer[offset]; + if (this.indentNext > 0) { + let indent = 0; + while (ch === ' ') + ch = this.buffer[++indent + offset]; + if (ch === '\r') { + const next = this.buffer[indent + offset + 1]; + if (next === '\n' || (!next && !this.atEnd)) + return offset + indent + 1; + } + return ch === '\n' || indent >= this.indentNext || (!ch && !this.atEnd) + ? offset + indent + : -1; + } + if (ch === '-' || ch === '.') { + const dt = this.buffer.substr(offset, 3); + if ((dt === '---' || dt === '...') && isEmpty(this.buffer[offset + 3])) + return -1; + } + return offset; + } + getLine() { + let end = this.lineEndPos; + if (typeof end !== 'number' || (end !== -1 && end < this.pos)) { + end = this.buffer.indexOf('\n', this.pos); + this.lineEndPos = end; + } + if (end === -1) + return this.atEnd ? this.buffer.substring(this.pos) : null; + if (this.buffer[end - 1] === '\r') + end -= 1; + return this.buffer.substring(this.pos, end); + } + hasChars(n) { + return this.pos + n <= this.buffer.length; + } + setNext(state) { + this.buffer = this.buffer.substring(this.pos); + this.pos = 0; + this.lineEndPos = null; + this.next = state; + return null; + } + peek(n) { + return this.buffer.substr(this.pos, n); + } + *parseNext(next) { + switch (next) { + case 'stream': + return yield* this.parseStream(); + case 'line-start': + return yield* this.parseLineStart(); + case 'block-start': + return yield* this.parseBlockStart(); + case 'doc': + return yield* this.parseDocument(); + case 'flow': + return yield* this.parseFlowCollection(); + case 'quoted-scalar': + return yield* this.parseQuotedScalar(); + case 'block-scalar': + return yield* this.parseBlockScalar(); + case 'plain-scalar': + return yield* this.parsePlainScalar(); + } + } + *parseStream() { + let line = this.getLine(); + if (line === null) + return this.setNext('stream'); + if (line[0] === cst.BOM) { + yield* this.pushCount(1); + line = line.substring(1); + } + if (line[0] === '%') { + let dirEnd = line.length; + const cs = line.indexOf('#'); + if (cs !== -1) { + const ch = line[cs - 1]; + if (ch === ' ' || ch === '\t') + dirEnd = cs - 1; + } + while (true) { + const ch = line[dirEnd - 1]; + if (ch === ' ' || ch === '\t') + dirEnd -= 1; + else + break; + } + const n = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true)); + yield* this.pushCount(line.length - n); // possible comment + this.pushNewline(); + return 'stream'; + } + if (this.atLineEnd()) { + const sp = yield* this.pushSpaces(true); + yield* this.pushCount(line.length - sp); + yield* this.pushNewline(); + return 'stream'; + } + yield cst.DOCUMENT; + return yield* this.parseLineStart(); + } + *parseLineStart() { + const ch = this.charAt(0); + if (!ch && !this.atEnd) + return this.setNext('line-start'); + if (ch === '-' || ch === '.') { + if (!this.atEnd && !this.hasChars(4)) + return this.setNext('line-start'); + const s = this.peek(3); + if (s === '---' && isEmpty(this.charAt(3))) { + yield* this.pushCount(3); + this.indentValue = 0; + this.indentNext = 0; + return 'doc'; + } + else if (s === '...' && isEmpty(this.charAt(3))) { + yield* this.pushCount(3); + return 'stream'; + } + } + this.indentValue = yield* this.pushSpaces(false); + if (this.indentNext > this.indentValue && !isEmpty(this.charAt(1))) + this.indentNext = this.indentValue; + return yield* this.parseBlockStart(); + } + *parseBlockStart() { + const [ch0, ch1] = this.peek(2); + if (!ch1 && !this.atEnd) + return this.setNext('block-start'); + if ((ch0 === '-' || ch0 === '?' || ch0 === ':') && isEmpty(ch1)) { + const n = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true)); + this.indentNext = this.indentValue + 1; + this.indentValue += n; + return yield* this.parseBlockStart(); + } + return 'doc'; + } + *parseDocument() { + yield* this.pushSpaces(true); + const line = this.getLine(); + if (line === null) + return this.setNext('doc'); + let n = yield* this.pushIndicators(); + switch (line[n]) { + case '#': + yield* this.pushCount(line.length - n); + // fallthrough + case undefined: + yield* this.pushNewline(); + return yield* this.parseLineStart(); + case '{': + case '[': + yield* this.pushCount(1); + this.flowKey = false; + this.flowLevel = 1; + return 'flow'; + case '}': + case ']': + // this is an error + yield* this.pushCount(1); + return 'doc'; + case '*': + yield* this.pushUntil(isNotAnchorChar); + return 'doc'; + case '"': + case "'": + return yield* this.parseQuotedScalar(); + case '|': + case '>': + n += yield* this.parseBlockScalarHeader(); + n += yield* this.pushSpaces(true); + yield* this.pushCount(line.length - n); + yield* this.pushNewline(); + return yield* this.parseBlockScalar(); + default: + return yield* this.parsePlainScalar(); + } + } + *parseFlowCollection() { + let nl, sp; + let indent = -1; + do { + nl = yield* this.pushNewline(); + if (nl > 0) { + sp = yield* this.pushSpaces(false); + this.indentValue = indent = sp; + } + else { + sp = 0; + } + sp += yield* this.pushSpaces(true); + } while (nl + sp > 0); + const line = this.getLine(); + if (line === null) + return this.setNext('flow'); + if ((indent !== -1 && indent < this.indentNext && line[0] !== '#') || + (indent === 0 && + (line.startsWith('---') || line.startsWith('...')) && + isEmpty(line[3]))) { + // Allowing for the terminal ] or } at the same (rather than greater) + // indent level as the initial [ or { is technically invalid, but + // failing here would be surprising to users. + const atFlowEndMarker = indent === this.indentNext - 1 && + this.flowLevel === 1 && + (line[0] === ']' || line[0] === '}'); + if (!atFlowEndMarker) { + // this is an error + this.flowLevel = 0; + yield cst.FLOW_END; + return yield* this.parseLineStart(); + } + } + let n = 0; + while (line[n] === ',') { + n += yield* this.pushCount(1); + n += yield* this.pushSpaces(true); + this.flowKey = false; + } + n += yield* this.pushIndicators(); + switch (line[n]) { + case undefined: + return 'flow'; + case '#': + yield* this.pushCount(line.length - n); + return 'flow'; + case '{': + case '[': + yield* this.pushCount(1); + this.flowKey = false; + this.flowLevel += 1; + return 'flow'; + case '}': + case ']': + yield* this.pushCount(1); + this.flowKey = true; + this.flowLevel -= 1; + return this.flowLevel ? 'flow' : 'doc'; + case '*': + yield* this.pushUntil(isNotAnchorChar); + return 'flow'; + case '"': + case "'": + this.flowKey = true; + return yield* this.parseQuotedScalar(); + case ':': { + const next = this.charAt(1); + if (this.flowKey || isEmpty(next) || next === ',') { + this.flowKey = false; + yield* this.pushCount(1); + yield* this.pushSpaces(true); + return 'flow'; + } + } + // fallthrough + default: + this.flowKey = false; + return yield* this.parsePlainScalar(); + } + } + *parseQuotedScalar() { + const quote = this.charAt(0); + let end = this.buffer.indexOf(quote, this.pos + 1); + if (quote === "'") { + while (end !== -1 && this.buffer[end + 1] === "'") + end = this.buffer.indexOf("'", end + 2); + } + else { + // double-quote + while (end !== -1) { + let n = 0; + while (this.buffer[end - 1 - n] === '\\') + n += 1; + if (n % 2 === 0) + break; + end = this.buffer.indexOf('"', end + 1); + } + } + // Only looking for newlines within the quotes + const qb = this.buffer.substring(0, end); + let nl = qb.indexOf('\n', this.pos); + if (nl !== -1) { + while (nl !== -1) { + const cs = this.continueScalar(nl + 1); + if (cs === -1) + break; + nl = qb.indexOf('\n', cs); + } + if (nl !== -1) { + // this is an error caused by an unexpected unindent + end = nl - (qb[nl - 1] === '\r' ? 2 : 1); + } + } + if (end === -1) { + if (!this.atEnd) + return this.setNext('quoted-scalar'); + end = this.buffer.length; + } + yield* this.pushToIndex(end + 1, false); + return this.flowLevel ? 'flow' : 'doc'; + } + *parseBlockScalarHeader() { + this.blockScalarIndent = -1; + this.blockScalarKeep = false; + let i = this.pos; + while (true) { + const ch = this.buffer[++i]; + if (ch === '+') + this.blockScalarKeep = true; + else if (ch > '0' && ch <= '9') + this.blockScalarIndent = Number(ch) - 1; + else if (ch !== '-') + break; + } + return yield* this.pushUntil(ch => isEmpty(ch) || ch === '#'); + } + *parseBlockScalar() { + let nl = this.pos - 1; // may be -1 if this.pos === 0 + let indent = 0; + let ch; + loop: for (let i = this.pos; (ch = this.buffer[i]); ++i) { + switch (ch) { + case ' ': + indent += 1; + break; + case '\n': + nl = i; + indent = 0; + break; + case '\r': { + const next = this.buffer[i + 1]; + if (!next && !this.atEnd) + return this.setNext('block-scalar'); + if (next === '\n') + break; + } // fallthrough + default: + break loop; + } + } + if (!ch && !this.atEnd) + return this.setNext('block-scalar'); + if (indent >= this.indentNext) { + if (this.blockScalarIndent === -1) + this.indentNext = indent; + else + this.indentNext += this.blockScalarIndent; + do { + const cs = this.continueScalar(nl + 1); + if (cs === -1) + break; + nl = this.buffer.indexOf('\n', cs); + } while (nl !== -1); + if (nl === -1) { + if (!this.atEnd) + return this.setNext('block-scalar'); + nl = this.buffer.length; + } + } + if (!this.blockScalarKeep) { + do { + let i = nl - 1; + let ch = this.buffer[i]; + if (ch === '\r') + ch = this.buffer[--i]; + const lastChar = i; // Drop the line if last char not more indented + while (ch === ' ' || ch === '\t') + ch = this.buffer[--i]; + if (ch === '\n' && i >= this.pos && i + 1 + indent > lastChar) + nl = i; + else + break; + } while (true); + } + yield cst.SCALAR; + yield* this.pushToIndex(nl + 1, true); + return yield* this.parseLineStart(); + } + *parsePlainScalar() { + const inFlow = this.flowLevel > 0; + let end = this.pos - 1; + let i = this.pos - 1; + let ch; + while ((ch = this.buffer[++i])) { + if (ch === ':') { + const next = this.buffer[i + 1]; + if (isEmpty(next) || (inFlow && next === ',')) + break; + end = i; + } + else if (isEmpty(ch)) { + let next = this.buffer[i + 1]; + if (ch === '\r') { + if (next === '\n') { + i += 1; + ch = '\n'; + next = this.buffer[i + 1]; + } + else + end = i; + } + if (next === '#' || (inFlow && invalidFlowScalarChars.includes(next))) + break; + if (ch === '\n') { + const cs = this.continueScalar(i + 1); + if (cs === -1) + break; + i = Math.max(i, cs - 2); // to advance, but still account for ' #' + } + } + else { + if (inFlow && invalidFlowScalarChars.includes(ch)) + break; + end = i; + } + } + if (!ch && !this.atEnd) + return this.setNext('plain-scalar'); + yield cst.SCALAR; + yield* this.pushToIndex(end + 1, true); + return inFlow ? 'flow' : 'doc'; + } + *pushCount(n) { + if (n > 0) { + yield this.buffer.substr(this.pos, n); + this.pos += n; + return n; + } + return 0; + } + *pushToIndex(i, allowEmpty) { + const s = this.buffer.slice(this.pos, i); + if (s) { + yield s; + this.pos += s.length; + return s.length; + } + else if (allowEmpty) + yield ''; + return 0; + } + *pushIndicators() { + switch (this.charAt(0)) { + case '!': + return ((yield* this.pushTag()) + + (yield* this.pushSpaces(true)) + + (yield* this.pushIndicators())); + case '&': + return ((yield* this.pushUntil(isNotAnchorChar)) + + (yield* this.pushSpaces(true)) + + (yield* this.pushIndicators())); + case '-': // this is an error + case '?': // this is an error outside flow collections + case ':': { + const inFlow = this.flowLevel > 0; + const ch1 = this.charAt(1); + if (isEmpty(ch1) || (inFlow && invalidFlowScalarChars.includes(ch1))) { + if (!inFlow) + this.indentNext = this.indentValue + 1; + else if (this.flowKey) + this.flowKey = false; + return ((yield* this.pushCount(1)) + + (yield* this.pushSpaces(true)) + + (yield* this.pushIndicators())); + } + } + } + return 0; + } + *pushTag() { + if (this.charAt(1) === '<') { + let i = this.pos + 2; + let ch = this.buffer[i]; + while (!isEmpty(ch) && ch !== '>') + ch = this.buffer[++i]; + return yield* this.pushToIndex(ch === '>' ? i + 1 : i, false); + } + else { + let i = this.pos + 1; + let ch = this.buffer[i]; + while (ch) { + if (tagChars.includes(ch)) + ch = this.buffer[++i]; + else if (ch === '%' && + hexDigits.includes(this.buffer[i + 1]) && + hexDigits.includes(this.buffer[i + 2])) { + ch = this.buffer[(i += 3)]; + } + else + break; + } + return yield* this.pushToIndex(i, false); + } + } + *pushNewline() { + const ch = this.buffer[this.pos]; + if (ch === '\n') + return yield* this.pushCount(1); + else if (ch === '\r' && this.charAt(1) === '\n') + return yield* this.pushCount(2); + else + return 0; + } + *pushSpaces(allowTabs) { + let i = this.pos - 1; + let ch; + do { + ch = this.buffer[++i]; + } while (ch === ' ' || (allowTabs && ch === '\t')); + const n = i - this.pos; + if (n > 0) { + yield this.buffer.substr(this.pos, n); + this.pos = i; + } + return n; + } + *pushUntil(test) { + let i = this.pos; + let ch = this.buffer[i]; + while (!test(ch)) + ch = this.buffer[++i]; + return yield* this.pushToIndex(i, false); + } +} + +exports.Lexer = Lexer; + + +/***/ }), + +/***/ 1929: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +/** + * Tracks newlines during parsing in order to provide an efficient API for + * determining the one-indexed `{ line, col }` position for any offset + * within the input. + */ +class LineCounter { + constructor() { + this.lineStarts = []; + /** + * Should be called in ascending order. Otherwise, call + * `lineCounter.lineStarts.sort()` before calling `linePos()`. + */ + this.addNewLine = (offset) => this.lineStarts.push(offset); + /** + * Performs a binary search and returns the 1-indexed { line, col } + * position of `offset`. If `line === 0`, `addNewLine` has never been + * called or `offset` is before the first known newline. + */ + this.linePos = (offset) => { + let low = 0; + let high = this.lineStarts.length; + while (low < high) { + const mid = (low + high) >> 1; // Math.floor((low + high) / 2) + if (this.lineStarts[mid] < offset) + low = mid + 1; + else + high = mid; + } + if (this.lineStarts[low] === offset) + return { line: low + 1, col: 1 }; + if (low === 0) + return { line: 0, col: offset }; + const start = this.lineStarts[low - 1]; + return { line: low, col: offset - start + 1 }; + }; + } +} + +exports.LineCounter = LineCounter; + + +/***/ }), + +/***/ 3328: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var cst = __nccwpck_require__(9169); +var lexer = __nccwpck_require__(5976); + +function includesToken(list, type) { + for (let i = 0; i < list.length; ++i) + if (list[i].type === type) + return true; + return false; +} +function findNonEmptyIndex(list) { + for (let i = 0; i < list.length; ++i) { + switch (list[i].type) { + case 'space': + case 'comment': + case 'newline': + break; + default: + return i; + } + } + return -1; +} +function isFlowToken(token) { + switch (token?.type) { + case 'alias': + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': + case 'flow-collection': + return true; + default: + return false; + } +} +function getPrevProps(parent) { + switch (parent.type) { + case 'document': + return parent.start; + case 'block-map': { + const it = parent.items[parent.items.length - 1]; + return it.sep ?? it.start; + } + case 'block-seq': + return parent.items[parent.items.length - 1].start; + /* istanbul ignore next should not happen */ + default: + return []; + } +} +/** Note: May modify input array */ +function getFirstKeyStartProps(prev) { + if (prev.length === 0) + return []; + let i = prev.length; + loop: while (--i >= 0) { + switch (prev[i].type) { + case 'doc-start': + case 'explicit-key-ind': + case 'map-value-ind': + case 'seq-item-ind': + case 'newline': + break loop; + } + } + while (prev[++i]?.type === 'space') { + /* loop */ + } + return prev.splice(i, prev.length); +} +function fixFlowSeqItems(fc) { + if (fc.start.type === 'flow-seq-start') { + for (const it of fc.items) { + if (it.sep && + !it.value && + !includesToken(it.start, 'explicit-key-ind') && + !includesToken(it.sep, 'map-value-ind')) { + if (it.key) + it.value = it.key; + delete it.key; + if (isFlowToken(it.value)) { + if (it.value.end) + Array.prototype.push.apply(it.value.end, it.sep); + else + it.value.end = it.sep; + } + else + Array.prototype.push.apply(it.start, it.sep); + delete it.sep; + } + } + } +} +/** + * A YAML concrete syntax tree (CST) parser + * + * ```ts + * const src: string = ... + * for (const token of new Parser().parse(src)) { + * // token: Token + * } + * ``` + * + * To use the parser with a user-provided lexer: + * + * ```ts + * function* parse(source: string, lexer: Lexer) { + * const parser = new Parser() + * for (const lexeme of lexer.lex(source)) + * yield* parser.next(lexeme) + * yield* parser.end() + * } + * + * const src: string = ... + * const lexer = new Lexer() + * for (const token of parse(src, lexer)) { + * // token: Token + * } + * ``` + */ +class Parser { + /** + * @param onNewLine - If defined, called separately with the start position of + * each new line (in `parse()`, including the start of input). + */ + constructor(onNewLine) { + /** If true, space and sequence indicators count as indentation */ + this.atNewLine = true; + /** If true, next token is a scalar value */ + this.atScalar = false; + /** Current indentation level */ + this.indent = 0; + /** Current offset since the start of parsing */ + this.offset = 0; + /** On the same line with a block map key */ + this.onKeyLine = false; + /** Top indicates the node that's currently being built */ + this.stack = []; + /** The source of the current token, set in parse() */ + this.source = ''; + /** The type of the current token, set in parse() */ + this.type = ''; + // Must be defined after `next()` + this.lexer = new lexer.Lexer(); + this.onNewLine = onNewLine; + } + /** + * Parse `source` as a YAML stream. + * If `incomplete`, a part of the last line may be left as a buffer for the next call. + * + * Errors are not thrown, but yielded as `{ type: 'error', message }` tokens. + * + * @returns A generator of tokens representing each directive, document, and other structure. + */ + *parse(source, incomplete = false) { + if (this.onNewLine && this.offset === 0) + this.onNewLine(0); + for (const lexeme of this.lexer.lex(source, incomplete)) + yield* this.next(lexeme); + if (!incomplete) + yield* this.end(); + } + /** + * Advance the parser by the `source` of one lexical token. + */ + *next(source) { + this.source = source; + if (process.env.LOG_TOKENS) + console.log('|', cst.prettyToken(source)); + if (this.atScalar) { + this.atScalar = false; + yield* this.step(); + this.offset += source.length; + return; + } + const type = cst.tokenType(source); + if (!type) { + const message = `Not a YAML token: ${source}`; + yield* this.pop({ type: 'error', offset: this.offset, message, source }); + this.offset += source.length; + } + else if (type === 'scalar') { + this.atNewLine = false; + this.atScalar = true; + this.type = 'scalar'; + } + else { + this.type = type; + yield* this.step(); + switch (type) { + case 'newline': + this.atNewLine = true; + this.indent = 0; + if (this.onNewLine) + this.onNewLine(this.offset + source.length); + break; + case 'space': + if (this.atNewLine && source[0] === ' ') + this.indent += source.length; + break; + case 'explicit-key-ind': + case 'map-value-ind': + case 'seq-item-ind': + if (this.atNewLine) + this.indent += source.length; + break; + case 'doc-mode': + case 'flow-error-end': + return; + default: + this.atNewLine = false; + } + this.offset += source.length; + } + } + /** Call at end of input to push out any remaining constructions */ + *end() { + while (this.stack.length > 0) + yield* this.pop(); + } + get sourceToken() { + const st = { + type: this.type, + offset: this.offset, + indent: this.indent, + source: this.source + }; + return st; + } + *step() { + const top = this.peek(1); + if (this.type === 'doc-end' && (!top || top.type !== 'doc-end')) { + while (this.stack.length > 0) + yield* this.pop(); + this.stack.push({ + type: 'doc-end', + offset: this.offset, + source: this.source + }); + return; + } + if (!top) + return yield* this.stream(); + switch (top.type) { + case 'document': + return yield* this.document(top); + case 'alias': + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': + return yield* this.scalar(top); + case 'block-scalar': + return yield* this.blockScalar(top); + case 'block-map': + return yield* this.blockMap(top); + case 'block-seq': + return yield* this.blockSequence(top); + case 'flow-collection': + return yield* this.flowCollection(top); + case 'doc-end': + return yield* this.documentEnd(top); + } + /* istanbul ignore next should not happen */ + yield* this.pop(); + } + peek(n) { + return this.stack[this.stack.length - n]; + } + *pop(error) { + const token = error ?? this.stack.pop(); + /* istanbul ignore if should not happen */ + if (!token) { + const message = 'Tried to pop an empty stack'; + yield { type: 'error', offset: this.offset, source: '', message }; + } + else if (this.stack.length === 0) { + yield token; + } + else { + const top = this.peek(1); + if (token.type === 'block-scalar') { + // Block scalars use their parent rather than header indent + token.indent = 'indent' in top ? top.indent : 0; + } + else if (token.type === 'flow-collection' && top.type === 'document') { + // Ignore all indent for top-level flow collections + token.indent = 0; + } + if (token.type === 'flow-collection') + fixFlowSeqItems(token); + switch (top.type) { + case 'document': + top.value = token; + break; + case 'block-scalar': + top.props.push(token); // error + break; + case 'block-map': { + const it = top.items[top.items.length - 1]; + if (it.value) { + top.items.push({ start: [], key: token, sep: [] }); + this.onKeyLine = true; + return; + } + else if (it.sep) { + it.value = token; + } + else { + Object.assign(it, { key: token, sep: [] }); + this.onKeyLine = !includesToken(it.start, 'explicit-key-ind'); + return; + } + break; + } + case 'block-seq': { + const it = top.items[top.items.length - 1]; + if (it.value) + top.items.push({ start: [], value: token }); + else + it.value = token; + break; + } + case 'flow-collection': { + const it = top.items[top.items.length - 1]; + if (!it || it.value) + top.items.push({ start: [], key: token, sep: [] }); + else if (it.sep) + it.value = token; + else + Object.assign(it, { key: token, sep: [] }); + return; + } + /* istanbul ignore next should not happen */ + default: + yield* this.pop(); + yield* this.pop(token); + } + if ((top.type === 'document' || + top.type === 'block-map' || + top.type === 'block-seq') && + (token.type === 'block-map' || token.type === 'block-seq')) { + const last = token.items[token.items.length - 1]; + if (last && + !last.sep && + !last.value && + last.start.length > 0 && + findNonEmptyIndex(last.start) === -1 && + (token.indent === 0 || + last.start.every(st => st.type !== 'comment' || st.indent < token.indent))) { + if (top.type === 'document') + top.end = last.start; + else + top.items.push({ start: last.start }); + token.items.splice(-1, 1); + } + } + } + } + *stream() { + switch (this.type) { + case 'directive-line': + yield { type: 'directive', offset: this.offset, source: this.source }; + return; + case 'byte-order-mark': + case 'space': + case 'comment': + case 'newline': + yield this.sourceToken; + return; + case 'doc-mode': + case 'doc-start': { + const doc = { + type: 'document', + offset: this.offset, + start: [] + }; + if (this.type === 'doc-start') + doc.start.push(this.sourceToken); + this.stack.push(doc); + return; + } + } + yield { + type: 'error', + offset: this.offset, + message: `Unexpected ${this.type} token in YAML stream`, + source: this.source + }; + } + *document(doc) { + if (doc.value) + return yield* this.lineEnd(doc); + switch (this.type) { + case 'doc-start': { + if (findNonEmptyIndex(doc.start) !== -1) { + yield* this.pop(); + yield* this.step(); + } + else + doc.start.push(this.sourceToken); + return; + } + case 'anchor': + case 'tag': + case 'space': + case 'comment': + case 'newline': + doc.start.push(this.sourceToken); + return; + } + const bv = this.startBlockValue(doc); + if (bv) + this.stack.push(bv); + else { + yield { + type: 'error', + offset: this.offset, + message: `Unexpected ${this.type} token in YAML document`, + source: this.source + }; + } + } + *scalar(scalar) { + if (this.type === 'map-value-ind') { + const prev = getPrevProps(this.peek(2)); + const start = getFirstKeyStartProps(prev); + let sep; + if (scalar.end) { + sep = scalar.end; + sep.push(this.sourceToken); + delete scalar.end; + } + else + sep = [this.sourceToken]; + const map = { + type: 'block-map', + offset: scalar.offset, + indent: scalar.indent, + items: [{ start, key: scalar, sep }] + }; + this.onKeyLine = true; + this.stack[this.stack.length - 1] = map; + } + else + yield* this.lineEnd(scalar); + } + *blockScalar(scalar) { + switch (this.type) { + case 'space': + case 'comment': + case 'newline': + scalar.props.push(this.sourceToken); + return; + case 'scalar': + scalar.source = this.source; + // block-scalar source includes trailing newline + this.atNewLine = true; + this.indent = 0; + if (this.onNewLine) { + let nl = this.source.indexOf('\n') + 1; + while (nl !== 0) { + this.onNewLine(this.offset + nl); + nl = this.source.indexOf('\n', nl) + 1; + } + } + yield* this.pop(); + break; + /* istanbul ignore next should not happen */ + default: + yield* this.pop(); + yield* this.step(); + } + } + *blockMap(map) { + const it = map.items[map.items.length - 1]; + // it.sep is true-ish if pair already has key or : separator + switch (this.type) { + case 'newline': + this.onKeyLine = false; + if (it.value) { + const end = 'end' in it.value ? it.value.end : undefined; + const last = Array.isArray(end) ? end[end.length - 1] : undefined; + if (last?.type === 'comment') + end?.push(this.sourceToken); + else + map.items.push({ start: [this.sourceToken] }); + } + else if (it.sep) { + it.sep.push(this.sourceToken); + } + else { + it.start.push(this.sourceToken); + } + return; + case 'space': + case 'comment': + if (it.value) { + map.items.push({ start: [this.sourceToken] }); + } + else if (it.sep) { + it.sep.push(this.sourceToken); + } + else { + if (this.atIndentedComment(it.start, map.indent)) { + const prev = map.items[map.items.length - 2]; + const end = prev?.value?.end; + if (Array.isArray(end)) { + Array.prototype.push.apply(end, it.start); + end.push(this.sourceToken); + map.items.pop(); + return; + } + } + it.start.push(this.sourceToken); + } + return; + } + if (this.indent >= map.indent) { + const atNextItem = !this.onKeyLine && this.indent === map.indent && it.sep; + // For empty nodes, assign newline-separated not indented empty tokens to following node + let start = []; + if (atNextItem && it.sep && !it.value) { + const nl = []; + for (let i = 0; i < it.sep.length; ++i) { + const st = it.sep[i]; + switch (st.type) { + case 'newline': + nl.push(i); + break; + case 'space': + break; + case 'comment': + if (st.indent > map.indent) + nl.length = 0; + break; + default: + nl.length = 0; + } + } + if (nl.length >= 2) + start = it.sep.splice(nl[1]); + } + switch (this.type) { + case 'anchor': + case 'tag': + if (atNextItem || it.value) { + start.push(this.sourceToken); + map.items.push({ start }); + this.onKeyLine = true; + } + else if (it.sep) { + it.sep.push(this.sourceToken); + } + else { + it.start.push(this.sourceToken); + } + return; + case 'explicit-key-ind': + if (!it.sep && !includesToken(it.start, 'explicit-key-ind')) { + it.start.push(this.sourceToken); + } + else if (atNextItem || it.value) { + start.push(this.sourceToken); + map.items.push({ start }); + } + else { + this.stack.push({ + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start: [this.sourceToken] }] + }); + } + this.onKeyLine = true; + return; + case 'map-value-ind': + if (includesToken(it.start, 'explicit-key-ind')) { + if (!it.sep) { + if (includesToken(it.start, 'newline')) { + Object.assign(it, { key: null, sep: [this.sourceToken] }); + } + else { + const start = getFirstKeyStartProps(it.start); + this.stack.push({ + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start, key: null, sep: [this.sourceToken] }] + }); + } + } + else if (it.value) { + map.items.push({ start: [], key: null, sep: [this.sourceToken] }); + } + else if (includesToken(it.sep, 'map-value-ind')) { + this.stack.push({ + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start, key: null, sep: [this.sourceToken] }] + }); + } + else if (isFlowToken(it.key) && + !includesToken(it.sep, 'newline')) { + const start = getFirstKeyStartProps(it.start); + const key = it.key; + const sep = it.sep; + sep.push(this.sourceToken); + // @ts-expect-error type guard is wrong here + delete it.key, delete it.sep; + this.stack.push({ + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start, key, sep }] + }); + } + else if (start.length > 0) { + // Not actually at next item + it.sep = it.sep.concat(start, this.sourceToken); + } + else { + it.sep.push(this.sourceToken); + } + } + else { + if (!it.sep) { + Object.assign(it, { key: null, sep: [this.sourceToken] }); + } + else if (it.value || atNextItem) { + map.items.push({ start, key: null, sep: [this.sourceToken] }); + } + else if (includesToken(it.sep, 'map-value-ind')) { + this.stack.push({ + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start: [], key: null, sep: [this.sourceToken] }] + }); + } + else { + it.sep.push(this.sourceToken); + } + } + this.onKeyLine = true; + return; + case 'alias': + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': { + const fs = this.flowScalar(this.type); + if (atNextItem || it.value) { + map.items.push({ start, key: fs, sep: [] }); + this.onKeyLine = true; + } + else if (it.sep) { + this.stack.push(fs); + } + else { + Object.assign(it, { key: fs, sep: [] }); + this.onKeyLine = true; + } + return; + } + default: { + const bv = this.startBlockValue(map); + if (bv) { + if (atNextItem && + bv.type !== 'block-seq' && + includesToken(it.start, 'explicit-key-ind')) { + map.items.push({ start }); + } + this.stack.push(bv); + return; + } + } + } + } + yield* this.pop(); + yield* this.step(); + } + *blockSequence(seq) { + const it = seq.items[seq.items.length - 1]; + switch (this.type) { + case 'newline': + if (it.value) { + const end = 'end' in it.value ? it.value.end : undefined; + const last = Array.isArray(end) ? end[end.length - 1] : undefined; + if (last?.type === 'comment') + end?.push(this.sourceToken); + else + seq.items.push({ start: [this.sourceToken] }); + } + else + it.start.push(this.sourceToken); + return; + case 'space': + case 'comment': + if (it.value) + seq.items.push({ start: [this.sourceToken] }); + else { + if (this.atIndentedComment(it.start, seq.indent)) { + const prev = seq.items[seq.items.length - 2]; + const end = prev?.value?.end; + if (Array.isArray(end)) { + Array.prototype.push.apply(end, it.start); + end.push(this.sourceToken); + seq.items.pop(); + return; + } + } + it.start.push(this.sourceToken); + } + return; + case 'anchor': + case 'tag': + if (it.value || this.indent <= seq.indent) + break; + it.start.push(this.sourceToken); + return; + case 'seq-item-ind': + if (this.indent !== seq.indent) + break; + if (it.value || includesToken(it.start, 'seq-item-ind')) + seq.items.push({ start: [this.sourceToken] }); + else + it.start.push(this.sourceToken); + return; + } + if (this.indent > seq.indent) { + const bv = this.startBlockValue(seq); + if (bv) { + this.stack.push(bv); + return; + } + } + yield* this.pop(); + yield* this.step(); + } + *flowCollection(fc) { + const it = fc.items[fc.items.length - 1]; + if (this.type === 'flow-error-end') { + let top; + do { + yield* this.pop(); + top = this.peek(1); + } while (top && top.type === 'flow-collection'); + } + else if (fc.end.length === 0) { + switch (this.type) { + case 'comma': + case 'explicit-key-ind': + if (!it || it.sep) + fc.items.push({ start: [this.sourceToken] }); + else + it.start.push(this.sourceToken); + return; + case 'map-value-ind': + if (!it || it.value) + fc.items.push({ start: [], key: null, sep: [this.sourceToken] }); + else if (it.sep) + it.sep.push(this.sourceToken); + else + Object.assign(it, { key: null, sep: [this.sourceToken] }); + return; + case 'space': + case 'comment': + case 'newline': + case 'anchor': + case 'tag': + if (!it || it.value) + fc.items.push({ start: [this.sourceToken] }); + else if (it.sep) + it.sep.push(this.sourceToken); + else + it.start.push(this.sourceToken); + return; + case 'alias': + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': { + const fs = this.flowScalar(this.type); + if (!it || it.value) + fc.items.push({ start: [], key: fs, sep: [] }); + else if (it.sep) + this.stack.push(fs); + else + Object.assign(it, { key: fs, sep: [] }); + return; + } + case 'flow-map-end': + case 'flow-seq-end': + fc.end.push(this.sourceToken); + return; + } + const bv = this.startBlockValue(fc); + /* istanbul ignore else should not happen */ + if (bv) + this.stack.push(bv); + else { + yield* this.pop(); + yield* this.step(); + } + } + else { + const parent = this.peek(2); + if (parent.type === 'block-map' && + ((this.type === 'map-value-ind' && parent.indent === fc.indent) || + (this.type === 'newline' && + !parent.items[parent.items.length - 1].sep))) { + yield* this.pop(); + yield* this.step(); + } + else if (this.type === 'map-value-ind' && + parent.type !== 'flow-collection') { + const prev = getPrevProps(parent); + const start = getFirstKeyStartProps(prev); + fixFlowSeqItems(fc); + const sep = fc.end.splice(1, fc.end.length); + sep.push(this.sourceToken); + const map = { + type: 'block-map', + offset: fc.offset, + indent: fc.indent, + items: [{ start, key: fc, sep }] + }; + this.onKeyLine = true; + this.stack[this.stack.length - 1] = map; + } + else { + yield* this.lineEnd(fc); + } + } + } + flowScalar(type) { + if (this.onNewLine) { + let nl = this.source.indexOf('\n') + 1; + while (nl !== 0) { + this.onNewLine(this.offset + nl); + nl = this.source.indexOf('\n', nl) + 1; + } + } + return { + type, + offset: this.offset, + indent: this.indent, + source: this.source + }; + } + startBlockValue(parent) { + switch (this.type) { + case 'alias': + case 'scalar': + case 'single-quoted-scalar': + case 'double-quoted-scalar': + return this.flowScalar(this.type); + case 'block-scalar-header': + return { + type: 'block-scalar', + offset: this.offset, + indent: this.indent, + props: [this.sourceToken], + source: '' + }; + case 'flow-map-start': + case 'flow-seq-start': + return { + type: 'flow-collection', + offset: this.offset, + indent: this.indent, + start: this.sourceToken, + items: [], + end: [] + }; + case 'seq-item-ind': + return { + type: 'block-seq', + offset: this.offset, + indent: this.indent, + items: [{ start: [this.sourceToken] }] + }; + case 'explicit-key-ind': { + this.onKeyLine = true; + const prev = getPrevProps(parent); + const start = getFirstKeyStartProps(prev); + start.push(this.sourceToken); + return { + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start }] + }; + } + case 'map-value-ind': { + this.onKeyLine = true; + const prev = getPrevProps(parent); + const start = getFirstKeyStartProps(prev); + return { + type: 'block-map', + offset: this.offset, + indent: this.indent, + items: [{ start, key: null, sep: [this.sourceToken] }] + }; + } + } + return null; + } + atIndentedComment(start, indent) { + if (this.type !== 'comment') + return false; + if (this.indent <= indent) + return false; + return start.every(st => st.type === 'newline' || st.type === 'space'); + } + *documentEnd(docEnd) { + if (this.type !== 'doc-mode') { + if (docEnd.end) + docEnd.end.push(this.sourceToken); + else + docEnd.end = [this.sourceToken]; + if (this.type === 'newline') + yield* this.pop(); + } + } + *lineEnd(token) { + switch (this.type) { + case 'comma': + case 'doc-start': + case 'doc-end': + case 'flow-seq-end': + case 'flow-map-end': + case 'map-value-ind': + yield* this.pop(); + yield* this.step(); + break; + case 'newline': + this.onKeyLine = false; + // fallthrough + case 'space': + case 'comment': + default: + // all other values are errors + if (token.end) + token.end.push(this.sourceToken); + else + token.end = [this.sourceToken]; + if (this.type === 'newline') + yield* this.pop(); + } + } +} + +exports.Parser = Parser; + + +/***/ }), + +/***/ 8649: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var composer = __nccwpck_require__(9493); +var Document = __nccwpck_require__(42); +var errors = __nccwpck_require__(4236); +var log = __nccwpck_require__(6909); +var lineCounter = __nccwpck_require__(1929); +var parser = __nccwpck_require__(3328); + +function parseOptions(options) { + const prettyErrors = options.prettyErrors !== false; + const lineCounter$1 = options.lineCounter || (prettyErrors && new lineCounter.LineCounter()) || null; + return { lineCounter: lineCounter$1, prettyErrors }; +} +/** + * Parse the input as a stream of YAML documents. + * + * Documents should be separated from each other by `...` or `---` marker lines. + * + * @returns If an empty `docs` array is returned, it will be of type + * EmptyStream and contain additional stream information. In + * TypeScript, you should use `'empty' in docs` as a type guard for it. + */ +function parseAllDocuments(source, options = {}) { + const { lineCounter, prettyErrors } = parseOptions(options); + const parser$1 = new parser.Parser(lineCounter?.addNewLine); + const composer$1 = new composer.Composer(options); + const docs = Array.from(composer$1.compose(parser$1.parse(source))); + if (prettyErrors && lineCounter) + for (const doc of docs) { + doc.errors.forEach(errors.prettifyError(source, lineCounter)); + doc.warnings.forEach(errors.prettifyError(source, lineCounter)); + } + if (docs.length > 0) + return docs; + return Object.assign([], { empty: true }, composer$1.streamInfo()); +} +/** Parse an input string into a single YAML.Document */ +function parseDocument(source, options = {}) { + const { lineCounter, prettyErrors } = parseOptions(options); + const parser$1 = new parser.Parser(lineCounter?.addNewLine); + const composer$1 = new composer.Composer(options); + // `doc` is always set by compose.end(true) at the very latest + let doc = null; + for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) { + if (!doc) + doc = _doc; + else if (doc.options.logLevel !== 'silent') { + doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()')); + break; + } + } + if (prettyErrors && lineCounter) { + doc.errors.forEach(errors.prettifyError(source, lineCounter)); + doc.warnings.forEach(errors.prettifyError(source, lineCounter)); + } + return doc; +} +function parse(src, reviver, options) { + let _reviver = undefined; + if (typeof reviver === 'function') { + _reviver = reviver; + } + else if (options === undefined && reviver && typeof reviver === 'object') { + options = reviver; + } + const doc = parseDocument(src, options); + if (!doc) + return null; + doc.warnings.forEach(warning => log.warn(doc.options.logLevel, warning)); + if (doc.errors.length > 0) { + if (doc.options.logLevel !== 'silent') + throw doc.errors[0]; + else + doc.errors = []; + } + return doc.toJS(Object.assign({ reviver: _reviver }, options)); +} +function stringify(value, replacer, options) { + let _replacer = null; + if (typeof replacer === 'function' || Array.isArray(replacer)) { + _replacer = replacer; + } + else if (options === undefined && replacer) { + options = replacer; + } + if (typeof options === 'string') + options = options.length; + if (typeof options === 'number') { + const indent = Math.round(options); + options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent }; + } + if (value === undefined) { + const { keepUndefined } = options ?? replacer ?? {}; + if (!keepUndefined) + return undefined; + } + return new Document.Document(value, _replacer, options).toString(options); +} + +exports.parse = parse; +exports.parseAllDocuments = parseAllDocuments; +exports.parseDocument = parseDocument; +exports.stringify = stringify; + + +/***/ }), + +/***/ 6831: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var map = __nccwpck_require__(83); +var seq = __nccwpck_require__(1693); +var string = __nccwpck_require__(2201); +var tags = __nccwpck_require__(4138); + +const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0; +class Schema { + constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) { + this.compat = Array.isArray(compat) + ? tags.getTags(compat, 'compat') + : compat + ? tags.getTags(null, compat) + : null; + this.merge = !!merge; + this.name = (typeof schema === 'string' && schema) || 'core'; + this.knownTags = resolveKnownTags ? tags.coreKnownTags : {}; + this.tags = tags.getTags(customTags, this.name); + this.toStringOptions = toStringDefaults ?? null; + Object.defineProperty(this, Node.MAP, { value: map.map }); + Object.defineProperty(this, Node.SCALAR, { value: string.string }); + Object.defineProperty(this, Node.SEQ, { value: seq.seq }); + // Used by createMap() + this.sortMapEntries = + typeof sortMapEntries === 'function' + ? sortMapEntries + : sortMapEntries === true + ? sortMapEntriesByKey + : null; + } + clone() { + const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this)); + copy.tags = this.tags.slice(); + return copy; + } +} + +exports.Schema = Schema; + + +/***/ }), + +/***/ 83: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var YAMLMap = __nccwpck_require__(6011); + +function createMap(schema, obj, ctx) { + const { keepUndefined, replacer } = ctx; + const map = new YAMLMap.YAMLMap(schema); + const add = (key, value) => { + if (typeof replacer === 'function') + value = replacer.call(obj, key, value); + else if (Array.isArray(replacer) && !replacer.includes(key)) + return; + if (value !== undefined || keepUndefined) + map.items.push(Pair.createPair(key, value, ctx)); + }; + if (obj instanceof Map) { + for (const [key, value] of obj) + add(key, value); + } + else if (obj && typeof obj === 'object') { + for (const key of Object.keys(obj)) + add(key, obj[key]); + } + if (typeof schema.sortMapEntries === 'function') { + map.items.sort(schema.sortMapEntries); + } + return map; +} +const map = { + collection: 'map', + createNode: createMap, + default: true, + nodeClass: YAMLMap.YAMLMap, + tag: 'tag:yaml.org,2002:map', + resolve(map, onError) { + if (!Node.isMap(map)) + onError('Expected a mapping for this tag'); + return map; + } +}; + +exports.map = map; + + +/***/ }), + +/***/ 6703: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); + +const nullTag = { + identify: value => value == null, + createNode: () => new Scalar.Scalar(null), + default: true, + tag: 'tag:yaml.org,2002:null', + test: /^(?:~|[Nn]ull|NULL)?$/, + resolve: () => new Scalar.Scalar(null), + stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source) + ? source + : ctx.options.nullStr +}; + +exports.nullTag = nullTag; + + +/***/ }), + +/***/ 1693: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var createNode = __nccwpck_require__(9652); +var Node = __nccwpck_require__(1399); +var YAMLSeq = __nccwpck_require__(5161); + +function createSeq(schema, obj, ctx) { + const { replacer } = ctx; + const seq = new YAMLSeq.YAMLSeq(schema); + if (obj && Symbol.iterator in Object(obj)) { + let i = 0; + for (let it of obj) { + if (typeof replacer === 'function') { + const key = obj instanceof Set ? it : String(i++); + it = replacer.call(obj, key, it); + } + seq.items.push(createNode.createNode(it, undefined, ctx)); + } + } + return seq; +} +const seq = { + collection: 'seq', + createNode: createSeq, + default: true, + nodeClass: YAMLSeq.YAMLSeq, + tag: 'tag:yaml.org,2002:seq', + resolve(seq, onError) { + if (!Node.isSeq(seq)) + onError('Expected a sequence for this tag'); + return seq; + } +}; + +exports.seq = seq; + + +/***/ }), + +/***/ 2201: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyString = __nccwpck_require__(6226); + +const string = { + identify: value => typeof value === 'string', + default: true, + tag: 'tag:yaml.org,2002:str', + resolve: str => str, + stringify(item, ctx, onComment, onChompKeep) { + ctx = Object.assign({ actualString: true }, ctx); + return stringifyString.stringifyString(item, ctx, onComment, onChompKeep); + } +}; + +exports.string = string; + + +/***/ }), + +/***/ 2045: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); + +const boolTag = { + identify: value => typeof value === 'boolean', + default: true, + tag: 'tag:yaml.org,2002:bool', + test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, + resolve: str => new Scalar.Scalar(str[0] === 't' || str[0] === 'T'), + stringify({ source, value }, ctx) { + if (source && boolTag.test.test(source)) { + const sv = source[0] === 't' || source[0] === 'T'; + if (value === sv) + return source; + } + return value ? ctx.options.trueStr : ctx.options.falseStr; + } +}; + +exports.boolTag = boolTag; + + +/***/ }), + +/***/ 6810: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var stringifyNumber = __nccwpck_require__(4174); + +const floatNaN = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + test: /^(?:[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN))$/, + resolve: str => str.slice(-3).toLowerCase() === 'nan' + ? NaN + : str[0] === '-' + ? Number.NEGATIVE_INFINITY + : Number.POSITIVE_INFINITY, + stringify: stringifyNumber.stringifyNumber +}; +const floatExp = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + format: 'EXP', + test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, + resolve: str => parseFloat(str), + stringify(node) { + const num = Number(node.value); + return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node); + } +}; +const float = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/, + resolve(str) { + const node = new Scalar.Scalar(parseFloat(str)); + const dot = str.indexOf('.'); + if (dot !== -1 && str[str.length - 1] === '0') + node.minFractionDigits = str.length - dot - 1; + return node; + }, + stringify: stringifyNumber.stringifyNumber +}; + +exports.float = float; +exports.floatExp = floatExp; +exports.floatNaN = floatNaN; + + +/***/ }), + +/***/ 3019: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyNumber = __nccwpck_require__(4174); + +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value); +const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix)); +function intStringify(node, radix, prefix) { + const { value } = node; + if (intIdentify(value) && value >= 0) + return prefix + value.toString(radix); + return stringifyNumber.stringifyNumber(node); +} +const intOct = { + identify: value => intIdentify(value) && value >= 0, + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'OCT', + test: /^0o[0-7]+$/, + resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt), + stringify: node => intStringify(node, 8, '0o') +}; +const int = { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + test: /^[-+]?[0-9]+$/, + resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt), + stringify: stringifyNumber.stringifyNumber +}; +const intHex = { + identify: value => intIdentify(value) && value >= 0, + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'HEX', + test: /^0x[0-9a-fA-F]+$/, + resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt), + stringify: node => intStringify(node, 16, '0x') +}; + +exports.int = int; +exports.intHex = intHex; +exports.intOct = intOct; + + +/***/ }), + +/***/ 27: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var map = __nccwpck_require__(83); +var _null = __nccwpck_require__(6703); +var seq = __nccwpck_require__(1693); +var string = __nccwpck_require__(2201); +var bool = __nccwpck_require__(2045); +var float = __nccwpck_require__(6810); +var int = __nccwpck_require__(3019); + +const schema = [ + map.map, + seq.seq, + string.string, + _null.nullTag, + bool.boolTag, + int.intOct, + int.int, + int.intHex, + float.floatNaN, + float.floatExp, + float.float +]; + +exports.schema = schema; + + +/***/ }), + +/***/ 4545: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var map = __nccwpck_require__(83); +var seq = __nccwpck_require__(1693); + +function intIdentify(value) { + return typeof value === 'bigint' || Number.isInteger(value); +} +const stringifyJSON = ({ value }) => JSON.stringify(value); +const jsonScalars = [ + { + identify: value => typeof value === 'string', + default: true, + tag: 'tag:yaml.org,2002:str', + resolve: str => str, + stringify: stringifyJSON + }, + { + identify: value => value == null, + createNode: () => new Scalar.Scalar(null), + default: true, + tag: 'tag:yaml.org,2002:null', + test: /^null$/, + resolve: () => null, + stringify: stringifyJSON + }, + { + identify: value => typeof value === 'boolean', + default: true, + tag: 'tag:yaml.org,2002:bool', + test: /^true|false$/, + resolve: str => str === 'true', + stringify: stringifyJSON + }, + { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + test: /^-?(?:0|[1-9][0-9]*)$/, + resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10), + stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value) + }, + { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, + resolve: str => parseFloat(str), + stringify: stringifyJSON + } +]; +const jsonError = { + default: true, + tag: '', + test: /^/, + resolve(str, onError) { + onError(`Unresolved plain scalar ${JSON.stringify(str)}`); + return str; + } +}; +const schema = [map.map, seq.seq].concat(jsonScalars, jsonError); + +exports.schema = schema; + + +/***/ }), + +/***/ 4138: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var map = __nccwpck_require__(83); +var _null = __nccwpck_require__(6703); +var seq = __nccwpck_require__(1693); +var string = __nccwpck_require__(2201); +var bool = __nccwpck_require__(2045); +var float = __nccwpck_require__(6810); +var int = __nccwpck_require__(3019); +var schema = __nccwpck_require__(27); +var schema$1 = __nccwpck_require__(4545); +var binary = __nccwpck_require__(5724); +var omap = __nccwpck_require__(8974); +var pairs = __nccwpck_require__(9841); +var schema$2 = __nccwpck_require__(5389); +var set = __nccwpck_require__(7847); +var timestamp = __nccwpck_require__(1156); + +const schemas = new Map([ + ['core', schema.schema], + ['failsafe', [map.map, seq.seq, string.string]], + ['json', schema$1.schema], + ['yaml11', schema$2.schema], + ['yaml-1.1', schema$2.schema] +]); +const tagsByName = { + binary: binary.binary, + bool: bool.boolTag, + float: float.float, + floatExp: float.floatExp, + floatNaN: float.floatNaN, + floatTime: timestamp.floatTime, + int: int.int, + intHex: int.intHex, + intOct: int.intOct, + intTime: timestamp.intTime, + map: map.map, + null: _null.nullTag, + omap: omap.omap, + pairs: pairs.pairs, + seq: seq.seq, + set: set.set, + timestamp: timestamp.timestamp +}; +const coreKnownTags = { + 'tag:yaml.org,2002:binary': binary.binary, + 'tag:yaml.org,2002:omap': omap.omap, + 'tag:yaml.org,2002:pairs': pairs.pairs, + 'tag:yaml.org,2002:set': set.set, + 'tag:yaml.org,2002:timestamp': timestamp.timestamp +}; +function getTags(customTags, schemaName) { + let tags = schemas.get(schemaName); + if (!tags) { + if (Array.isArray(customTags)) + tags = []; + else { + const keys = Array.from(schemas.keys()) + .filter(key => key !== 'yaml11') + .map(key => JSON.stringify(key)) + .join(', '); + throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`); + } + } + if (Array.isArray(customTags)) { + for (const tag of customTags) + tags = tags.concat(tag); + } + else if (typeof customTags === 'function') { + tags = customTags(tags.slice()); + } + return tags.map(tag => { + if (typeof tag !== 'string') + return tag; + const tagObj = tagsByName[tag]; + if (tagObj) + return tagObj; + const keys = Object.keys(tagsByName) + .map(key => JSON.stringify(key)) + .join(', '); + throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`); + }); +} + +exports.coreKnownTags = coreKnownTags; +exports.getTags = getTags; + + +/***/ }), + +/***/ 5724: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var stringifyString = __nccwpck_require__(6226); + +const binary = { + identify: value => value instanceof Uint8Array, + default: false, + tag: 'tag:yaml.org,2002:binary', + /** + * Returns a Buffer in node and an Uint8Array in browsers + * + * To use the resulting buffer as an image, you'll want to do something like: + * + * const blob = new Blob([buffer], { type: 'image/jpeg' }) + * document.querySelector('#photo').src = URL.createObjectURL(blob) + */ + resolve(src, onError) { + if (typeof Buffer === 'function') { + return Buffer.from(src, 'base64'); + } + else if (typeof atob === 'function') { + // On IE 11, atob() can't handle newlines + const str = atob(src.replace(/[\n\r]/g, '')); + const buffer = new Uint8Array(str.length); + for (let i = 0; i < str.length; ++i) + buffer[i] = str.charCodeAt(i); + return buffer; + } + else { + onError('This environment does not support reading binary tags; either Buffer or atob is required'); + return src; + } + }, + stringify({ comment, type, value }, ctx, onComment, onChompKeep) { + const buf = value; // checked earlier by binary.identify() + let str; + if (typeof Buffer === 'function') { + str = + buf instanceof Buffer + ? buf.toString('base64') + : Buffer.from(buf.buffer).toString('base64'); + } + else if (typeof btoa === 'function') { + let s = ''; + for (let i = 0; i < buf.length; ++i) + s += String.fromCharCode(buf[i]); + str = btoa(s); + } + else { + throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required'); + } + if (!type) + type = Scalar.Scalar.BLOCK_LITERAL; + if (type !== Scalar.Scalar.QUOTE_DOUBLE) { + const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth); + const n = Math.ceil(str.length / lineWidth); + const lines = new Array(n); + for (let i = 0, o = 0; i < n; ++i, o += lineWidth) { + lines[i] = str.substr(o, lineWidth); + } + str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? '\n' : ' '); + } + return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep); + } +}; + +exports.binary = binary; + + +/***/ }), + +/***/ 2631: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); + +function boolStringify({ value, source }, ctx) { + const boolObj = value ? trueTag : falseTag; + if (source && boolObj.test.test(source)) + return source; + return value ? ctx.options.trueStr : ctx.options.falseStr; +} +const trueTag = { + identify: value => value === true, + default: true, + tag: 'tag:yaml.org,2002:bool', + test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, + resolve: () => new Scalar.Scalar(true), + stringify: boolStringify +}; +const falseTag = { + identify: value => value === false, + default: true, + tag: 'tag:yaml.org,2002:bool', + test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, + resolve: () => new Scalar.Scalar(false), + stringify: boolStringify +}; + +exports.falseTag = falseTag; +exports.trueTag = trueTag; + + +/***/ }), + +/***/ 8035: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var stringifyNumber = __nccwpck_require__(4174); + +const floatNaN = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + test: /^[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN)$/, + resolve: (str) => str.slice(-3).toLowerCase() === 'nan' + ? NaN + : str[0] === '-' + ? Number.NEGATIVE_INFINITY + : Number.POSITIVE_INFINITY, + stringify: stringifyNumber.stringifyNumber +}; +const floatExp = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + format: 'EXP', + test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/, + resolve: (str) => parseFloat(str.replace(/_/g, '')), + stringify(node) { + const num = Number(node.value); + return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node); + } +}; +const float = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/, + resolve(str) { + const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, ''))); + const dot = str.indexOf('.'); + if (dot !== -1) { + const f = str.substring(dot + 1).replace(/_/g, ''); + if (f[f.length - 1] === '0') + node.minFractionDigits = f.length; + } + return node; + }, + stringify: stringifyNumber.stringifyNumber +}; + +exports.float = float; +exports.floatExp = floatExp; +exports.floatNaN = floatNaN; + + +/***/ }), + +/***/ 9503: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyNumber = __nccwpck_require__(4174); + +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value); +function intResolve(str, offset, radix, { intAsBigInt }) { + const sign = str[0]; + if (sign === '-' || sign === '+') + offset += 1; + str = str.substring(offset).replace(/_/g, ''); + if (intAsBigInt) { + switch (radix) { + case 2: + str = `0b${str}`; + break; + case 8: + str = `0o${str}`; + break; + case 16: + str = `0x${str}`; + break; + } + const n = BigInt(str); + return sign === '-' ? BigInt(-1) * n : n; + } + const n = parseInt(str, radix); + return sign === '-' ? -1 * n : n; +} +function intStringify(node, radix, prefix) { + const { value } = node; + if (intIdentify(value)) { + const str = value.toString(radix); + return value < 0 ? '-' + prefix + str.substr(1) : prefix + str; + } + return stringifyNumber.stringifyNumber(node); +} +const intBin = { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'BIN', + test: /^[-+]?0b[0-1_]+$/, + resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt), + stringify: node => intStringify(node, 2, '0b') +}; +const intOct = { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'OCT', + test: /^[-+]?0[0-7_]+$/, + resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt), + stringify: node => intStringify(node, 8, '0') +}; +const int = { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + test: /^[-+]?[0-9][0-9_]*$/, + resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt), + stringify: stringifyNumber.stringifyNumber +}; +const intHex = { + identify: intIdentify, + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'HEX', + test: /^[-+]?0x[0-9a-fA-F_]+$/, + resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt), + stringify: node => intStringify(node, 16, '0x') +}; + +exports.int = int; +exports.intBin = intBin; +exports.intHex = intHex; +exports.intOct = intOct; + + +/***/ }), + +/***/ 8974: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var YAMLSeq = __nccwpck_require__(5161); +var toJS = __nccwpck_require__(2463); +var Node = __nccwpck_require__(1399); +var YAMLMap = __nccwpck_require__(6011); +var pairs = __nccwpck_require__(9841); + +class YAMLOMap extends YAMLSeq.YAMLSeq { + constructor() { + super(); + this.add = YAMLMap.YAMLMap.prototype.add.bind(this); + this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this); + this.get = YAMLMap.YAMLMap.prototype.get.bind(this); + this.has = YAMLMap.YAMLMap.prototype.has.bind(this); + this.set = YAMLMap.YAMLMap.prototype.set.bind(this); + this.tag = YAMLOMap.tag; + } + /** + * If `ctx` is given, the return type is actually `Map`, + * but TypeScript won't allow widening the signature of a child method. + */ + toJSON(_, ctx) { + if (!ctx) + return super.toJSON(_); + const map = new Map(); + if (ctx?.onCreate) + ctx.onCreate(map); + for (const pair of this.items) { + let key, value; + if (Node.isPair(pair)) { + key = toJS.toJS(pair.key, '', ctx); + value = toJS.toJS(pair.value, key, ctx); + } + else { + key = toJS.toJS(pair, '', ctx); + } + if (map.has(key)) + throw new Error('Ordered maps must not include duplicate keys'); + map.set(key, value); + } + return map; + } +} +YAMLOMap.tag = 'tag:yaml.org,2002:omap'; +const omap = { + collection: 'seq', + identify: value => value instanceof Map, + nodeClass: YAMLOMap, + default: false, + tag: 'tag:yaml.org,2002:omap', + resolve(seq, onError) { + const pairs$1 = pairs.resolvePairs(seq, onError); + const seenKeys = []; + for (const { key } of pairs$1.items) { + if (Node.isScalar(key)) { + if (seenKeys.includes(key.value)) { + onError(`Ordered maps must not include duplicate keys: ${key.value}`); + } + else { + seenKeys.push(key.value); + } + } + } + return Object.assign(new YAMLOMap(), pairs$1); + }, + createNode(schema, iterable, ctx) { + const pairs$1 = pairs.createPairs(schema, iterable, ctx); + const omap = new YAMLOMap(); + omap.items = pairs$1.items; + return omap; + } +}; + +exports.YAMLOMap = YAMLOMap; +exports.omap = omap; + + +/***/ }), + +/***/ 9841: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var Scalar = __nccwpck_require__(9338); +var YAMLSeq = __nccwpck_require__(5161); + +function resolvePairs(seq, onError) { + if (Node.isSeq(seq)) { + for (let i = 0; i < seq.items.length; ++i) { + let item = seq.items[i]; + if (Node.isPair(item)) + continue; + else if (Node.isMap(item)) { + if (item.items.length > 1) + onError('Each pair must have its own sequence indicator'); + const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null)); + if (item.commentBefore) + pair.key.commentBefore = pair.key.commentBefore + ? `${item.commentBefore}\n${pair.key.commentBefore}` + : item.commentBefore; + if (item.comment) { + const cn = pair.value ?? pair.key; + cn.comment = cn.comment + ? `${item.comment}\n${cn.comment}` + : item.comment; + } + item = pair; + } + seq.items[i] = Node.isPair(item) ? item : new Pair.Pair(item); + } + } + else + onError('Expected a sequence for this tag'); + return seq; +} +function createPairs(schema, iterable, ctx) { + const { replacer } = ctx; + const pairs = new YAMLSeq.YAMLSeq(schema); + pairs.tag = 'tag:yaml.org,2002:pairs'; + let i = 0; + if (iterable && Symbol.iterator in Object(iterable)) + for (let it of iterable) { + if (typeof replacer === 'function') + it = replacer.call(iterable, String(i++), it); + let key, value; + if (Array.isArray(it)) { + if (it.length === 2) { + key = it[0]; + value = it[1]; + } + else + throw new TypeError(`Expected [key, value] tuple: ${it}`); + } + else if (it && it instanceof Object) { + const keys = Object.keys(it); + if (keys.length === 1) { + key = keys[0]; + value = it[key]; + } + else + throw new TypeError(`Expected { key: value } tuple: ${it}`); + } + else { + key = it; + } + pairs.items.push(Pair.createPair(key, value, ctx)); + } + return pairs; +} +const pairs = { + collection: 'seq', + default: false, + tag: 'tag:yaml.org,2002:pairs', + resolve: resolvePairs, + createNode: createPairs +}; + +exports.createPairs = createPairs; +exports.pairs = pairs; +exports.resolvePairs = resolvePairs; + + +/***/ }), + +/***/ 5389: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var map = __nccwpck_require__(83); +var _null = __nccwpck_require__(6703); +var seq = __nccwpck_require__(1693); +var string = __nccwpck_require__(2201); +var binary = __nccwpck_require__(5724); +var bool = __nccwpck_require__(2631); +var float = __nccwpck_require__(8035); +var int = __nccwpck_require__(9503); +var omap = __nccwpck_require__(8974); +var pairs = __nccwpck_require__(9841); +var set = __nccwpck_require__(7847); +var timestamp = __nccwpck_require__(1156); + +const schema = [ + map.map, + seq.seq, + string.string, + _null.nullTag, + bool.trueTag, + bool.falseTag, + int.intBin, + int.intOct, + int.int, + int.intHex, + float.floatNaN, + float.floatExp, + float.float, + binary.binary, + omap.omap, + pairs.pairs, + set.set, + timestamp.intTime, + timestamp.floatTime, + timestamp.timestamp +]; + +exports.schema = schema; + + +/***/ }), + +/***/ 7847: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Pair = __nccwpck_require__(246); +var YAMLMap = __nccwpck_require__(6011); + +class YAMLSet extends YAMLMap.YAMLMap { + constructor(schema) { + super(schema); + this.tag = YAMLSet.tag; + } + add(key) { + let pair; + if (Node.isPair(key)) + pair = key; + else if (key && + typeof key === 'object' && + 'key' in key && + 'value' in key && + key.value === null) + pair = new Pair.Pair(key.key, null); + else + pair = new Pair.Pair(key, null); + const prev = YAMLMap.findPair(this.items, pair.key); + if (!prev) + this.items.push(pair); + } + /** + * If `keepPair` is `true`, returns the Pair matching `key`. + * Otherwise, returns the value of that Pair's key. + */ + get(key, keepPair) { + const pair = YAMLMap.findPair(this.items, key); + return !keepPair && Node.isPair(pair) + ? Node.isScalar(pair.key) + ? pair.key.value + : pair.key + : pair; + } + set(key, value) { + if (typeof value !== 'boolean') + throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`); + const prev = YAMLMap.findPair(this.items, key); + if (prev && !value) { + this.items.splice(this.items.indexOf(prev), 1); + } + else if (!prev && value) { + this.items.push(new Pair.Pair(key)); + } + } + toJSON(_, ctx) { + return super.toJSON(_, ctx, Set); + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + if (this.hasAllNullValues(true)) + return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep); + else + throw new Error('Set items must all have null values'); + } +} +YAMLSet.tag = 'tag:yaml.org,2002:set'; +const set = { + collection: 'map', + identify: value => value instanceof Set, + nodeClass: YAMLSet, + default: false, + tag: 'tag:yaml.org,2002:set', + resolve(map, onError) { + if (Node.isMap(map)) { + if (map.hasAllNullValues(true)) + return Object.assign(new YAMLSet(), map); + else + onError('Set items must all have null values'); + } + else + onError('Expected a mapping for this tag'); + return map; + }, + createNode(schema, iterable, ctx) { + const { replacer } = ctx; + const set = new YAMLSet(schema); + if (iterable && Symbol.iterator in Object(iterable)) + for (let value of iterable) { + if (typeof replacer === 'function') + value = replacer.call(iterable, value, value); + set.items.push(Pair.createPair(value, null, ctx)); + } + return set; + } +}; + +exports.YAMLSet = YAMLSet; +exports.set = set; + + +/***/ }), + +/***/ 1156: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var stringifyNumber = __nccwpck_require__(4174); + +/** Internal types handle bigint as number, because TS can't figure it out. */ +function parseSexagesimal(str, asBigInt) { + const sign = str[0]; + const parts = sign === '-' || sign === '+' ? str.substring(1) : str; + const num = (n) => asBigInt ? BigInt(n) : Number(n); + const res = parts + .replace(/_/g, '') + .split(':') + .reduce((res, p) => res * num(60) + num(p), num(0)); + return (sign === '-' ? num(-1) * res : res); +} +/** + * hhhh:mm:ss.sss + * + * Internal types handle bigint as number, because TS can't figure it out. + */ +function stringifySexagesimal(node) { + let { value } = node; + let num = (n) => n; + if (typeof value === 'bigint') + num = n => BigInt(n); + else if (isNaN(value) || !isFinite(value)) + return stringifyNumber.stringifyNumber(node); + let sign = ''; + if (value < 0) { + sign = '-'; + value *= num(-1); + } + const _60 = num(60); + const parts = [value % _60]; // seconds, including ms + if (value < 60) { + parts.unshift(0); // at least one : is required + } + else { + value = (value - parts[0]) / _60; + parts.unshift(value % _60); // minutes + if (value >= 60) { + value = (value - parts[0]) / _60; + parts.unshift(value); // hours + } + } + return (sign + + parts + .map(n => (n < 10 ? '0' + String(n) : String(n))) + .join(':') + .replace(/000000\d*$/, '') // % 60 may introduce error + ); +} +const intTime = { + identify: value => typeof value === 'bigint' || Number.isInteger(value), + default: true, + tag: 'tag:yaml.org,2002:int', + format: 'TIME', + test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/, + resolve: (str, _onError, { intAsBigInt }) => parseSexagesimal(str, intAsBigInt), + stringify: stringifySexagesimal +}; +const floatTime = { + identify: value => typeof value === 'number', + default: true, + tag: 'tag:yaml.org,2002:float', + format: 'TIME', + test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/, + resolve: str => parseSexagesimal(str, false), + stringify: stringifySexagesimal +}; +const timestamp = { + identify: value => value instanceof Date, + default: true, + tag: 'tag:yaml.org,2002:timestamp', + // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part + // may be omitted altogether, resulting in a date format. In such a case, the time part is + // assumed to be 00:00:00Z (start of day, UTC). + test: RegExp('^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd + '(?:' + // time is optional + '(?:t|T|[ \\t]+)' + // t | T | whitespace + '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)? + '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30 + ')?$'), + resolve(str) { + const match = str.match(timestamp.test); + if (!match) + throw new Error('!!timestamp expects a date, starting with yyyy-mm-dd'); + const [, year, month, day, hour, minute, second] = match.map(Number); + const millisec = match[7] ? Number((match[7] + '00').substr(1, 3)) : 0; + let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec); + const tz = match[8]; + if (tz && tz !== 'Z') { + let d = parseSexagesimal(tz, false); + if (Math.abs(d) < 30) + d *= 60; + date -= 60000 * d; + } + return new Date(date); + }, + stringify: ({ value }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '') +}; + +exports.floatTime = floatTime; +exports.intTime = intTime; +exports.timestamp = timestamp; + + +/***/ }), + +/***/ 2889: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +const FOLD_FLOW = 'flow'; +const FOLD_BLOCK = 'block'; +const FOLD_QUOTED = 'quoted'; +/** + * Tries to keep input at up to `lineWidth` characters, splitting only on spaces + * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are + * terminated with `\n` and started with `indent`. + */ +function foldFlowLines(text, indent, mode = 'flow', { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) { + if (!lineWidth || lineWidth < 0) + return text; + const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); + if (text.length <= endStep) + return text; + const folds = []; + const escapedFolds = {}; + let end = lineWidth - indent.length; + if (typeof indentAtStart === 'number') { + if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) + folds.push(0); + else + end = lineWidth - indentAtStart; + } + let split = undefined; + let prev = undefined; + let overflow = false; + let i = -1; + let escStart = -1; + let escEnd = -1; + if (mode === FOLD_BLOCK) { + i = consumeMoreIndentedLines(text, i); + if (i !== -1) + end = i + endStep; + } + for (let ch; (ch = text[(i += 1)]);) { + if (mode === FOLD_QUOTED && ch === '\\') { + escStart = i; + switch (text[i + 1]) { + case 'x': + i += 3; + break; + case 'u': + i += 5; + break; + case 'U': + i += 9; + break; + default: + i += 1; + } + escEnd = i; + } + if (ch === '\n') { + if (mode === FOLD_BLOCK) + i = consumeMoreIndentedLines(text, i); + end = i + endStep; + split = undefined; + } + else { + if (ch === ' ' && + prev && + prev !== ' ' && + prev !== '\n' && + prev !== '\t') { + // space surrounded by non-space can be replaced with newline + indent + const next = text[i + 1]; + if (next && next !== ' ' && next !== '\n' && next !== '\t') + split = i; + } + if (i >= end) { + if (split) { + folds.push(split); + end = split + endStep; + split = undefined; + } + else if (mode === FOLD_QUOTED) { + // white-space collected at end may stretch past lineWidth + while (prev === ' ' || prev === '\t') { + prev = ch; + ch = text[(i += 1)]; + overflow = true; + } + // Account for newline escape, but don't break preceding escape + const j = i > escEnd + 1 ? i - 2 : escStart - 1; + // Bail out if lineWidth & minContentWidth are shorter than an escape string + if (escapedFolds[j]) + return text; + folds.push(j); + escapedFolds[j] = true; + end = j + endStep; + split = undefined; + } + else { + overflow = true; + } + } + } + prev = ch; + } + if (overflow && onOverflow) + onOverflow(); + if (folds.length === 0) + return text; + if (onFold) + onFold(); + let res = text.slice(0, folds[0]); + for (let i = 0; i < folds.length; ++i) { + const fold = folds[i]; + const end = folds[i + 1] || text.length; + if (fold === 0) + res = `\n${indent}${text.slice(0, end)}`; + else { + if (mode === FOLD_QUOTED && escapedFolds[fold]) + res += `${text[fold]}\\`; + res += `\n${indent}${text.slice(fold + 1, end)}`; + } + } + return res; +} +/** + * Presumes `i + 1` is at the start of a line + * @returns index of last newline in more-indented block + */ +function consumeMoreIndentedLines(text, i) { + let ch = text[i + 1]; + while (ch === ' ' || ch === '\t') { + do { + ch = text[(i += 1)]; + } while (ch && ch !== '\n'); + ch = text[i + 1]; + } + return i; +} + +exports.FOLD_BLOCK = FOLD_BLOCK; +exports.FOLD_FLOW = FOLD_FLOW; +exports.FOLD_QUOTED = FOLD_QUOTED; +exports.foldFlowLines = foldFlowLines; + + +/***/ }), + +/***/ 8409: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var anchors = __nccwpck_require__(8459); +var Node = __nccwpck_require__(1399); +var stringifyComment = __nccwpck_require__(5182); +var stringifyString = __nccwpck_require__(6226); + +function createStringifyContext(doc, options) { + const opt = Object.assign({ + blockQuote: true, + commentString: stringifyComment.stringifyComment, + defaultKeyType: null, + defaultStringType: 'PLAIN', + directives: null, + doubleQuotedAsJSON: false, + doubleQuotedMinMultiLineLength: 40, + falseStr: 'false', + indentSeq: true, + lineWidth: 80, + minContentWidth: 20, + nullStr: 'null', + simpleKeys: false, + singleQuote: null, + trueStr: 'true', + verifyAliasOrder: true + }, doc.schema.toStringOptions, options); + let inFlow; + switch (opt.collectionStyle) { + case 'block': + inFlow = false; + break; + case 'flow': + inFlow = true; + break; + default: + inFlow = null; + } + return { + anchors: new Set(), + doc, + indent: '', + indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : ' ', + inFlow, + options: opt + }; +} +function getTagObject(tags, item) { + if (item.tag) { + const match = tags.filter(t => t.tag === item.tag); + if (match.length > 0) + return match.find(t => t.format === item.format) ?? match[0]; + } + let tagObj = undefined; + let obj; + if (Node.isScalar(item)) { + obj = item.value; + const match = tags.filter(t => t.identify?.(obj)); + tagObj = + match.find(t => t.format === item.format) ?? match.find(t => !t.format); + } + else { + obj = item; + tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass); + } + if (!tagObj) { + const name = obj?.constructor?.name ?? typeof obj; + throw new Error(`Tag not resolved for ${name} value`); + } + return tagObj; +} +// needs to be called before value stringifier to allow for circular anchor refs +function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) { + if (!doc.directives) + return ''; + const props = []; + const anchor = (Node.isScalar(node) || Node.isCollection(node)) && node.anchor; + if (anchor && anchors.anchorIsValid(anchor)) { + anchors$1.add(anchor); + props.push(`&${anchor}`); + } + const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag; + if (tag) + props.push(doc.directives.tagString(tag)); + return props.join(' '); +} +function stringify(item, ctx, onComment, onChompKeep) { + if (Node.isPair(item)) + return item.toString(ctx, onComment, onChompKeep); + if (Node.isAlias(item)) { + if (ctx.doc.directives) + return item.toString(ctx); + if (ctx.resolvedAliases?.has(item)) { + throw new TypeError(`Cannot stringify circular structure without alias nodes`); + } + else { + if (ctx.resolvedAliases) + ctx.resolvedAliases.add(item); + else + ctx.resolvedAliases = new Set([item]); + item = item.resolve(ctx.doc); + } + } + let tagObj = undefined; + const node = Node.isNode(item) + ? item + : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) }); + if (!tagObj) + tagObj = getTagObject(ctx.doc.schema.tags, node); + const props = stringifyProps(node, tagObj, ctx); + if (props.length > 0) + ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1; + const str = typeof tagObj.stringify === 'function' + ? tagObj.stringify(node, ctx, onComment, onChompKeep) + : Node.isScalar(node) + ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep) + : node.toString(ctx, onComment, onChompKeep); + if (!props) + return str; + return Node.isScalar(node) || str[0] === '{' || str[0] === '[' + ? `${props} ${str}` + : `${props}\n${ctx.indent}${str}`; +} + +exports.createStringifyContext = createStringifyContext; +exports.stringify = stringify; + + +/***/ }), + +/***/ 2466: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Collection = __nccwpck_require__(3466); +var Node = __nccwpck_require__(1399); +var stringify = __nccwpck_require__(8409); +var stringifyComment = __nccwpck_require__(5182); + +function stringifyCollection(collection, ctx, options) { + const flow = ctx.inFlow ?? collection.flow; + const stringify = flow ? stringifyFlowCollection : stringifyBlockCollection; + return stringify(collection, ctx, options); +} +function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) { + const { indent, options: { commentString } } = ctx; + const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null }); + let chompKeep = false; // flag for the preceding node's status + const lines = []; + for (let i = 0; i < items.length; ++i) { + const item = items[i]; + let comment = null; + if (Node.isNode(item)) { + if (!chompKeep && item.spaceBefore) + lines.push(''); + addCommentBefore(ctx, lines, item.commentBefore, chompKeep); + if (item.comment) + comment = item.comment; + } + else if (Node.isPair(item)) { + const ik = Node.isNode(item.key) ? item.key : null; + if (ik) { + if (!chompKeep && ik.spaceBefore) + lines.push(''); + addCommentBefore(ctx, lines, ik.commentBefore, chompKeep); + } + } + chompKeep = false; + let str = stringify.stringify(item, itemCtx, () => (comment = null), () => (chompKeep = true)); + if (comment) + str += stringifyComment.lineComment(str, itemIndent, commentString(comment)); + if (chompKeep && comment) + chompKeep = false; + lines.push(blockItemPrefix + str); + } + let str; + if (lines.length === 0) { + str = flowChars.start + flowChars.end; + } + else { + str = lines[0]; + for (let i = 1; i < lines.length; ++i) { + const line = lines[i]; + str += line ? `\n${indent}${line}` : '\n'; + } + } + if (comment) { + str += '\n' + stringifyComment.indentComment(commentString(comment), indent); + if (onComment) + onComment(); + } + else if (chompKeep && onChompKeep) + onChompKeep(); + return str; +} +function stringifyFlowCollection({ comment, items }, ctx, { flowChars, itemIndent, onComment }) { + const { indent, indentStep, options: { commentString } } = ctx; + itemIndent += indentStep; + const itemCtx = Object.assign({}, ctx, { + indent: itemIndent, + inFlow: true, + type: null + }); + let reqNewline = false; + let linesAtValue = 0; + const lines = []; + for (let i = 0; i < items.length; ++i) { + const item = items[i]; + let comment = null; + if (Node.isNode(item)) { + if (item.spaceBefore) + lines.push(''); + addCommentBefore(ctx, lines, item.commentBefore, false); + if (item.comment) + comment = item.comment; + } + else if (Node.isPair(item)) { + const ik = Node.isNode(item.key) ? item.key : null; + if (ik) { + if (ik.spaceBefore) + lines.push(''); + addCommentBefore(ctx, lines, ik.commentBefore, false); + if (ik.comment) + reqNewline = true; + } + const iv = Node.isNode(item.value) ? item.value : null; + if (iv) { + if (iv.comment) + comment = iv.comment; + if (iv.commentBefore) + reqNewline = true; + } + else if (item.value == null && ik && ik.comment) { + comment = ik.comment; + } + } + if (comment) + reqNewline = true; + let str = stringify.stringify(item, itemCtx, () => (comment = null)); + if (i < items.length - 1) + str += ','; + if (comment) + str += stringifyComment.lineComment(str, itemIndent, commentString(comment)); + if (!reqNewline && (lines.length > linesAtValue || str.includes('\n'))) + reqNewline = true; + lines.push(str); + linesAtValue = lines.length; + } + let str; + const { start, end } = flowChars; + if (lines.length === 0) { + str = start + end; + } + else { + if (!reqNewline) { + const len = lines.reduce((sum, line) => sum + line.length + 2, 2); + reqNewline = len > Collection.Collection.maxFlowStringSingleLineLength; + } + if (reqNewline) { + str = start; + for (const line of lines) + str += line ? `\n${indentStep}${indent}${line}` : '\n'; + str += `\n${indent}${end}`; + } + else { + str = `${start} ${lines.join(' ')} ${end}`; + } + } + if (comment) { + str += stringifyComment.lineComment(str, commentString(comment), indent); + if (onComment) + onComment(); + } + return str; +} +function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) { + if (comment && chompKeep) + comment = comment.replace(/^\n+/, ''); + if (comment) { + const ic = stringifyComment.indentComment(commentString(comment), indent); + lines.push(ic.trimStart()); // Avoid double indent on first line + } +} + +exports.stringifyCollection = stringifyCollection; + + +/***/ }), + +/***/ 5182: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +/** + * Stringifies a comment. + * + * Empty comment lines are left empty, + * lines consisting of a single space are replaced by `#`, + * and all other lines are prefixed with a `#`. + */ +const stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, '#'); +function indentComment(comment, indent) { + if (/^\n+$/.test(comment)) + return comment.substring(1); + return indent ? comment.replace(/^(?! *$)/gm, indent) : comment; +} +const lineComment = (str, indent, comment) => str.endsWith('\n') + ? indentComment(comment, indent) + : comment.includes('\n') + ? '\n' + indentComment(comment, indent) + : (str.endsWith(' ') ? '' : ' ') + comment; + +exports.indentComment = indentComment; +exports.lineComment = lineComment; +exports.stringifyComment = stringifyComment; + + +/***/ }), + +/***/ 5225: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var stringify = __nccwpck_require__(8409); +var stringifyComment = __nccwpck_require__(5182); + +function stringifyDocument(doc, options) { + const lines = []; + let hasDirectives = options.directives === true; + if (options.directives !== false && doc.directives) { + const dir = doc.directives.toString(doc); + if (dir) { + lines.push(dir); + hasDirectives = true; + } + else if (doc.directives.docStart) + hasDirectives = true; + } + if (hasDirectives) + lines.push('---'); + const ctx = stringify.createStringifyContext(doc, options); + const { commentString } = ctx.options; + if (doc.commentBefore) { + if (lines.length !== 1) + lines.unshift(''); + const cs = commentString(doc.commentBefore); + lines.unshift(stringifyComment.indentComment(cs, '')); + } + let chompKeep = false; + let contentComment = null; + if (doc.contents) { + if (Node.isNode(doc.contents)) { + if (doc.contents.spaceBefore && hasDirectives) + lines.push(''); + if (doc.contents.commentBefore) { + const cs = commentString(doc.contents.commentBefore); + lines.push(stringifyComment.indentComment(cs, '')); + } + // top-level block scalars need to be indented if followed by a comment + ctx.forceBlockIndent = !!doc.comment; + contentComment = doc.contents.comment; + } + const onChompKeep = contentComment ? undefined : () => (chompKeep = true); + let body = stringify.stringify(doc.contents, ctx, () => (contentComment = null), onChompKeep); + if (contentComment) + body += stringifyComment.lineComment(body, '', commentString(contentComment)); + if ((body[0] === '|' || body[0] === '>') && + lines[lines.length - 1] === '---') { + // Top-level block scalars with a preceding doc marker ought to use the + // same line for their header. + lines[lines.length - 1] = `--- ${body}`; + } + else + lines.push(body); + } + else { + lines.push(stringify.stringify(doc.contents, ctx)); + } + if (doc.directives?.docEnd) { + if (doc.comment) { + const cs = commentString(doc.comment); + if (cs.includes('\n')) { + lines.push('...'); + lines.push(stringifyComment.indentComment(cs, '')); + } + else { + lines.push(`... ${cs}`); + } + } + else { + lines.push('...'); + } + } + else { + let dc = doc.comment; + if (dc && chompKeep) + dc = dc.replace(/^\n+/, ''); + if (dc) { + if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') + lines.push(''); + lines.push(stringifyComment.indentComment(commentString(dc), '')); + } + } + return lines.join('\n') + '\n'; +} + +exports.stringifyDocument = stringifyDocument; + + +/***/ }), + +/***/ 4174: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +function stringifyNumber({ format, minFractionDigits, tag, value }) { + if (typeof value === 'bigint') + return String(value); + const num = typeof value === 'number' ? value : Number(value); + if (!isFinite(num)) + return isNaN(num) ? '.nan' : num < 0 ? '-.inf' : '.inf'; + let n = JSON.stringify(value); + if (!format && + minFractionDigits && + (!tag || tag === 'tag:yaml.org,2002:float') && + /^\d/.test(n)) { + let i = n.indexOf('.'); + if (i < 0) { + i = n.length; + n += '.'; + } + let d = minFractionDigits - (n.length - i - 1); + while (d-- > 0) + n += '0'; + } + return n; +} + +exports.stringifyNumber = stringifyNumber; + + +/***/ }), + +/***/ 4875: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); +var Scalar = __nccwpck_require__(9338); +var stringify = __nccwpck_require__(8409); +var stringifyComment = __nccwpck_require__(5182); + +function stringifyPair({ key, value }, ctx, onComment, onChompKeep) { + const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx; + let keyComment = (Node.isNode(key) && key.comment) || null; + if (simpleKeys) { + if (keyComment) { + throw new Error('With simple keys, key nodes cannot have comments'); + } + if (Node.isCollection(key)) { + const msg = 'With simple keys, collection cannot be used as a key value'; + throw new Error(msg); + } + } + let explicitKey = !simpleKeys && + (!key || + (keyComment && value == null && !ctx.inFlow) || + Node.isCollection(key) || + (Node.isScalar(key) + ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL + : typeof key === 'object')); + ctx = Object.assign({}, ctx, { + allNullValues: false, + implicitKey: !explicitKey && (simpleKeys || !allNullValues), + indent: indent + indentStep + }); + let keyCommentDone = false; + let chompKeep = false; + let str = stringify.stringify(key, ctx, () => (keyCommentDone = true), () => (chompKeep = true)); + if (!explicitKey && !ctx.inFlow && str.length > 1024) { + if (simpleKeys) + throw new Error('With simple keys, single line scalar must not span more than 1024 characters'); + explicitKey = true; + } + if (ctx.inFlow) { + if (allNullValues || value == null) { + if (keyCommentDone && onComment) + onComment(); + return str === '' ? '?' : explicitKey ? `? ${str}` : str; + } + } + else if ((allNullValues && !simpleKeys) || (value == null && explicitKey)) { + str = `? ${str}`; + if (keyComment && !keyCommentDone) { + str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment)); + } + else if (chompKeep && onChompKeep) + onChompKeep(); + return str; + } + if (keyCommentDone) + keyComment = null; + if (explicitKey) { + if (keyComment) + str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment)); + str = `? ${str}\n${indent}:`; + } + else { + str = `${str}:`; + if (keyComment) + str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment)); + } + let vcb = ''; + let valueComment = null; + if (Node.isNode(value)) { + if (value.spaceBefore) + vcb = '\n'; + if (value.commentBefore) { + const cs = commentString(value.commentBefore); + vcb += `\n${stringifyComment.indentComment(cs, ctx.indent)}`; + } + valueComment = value.comment; + } + else if (value && typeof value === 'object') { + value = doc.createNode(value); + } + ctx.implicitKey = false; + if (!explicitKey && !keyComment && Node.isScalar(value)) + ctx.indentAtStart = str.length + 1; + chompKeep = false; + if (!indentSeq && + indentStep.length >= 2 && + !ctx.inFlow && + !explicitKey && + Node.isSeq(value) && + !value.flow && + !value.tag && + !value.anchor) { + // If indentSeq === false, consider '- ' as part of indentation where possible + ctx.indent = ctx.indent.substr(2); + } + let valueCommentDone = false; + const valueStr = stringify.stringify(value, ctx, () => (valueCommentDone = true), () => (chompKeep = true)); + let ws = ' '; + if (vcb || keyComment) { + if (valueStr === '' && !ctx.inFlow) + ws = vcb === '\n' ? '\n\n' : vcb; + else + ws = `${vcb}\n${ctx.indent}`; + } + else if (!explicitKey && Node.isCollection(value)) { + const flow = valueStr[0] === '[' || valueStr[0] === '{'; + if (!flow || valueStr.includes('\n')) + ws = `\n${ctx.indent}`; + } + else if (valueStr === '' || valueStr[0] === '\n') + ws = ''; + str += ws + valueStr; + if (ctx.inFlow) { + if (valueCommentDone && onComment) + onComment(); + } + else if (valueComment && !valueCommentDone) { + str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment)); + } + else if (chompKeep && onChompKeep) { + onChompKeep(); + } + return str; +} + +exports.stringifyPair = stringifyPair; + + +/***/ }), + +/***/ 6226: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Scalar = __nccwpck_require__(9338); +var foldFlowLines = __nccwpck_require__(2889); + +const getFoldOptions = (ctx) => ({ + indentAtStart: ctx.indentAtStart, + lineWidth: ctx.options.lineWidth, + minContentWidth: ctx.options.minContentWidth +}); +// Also checks for lines starting with %, as parsing the output as YAML 1.1 will +// presume that's starting a new document. +const containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str); +function lineLengthOverLimit(str, lineWidth, indentLength) { + if (!lineWidth || lineWidth < 0) + return false; + const limit = lineWidth - indentLength; + const strLen = str.length; + if (strLen <= limit) + return false; + for (let i = 0, start = 0; i < strLen; ++i) { + if (str[i] === '\n') { + if (i - start > limit) + return true; + start = i + 1; + if (strLen - start <= limit) + return false; + } + } + return true; +} +function doubleQuotedString(value, ctx) { + const json = JSON.stringify(value); + if (ctx.options.doubleQuotedAsJSON) + return json; + const { implicitKey } = ctx; + const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength; + const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); + let str = ''; + let start = 0; + for (let i = 0, ch = json[i]; ch; ch = json[++i]) { + if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') { + // space before newline needs to be escaped to not be folded + str += json.slice(start, i) + '\\ '; + i += 1; + start = i; + ch = '\\'; + } + if (ch === '\\') + switch (json[i + 1]) { + case 'u': + { + str += json.slice(start, i); + const code = json.substr(i + 2, 4); + switch (code) { + case '0000': + str += '\\0'; + break; + case '0007': + str += '\\a'; + break; + case '000b': + str += '\\v'; + break; + case '001b': + str += '\\e'; + break; + case '0085': + str += '\\N'; + break; + case '00a0': + str += '\\_'; + break; + case '2028': + str += '\\L'; + break; + case '2029': + str += '\\P'; + break; + default: + if (code.substr(0, 2) === '00') + str += '\\x' + code.substr(2); + else + str += json.substr(i, 6); + } + i += 5; + start = i + 1; + } + break; + case 'n': + if (implicitKey || + json[i + 2] === '"' || + json.length < minMultiLineLength) { + i += 1; + } + else { + // folding will eat first newline + str += json.slice(start, i) + '\n\n'; + while (json[i + 2] === '\\' && + json[i + 3] === 'n' && + json[i + 4] !== '"') { + str += '\n'; + i += 2; + } + str += indent; + // space after newline needs to be escaped to not be folded + if (json[i + 2] === ' ') + str += '\\'; + i += 1; + start = i + 1; + } + break; + default: + i += 1; + } + } + str = start ? str + json.slice(start) : json; + return implicitKey + ? str + : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx)); +} +function singleQuotedString(value, ctx) { + if (ctx.options.singleQuote === false || + (ctx.implicitKey && value.includes('\n')) || + /[ \t]\n|\n[ \t]/.test(value) // single quoted string can't have leading or trailing whitespace around newline + ) + return doubleQuotedString(value, ctx); + const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : ''); + const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'"; + return ctx.implicitKey + ? res + : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx)); +} +function quotedString(value, ctx) { + const { singleQuote } = ctx.options; + let qs; + if (singleQuote === false) + qs = doubleQuotedString; + else { + const hasDouble = value.includes('"'); + const hasSingle = value.includes("'"); + if (hasDouble && !hasSingle) + qs = singleQuotedString; + else if (hasSingle && !hasDouble) + qs = doubleQuotedString; + else + qs = singleQuote ? singleQuotedString : doubleQuotedString; + } + return qs(value, ctx); +} +function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { + const { blockQuote, commentString, lineWidth } = ctx.options; + // 1. Block can't end in whitespace unless the last line is non-empty. + // 2. Strings consisting of only whitespace are best rendered explicitly. + if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + return quotedString(value, ctx); + } + const indent = ctx.indent || + (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : ''); + const literal = blockQuote === 'literal' + ? true + : blockQuote === 'folded' || type === Scalar.Scalar.BLOCK_FOLDED + ? false + : type === Scalar.Scalar.BLOCK_LITERAL + ? true + : !lineLengthOverLimit(value, lineWidth, indent.length); + if (!value) + return literal ? '|\n' : '>\n'; + // determine chomping from whitespace at value end + let chomp; + let endStart; + for (endStart = value.length; endStart > 0; --endStart) { + const ch = value[endStart - 1]; + if (ch !== '\n' && ch !== '\t' && ch !== ' ') + break; + } + let end = value.substring(endStart); + const endNlPos = end.indexOf('\n'); + if (endNlPos === -1) { + chomp = '-'; // strip + } + else if (value === end || endNlPos !== end.length - 1) { + chomp = '+'; // keep + if (onChompKeep) + onChompKeep(); + } + else { + chomp = ''; // clip + } + if (end) { + value = value.slice(0, -end.length); + if (end[end.length - 1] === '\n') + end = end.slice(0, -1); + end = end.replace(/\n+(?!\n|$)/g, `$&${indent}`); + } + // determine indent indicator from whitespace at value start + let startWithSpace = false; + let startEnd; + let startNlPos = -1; + for (startEnd = 0; startEnd < value.length; ++startEnd) { + const ch = value[startEnd]; + if (ch === ' ') + startWithSpace = true; + else if (ch === '\n') + startNlPos = startEnd; + else + break; + } + let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd); + if (start) { + value = value.substring(start.length); + start = start.replace(/\n+/g, `$&${indent}`); + } + const indentSize = indent ? '2' : '1'; // root is at -1 + let header = (literal ? '|' : '>') + (startWithSpace ? indentSize : '') + chomp; + if (comment) { + header += ' ' + commentString(comment.replace(/ ?[\r\n]+/g, ' ')); + if (onComment) + onComment(); + } + if (literal) { + value = value.replace(/\n+/g, `$&${indent}`); + return `${header}\n${indent}${start}${value}${end}`; + } + value = value + .replace(/\n+/g, '\n$&') + .replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded + // ^ more-ind. ^ empty ^ capture next empty lines only at end of indent + .replace(/\n+/g, `$&${indent}`); + const body = foldFlowLines.foldFlowLines(`${start}${value}${end}`, indent, foldFlowLines.FOLD_BLOCK, getFoldOptions(ctx)); + return `${header}\n${indent}${body}`; +} +function plainString(item, ctx, onComment, onChompKeep) { + const { type, value } = item; + const { actualString, implicitKey, indent, inFlow } = ctx; + if ((implicitKey && /[\n[\]{},]/.test(value)) || + (inFlow && /[[\]{},]/.test(value))) { + return quotedString(value, ctx); + } + if (!value || + /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + // not allowed: + // - empty string, '-' or '?' + // - start with an indicator character (except [?:-]) or /[?-] / + // - '\n ', ': ' or ' \n' anywhere + // - '#' not preceded by a non-space char + // - end with ' ' or ':' + return implicitKey || inFlow || !value.includes('\n') + ? quotedString(value, ctx) + : blockString(item, ctx, onComment, onChompKeep); + } + if (!implicitKey && + !inFlow && + type !== Scalar.Scalar.PLAIN && + value.includes('\n')) { + // Where allowed & type not set explicitly, prefer block style for multiline strings + return blockString(item, ctx, onComment, onChompKeep); + } + if (indent === '' && containsDocumentMarker(value)) { + ctx.forceBlockIndent = true; + return blockString(item, ctx, onComment, onChompKeep); + } + const str = value.replace(/\n+/g, `$&\n${indent}`); + // Verify that output will be parsed as a string, as e.g. plain numbers and + // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'), + // and others in v1.1. + if (actualString) { + const test = (tag) => tag.default && tag.tag !== 'tag:yaml.org,2002:str' && tag.test?.test(str); + const { compat, tags } = ctx.doc.schema; + if (tags.some(test) || compat?.some(test)) + return quotedString(value, ctx); + } + return implicitKey + ? str + : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx)); +} +function stringifyString(item, ctx, onComment, onChompKeep) { + const { implicitKey, inFlow } = ctx; + const ss = typeof item.value === 'string' + ? item + : Object.assign({}, item, { value: String(item.value) }); + let { type } = item; + if (type !== Scalar.Scalar.QUOTE_DOUBLE) { + // force double quotes on control characters & unpaired surrogates + if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value)) + type = Scalar.Scalar.QUOTE_DOUBLE; + } + const _stringify = (_type) => { + switch (_type) { + case Scalar.Scalar.BLOCK_FOLDED: + case Scalar.Scalar.BLOCK_LITERAL: + return implicitKey || inFlow + ? quotedString(ss.value, ctx) // blocks are not valid inside flow containers + : blockString(ss, ctx, onComment, onChompKeep); + case Scalar.Scalar.QUOTE_DOUBLE: + return doubleQuotedString(ss.value, ctx); + case Scalar.Scalar.QUOTE_SINGLE: + return singleQuotedString(ss.value, ctx); + case Scalar.Scalar.PLAIN: + return plainString(ss, ctx, onComment, onChompKeep); + default: + return null; + } + }; + let res = _stringify(type); + if (res === null) { + const { defaultKeyType, defaultStringType } = ctx.options; + const t = (implicitKey && defaultKeyType) || defaultStringType; + res = _stringify(t); + if (res === null) + throw new Error(`Unsupported default string type ${t}`); + } + return res; +} + +exports.stringifyString = stringifyString; + + +/***/ }), + +/***/ 6796: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var Node = __nccwpck_require__(1399); + +const BREAK = Symbol('break visit'); +const SKIP = Symbol('skip children'); +const REMOVE = Symbol('remove node'); +/** + * Apply a visitor to an AST node or document. + * + * Walks through the tree (depth-first) starting from `node`, calling a + * `visitor` function with three arguments: + * - `key`: For sequence values and map `Pair`, the node's index in the + * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly. + * `null` for the root node. + * - `node`: The current node. + * - `path`: The ancestry of the current node. + * + * The return value of the visitor may be used to control the traversal: + * - `undefined` (default): Do nothing and continue + * - `visit.SKIP`: Do not visit the children of this node, continue with next + * sibling + * - `visit.BREAK`: Terminate traversal completely + * - `visit.REMOVE`: Remove the current node, then continue with the next one + * - `Node`: Replace the current node, then continue by visiting it + * - `number`: While iterating the items of a sequence or map, set the index + * of the next step. This is useful especially if the index of the current + * node has changed. + * + * If `visitor` is a single function, it will be called with all values + * encountered in the tree, including e.g. `null` values. Alternatively, + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`, + * `Alias` and `Scalar` node. To define the same visitor function for more than + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar) + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most + * specific defined one will be used for each node. + */ +function visit(node, visitor) { + const visitor_ = initVisitor(visitor); + if (Node.isDocument(node)) { + const cd = visit_(null, node.contents, visitor_, Object.freeze([node])); + if (cd === REMOVE) + node.contents = null; + } + else + visit_(null, node, visitor_, Object.freeze([])); +} +// Without the `as symbol` casts, TS declares these in the `visit` +// namespace using `var`, but then complains about that because +// `unique symbol` must be `const`. +/** Terminate visit traversal completely */ +visit.BREAK = BREAK; +/** Do not visit the children of the current node */ +visit.SKIP = SKIP; +/** Remove the current node */ +visit.REMOVE = REMOVE; +function visit_(key, node, visitor, path) { + const ctrl = callVisitor(key, node, visitor, path); + if (Node.isNode(ctrl) || Node.isPair(ctrl)) { + replaceNode(key, path, ctrl); + return visit_(key, ctrl, visitor, path); + } + if (typeof ctrl !== 'symbol') { + if (Node.isCollection(node)) { + path = Object.freeze(path.concat(node)); + for (let i = 0; i < node.items.length; ++i) { + const ci = visit_(i, node.items[i], visitor, path); + if (typeof ci === 'number') + i = ci - 1; + else if (ci === BREAK) + return BREAK; + else if (ci === REMOVE) { + node.items.splice(i, 1); + i -= 1; + } + } + } + else if (Node.isPair(node)) { + path = Object.freeze(path.concat(node)); + const ck = visit_('key', node.key, visitor, path); + if (ck === BREAK) + return BREAK; + else if (ck === REMOVE) + node.key = null; + const cv = visit_('value', node.value, visitor, path); + if (cv === BREAK) + return BREAK; + else if (cv === REMOVE) + node.value = null; + } + } + return ctrl; +} +/** + * Apply an async visitor to an AST node or document. + * + * Walks through the tree (depth-first) starting from `node`, calling a + * `visitor` function with three arguments: + * - `key`: For sequence values and map `Pair`, the node's index in the + * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly. + * `null` for the root node. + * - `node`: The current node. + * - `path`: The ancestry of the current node. + * + * The return value of the visitor may be used to control the traversal: + * - `Promise`: Must resolve to one of the following values + * - `undefined` (default): Do nothing and continue + * - `visit.SKIP`: Do not visit the children of this node, continue with next + * sibling + * - `visit.BREAK`: Terminate traversal completely + * - `visit.REMOVE`: Remove the current node, then continue with the next one + * - `Node`: Replace the current node, then continue by visiting it + * - `number`: While iterating the items of a sequence or map, set the index + * of the next step. This is useful especially if the index of the current + * node has changed. + * + * If `visitor` is a single function, it will be called with all values + * encountered in the tree, including e.g. `null` values. Alternatively, + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`, + * `Alias` and `Scalar` node. To define the same visitor function for more than + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar) + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most + * specific defined one will be used for each node. + */ +async function visitAsync(node, visitor) { + const visitor_ = initVisitor(visitor); + if (Node.isDocument(node)) { + const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node])); + if (cd === REMOVE) + node.contents = null; + } + else + await visitAsync_(null, node, visitor_, Object.freeze([])); +} +// Without the `as symbol` casts, TS declares these in the `visit` +// namespace using `var`, but then complains about that because +// `unique symbol` must be `const`. +/** Terminate visit traversal completely */ +visitAsync.BREAK = BREAK; +/** Do not visit the children of the current node */ +visitAsync.SKIP = SKIP; +/** Remove the current node */ +visitAsync.REMOVE = REMOVE; +async function visitAsync_(key, node, visitor, path) { + const ctrl = await callVisitor(key, node, visitor, path); + if (Node.isNode(ctrl) || Node.isPair(ctrl)) { + replaceNode(key, path, ctrl); + return visitAsync_(key, ctrl, visitor, path); + } + if (typeof ctrl !== 'symbol') { + if (Node.isCollection(node)) { + path = Object.freeze(path.concat(node)); + for (let i = 0; i < node.items.length; ++i) { + const ci = await visitAsync_(i, node.items[i], visitor, path); + if (typeof ci === 'number') + i = ci - 1; + else if (ci === BREAK) + return BREAK; + else if (ci === REMOVE) { + node.items.splice(i, 1); + i -= 1; + } + } + } + else if (Node.isPair(node)) { + path = Object.freeze(path.concat(node)); + const ck = await visitAsync_('key', node.key, visitor, path); + if (ck === BREAK) + return BREAK; + else if (ck === REMOVE) + node.key = null; + const cv = await visitAsync_('value', node.value, visitor, path); + if (cv === BREAK) + return BREAK; + else if (cv === REMOVE) + node.value = null; + } + } + return ctrl; +} +function initVisitor(visitor) { + if (typeof visitor === 'object' && + (visitor.Collection || visitor.Node || visitor.Value)) { + return Object.assign({ + Alias: visitor.Node, + Map: visitor.Node, + Scalar: visitor.Node, + Seq: visitor.Node + }, visitor.Value && { + Map: visitor.Value, + Scalar: visitor.Value, + Seq: visitor.Value + }, visitor.Collection && { + Map: visitor.Collection, + Seq: visitor.Collection + }, visitor); + } + return visitor; +} +function callVisitor(key, node, visitor, path) { + if (typeof visitor === 'function') + return visitor(key, node, path); + if (Node.isMap(node)) + return visitor.Map?.(key, node, path); + if (Node.isSeq(node)) + return visitor.Seq?.(key, node, path); + if (Node.isPair(node)) + return visitor.Pair?.(key, node, path); + if (Node.isScalar(node)) + return visitor.Scalar?.(key, node, path); + if (Node.isAlias(node)) + return visitor.Alias?.(key, node, path); + return undefined; +} +function replaceNode(key, path, node) { + const parent = path[path.length - 1]; + if (Node.isCollection(parent)) { + parent.items[key] = node; + } + else if (Node.isPair(parent)) { + if (key === 'key') + parent.key = node; + else + parent.value = node; + } + else if (Node.isDocument(parent)) { + parent.contents = node; + } + else { + const pt = Node.isAlias(parent) ? 'alias' : 'scalar'; + throw new Error(`Cannot replace node with ${pt} parent`); + } +} + +exports.visit = visit; +exports.visitAsync = visitAsync; + + +/***/ }), + +/***/ 4344: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var interpolation = __nccwpck_require__(3324); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module angle + */ +const { abs, acos, asin, atan2, cos, hypot, sin, sqrt, tan } = Math; + +/** + * `sep` returns the angular separation between two celestial bodies. + * + * The algorithm is numerically naïve, and while patched up a bit for + * small separations, remains unstable for separations near π. + * + * @param {Coord} c1 - coordinate of celestial body 1 + * @param {Coord} c2 - coordinate of celestial body 2 + * @return {Number} angular separation between two celestial bodies + */ +function sep (c1, c2) { + const [sind1, cosd1] = base["default"].sincos(c1.dec); + const [sind2, cosd2] = base["default"].sincos(c2.dec); + const cd = sind1 * sind2 + cosd1 * cosd2 * cos(c1.ra - c2.ra); // (17.1) p. 109 + if (cd < base["default"].CosSmallAngle) { + return acos(cd) + } else { + const cosd = cos((c2.dec + c1.dec) / 2); // average dec of two bodies + return hypot((c2.ra - c1.ra) * cosd, c2.dec - c1.dec) // (17.2) p. 109 + } +} + +/** + * `minSep` returns the minimum separation between two moving objects. + * + * The motion is represented as an ephemeris of three rows, equally spaced + * in time. Jd1, jd3 are julian day times of the first and last rows. + * R1, d1, r2, d2 are coordinates at the three times. They must each be + * slices of length 3.0 + * + * Result is obtained by computing separation at each of the three times + * and interpolating a minimum. This may be invalid for sufficiently close + * approaches. + * + * @throws Error + * @param {Number} jd1 - Julian day - time at cs1[0], cs2[0] + * @param {Number} jd3 - Julian day - time at cs1[2], cs2[2] + * @param {Coord[]} cs1 - 3 coordinates of moving object 1 + * @param {Coord[]} cs2 - 3 coordinates of moving object 2 + * @param {function} [fnSep] - alternative `sep` function e.g. `angle.sepPauwels`, `angle.sepHav` + * @return {Number} angular separation between two celestial bodies + */ +function minSep (jd1, jd3, cs1, cs2, fnSep) { + if (cs1.length !== 3 || cs2.length !== 3) { + throw interpolation["default"].errorNot3 + } + const y = new Array(3); + cs1.forEach((c, x) => { + y[x] = sep(cs1[x], cs2[x]); + }); + const d3 = new interpolation["default"].Len3(jd1, jd3, y); + const dMin = d3.extremum()[1]; + return dMin +} + +/** + * `minSepRect` returns the minimum separation between two moving objects. + * + * Like `minSep`, but using a method of rectangular coordinates that gives + * accurate results even for close approaches. + * + * @throws Error + * @param {Number} jd1 - Julian day - time at cs1[0], cs2[0] + * @param {Number} jd3 - Julian day - time at cs1[2], cs2[2] + * @param {Coord[]} cs1 - 3 coordinates of moving object 1 + * @param {Coord[]} cs2 - 3 coordinates of moving object 2 + * @return {Number} angular separation between two celestial bodies + */ +function minSepRect (jd1, jd3, cs1, cs2) { + if (cs1.length !== 3 || cs2.length !== 3) { + throw interpolation["default"].ErrorNot3 + } + const uv = function (c1, c2) { + const [sind1, cosd1] = base["default"].sincos(c1.dec); + const Δr = c2.ra - c1.ra; + const tanΔr = tan(Δr); + const tanhΔr = tan(Δr / 2); + const K = 1 / (1 + sind1 * sind1 * tanΔr * tanhΔr); + const sinΔd = sin(c2.dec - c1.dec); + const u = -K * (1 - (sind1 / cosd1) * sinΔd) * cosd1 * tanΔr; + const v = K * (sinΔd + sind1 * cosd1 * tanΔr * tanhΔr); + return [u, v] + }; + const us = new Array(3).fill(0); + const vs = new Array(3).fill(0); + cs1.forEach((c, x) => { + [us[x], vs[x]] = uv(cs1[x], cs2[x]); + }); + const u3 = new interpolation["default"].Len3(-1, 1, us); // if line throws then bug not caller's fault. + const v3 = new interpolation["default"].Len3(-1, 1, vs); // if line throws then bug not caller's fault. + const up0 = (us[2] - us[0]) / 2; + const vp0 = (vs[2] - vs[0]) / 2; + const up1 = us[0] + us[2] - 2 * us[1]; + const vp1 = vs[0] + vs[2] - 2 * vs[1]; + const up = up0; + const vp = vp0; + let dn = -(us[1] * up + vs[1] * vp) / (up * up + vp * vp); + let n = dn; + let u; + let v; + for (let limit = 0; limit < 10; limit++) { + u = u3.interpolateN(n); + v = v3.interpolateN(n); + if (abs(dn) < 1e-5) { + return hypot(u, v) // success + } + const up = up0 + n * up1; + const vp = vp0 + n * vp1; + dn = -(u * up + v * vp) / (up * up + vp * vp); + n += dn; + } + throw new Error('minSepRect: failure to converge') +} + +/** + * haversine function (17.5) p. 115 + */ +function hav (a) { + return 0.5 * (1 - Math.cos(a)) +} + +/** + * `sepHav` returns the angular separation between two celestial bodies. + * + * The algorithm uses the haversine function and is superior to the naïve + * algorithm of the Sep function. + * + * @param {Coord} c1 - coordinate of celestial body 1 + * @param {Coord} c2 - coordinate of celestial body 2 + * @return {Number} angular separation between two celestial bodies + */ +function sepHav (c1, c2) { + // using (17.5) p. 115 + return 2 * asin(sqrt(hav(c2.dec - c1.dec) + + cos(c1.dec) * cos(c2.dec) * hav(c2.ra - c1.ra))) +} + +/** + * Same as `minSep` but uses function `sepHav` to return the minimum separation + * between two moving objects. + */ +function minSepHav (jd1, jd3, cs1, cs2) { + return minSep(jd1, jd3, cs1, cs2) +} + +/** + * `sepPauwels` returns the angular separation between two celestial bodies. + * + * The algorithm is a numerically stable form of that used in `sep`. + * + * @param {Coord} c1 - coordinate of celestial body 1 + * @param {Coord} c2 - coordinate of celestial body 2 + * @return {Number} angular separation between two celestial bodies + */ +function sepPauwels (c1, c2) { + const [sind1, cosd1] = base["default"].sincos(c1.dec); + const [sind2, cosd2] = base["default"].sincos(c2.dec); + const cosdr = cos(c2.ra - c1.ra); + const x = cosd1 * sind2 - sind1 * cosd2 * cosdr; + const y = cosd2 * sin(c2.ra - c1.ra); + const z = sind1 * sind2 + cosd1 * cosd2 * cosdr; + return atan2(hypot(x, y), z) +} + +/** + * Same as `minSep` but uses function `sepPauwels` to return the minimum + * separation between two moving objects. + */ +function minSepPauwels (jd1, jd3, cs1, cs2) { + return minSep(jd1, jd3, cs1, cs2) +} + +/** + * RelativePosition returns the position angle of one body with respect to + * another. + * + * The position angle result `p` is measured counter-clockwise from North. + * If negative then `p` is in the range of 90° ... 270° + * + * ```` + * North + * | + * (p) ..| + * . | + * V | + * c1 x------------x c2 + * | + * ```` + * + * @param {Coord} c1 - coordinate of celestial body 1 + * @param {Coord} c2 - coordinate of celestial body 2 + * @return {Number} position angle (p) + */ +function relativePosition (c1, c2) { + const [sinΔr, cosΔr] = base["default"].sincos(c1.ra - c2.ra); + const [sind2, cosd2] = base["default"].sincos(c2.dec); + const p = atan2(sinΔr, cosd2 * tan(c1.dec) - sind2 * cosΔr); + return p +} + +var angle = { + sep, + minSep, + minSepRect, + hav, + sepHav, + minSepHav, + sepPauwels, + minSepPauwels, + relativePosition +}; + +exports["default"] = angle; +exports.hav = hav; +exports.minSep = minSep; +exports.minSepHav = minSepHav; +exports.minSepPauwels = minSepPauwels; +exports.minSepRect = minSepRect; +exports.relativePosition = relativePosition; +exports.sep = sep; +exports.sepHav = sepHav; +exports.sepPauwels = sepPauwels; + + +/***/ }), + +/***/ 1141: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var nutation$1 = __nccwpck_require__(6723); +var precess = __nccwpck_require__(3598); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module apparent + */ +const { cos, tan } = Math; + +/** + * Nutation returns corrections due to nutation for equatorial coordinates + * of an object. + * + * Results are invalid for objects very near the celestial poles. + * @param {Number} α - right ascension + * @param {Number} δ - declination + * @param {Number} jd - Julian Day + * @return {Number[]} [Δα1, Δδ1] - +*/ +function nutation (α, δ, jd) { // (α, δ, jd float64) (Δα1, Δδ1 float64) + const ε = nutation$1["default"].meanObliquity(jd); + const [sinε, cosε] = base["default"].sincos(ε); + const [Δψ, Δε] = nutation$1["default"].nutation(jd); + const [sinα, cosα] = base["default"].sincos(α); + const tanδ = tan(δ); + // (23.1) p. 151 + const Δα1 = (cosε + sinε * sinα * tanδ) * Δψ - cosα * tanδ * Δε; + const Δδ1 = sinε * cosα * Δψ + sinα * Δε; + return [Δα1, Δδ1] +} + +/** + * κ is the constant of aberration in radians. + */ +const κ = 20.49552 * Math.PI / 180 / 3600; + +/** + * longitude of perihelian of Earth's orbit. + */ +function perihelion (T) { // (T float64) float64 + return base["default"].horner(T, 102.93735, 1.71946, 0.00046) * Math.PI / 180 +} + +/** + * EclipticAberration returns corrections due to aberration for ecliptic + * coordinates of an object. + */ +function eclipticAberration (λ, β, jd) { // (λ, β, jd float64) (Δλ, Δβ float64) + const T = base["default"].J2000Century(jd); + const { lon, ano } = solar["default"].trueLongitude(T); // eslint-disable-line no-unused-vars + const e = solar["default"].eccentricity(T); + const π = perihelion(T); + const [sβ, cβ] = base["default"].sincos(β); + const [ssλ, csλ] = base["default"].sincos(lon - λ); + const [sinπλ, cosπλ] = base["default"].sincos(π - λ); + // (23.2) p. 151 + const Δλ = κ * (e * cosπλ - csλ) / cβ; + const Δβ = -κ * sβ * (ssλ - e * sinπλ); + return [Δλ, Δβ] +} + +/** + * Aberration returns corrections due to aberration for equatorial + * coordinates of an object. + */ +function aberration (α, δ, jd) { // (α, δ, jd float64) (Δα2, Δδ2 float64) + const ε = nutation$1["default"].meanObliquity(jd); + const T = base["default"].J2000Century(jd); + const { lon, ano } = solar["default"].trueLongitude(T); // eslint-disable-line no-unused-vars + const e = solar["default"].eccentricity(T); + const π = perihelion(T); + const [sinα, cosα] = base["default"].sincos(α); + const [sinδ, cosδ] = base["default"].sincos(δ); + const [sins, coss] = base["default"].sincos(lon); + const [sinπ, cosπ] = base["default"].sincos(π); + const cosε = cos(ε); + const q1 = cosα * cosε; + // (23.3) p. 152 + const Δα2 = κ * (e * (q1 * cosπ + sinα * sinπ) - (q1 * coss + sinα * sins)) / cosδ; + const q2 = cosε * (tan(ε) * cosδ - sinα * sinδ); + const q3 = cosα * sinδ; + const Δδ2 = κ * (e * (cosπ * q2 + sinπ * q3) - (coss * q2 + sins * q3)); + return [Δα2, Δδ2] +} + +/** + * Position computes the apparent position of an object. + * + * Position is computed for equatorial coordinates in eqFrom, considering + * proper motion, precession, nutation, and aberration. Result is in + * eqTo. EqFrom and eqTo must be non-nil, but may point to the same struct. + */ +function position (eqFrom, epochFrom, epochTo, mα, mδ) { // (eqFrom, eqTo *coord.Equatorial, epochFrom, epochTo float64, mα sexa.HourAngle, mδ sexa.Angle) *coord.Equatorial + const eqTo = precess["default"].position(eqFrom, epochFrom, epochTo, mα, mδ); + const jd = base["default"].JulianYearToJDE(epochTo); + const [Δα1, Δδ1] = nutation(eqTo.ra, eqTo.dec, jd); + const [Δα2, Δδ2] = aberration(eqTo.ra, eqTo.dec, jd); + eqTo.ra += Δα1 + Δα2; + eqTo.dec += Δδ1 + Δδ2; + return eqTo +} + +/** + * AberrationRonVondrak uses the Ron-Vondrák expression to compute corrections + * due to aberration for equatorial coordinates of an object. + */ +function aberrationRonVondrak (α, δ, jd) { // (α, δ, jd float64) (Δα, Δδ float64) + const T = base["default"].J2000Century(jd); + const r = { + T, + L2: 3.1761467 + 1021.3285546 * T, + L3: 1.7534703 + 628.3075849 * T, + L4: 6.2034809 + 334.0612431 * T, + L5: 0.5995465 + 52.9690965 * T, + L6: 0.8740168 + 21.3299095 * T, + L7: 5.4812939 + 7.4781599 * T, + L8: 5.3118863 + 3.8133036 * T, + Lp: 3.8103444 + 8399.6847337 * T, + D: 5.1984667 + 7771.3771486 * T, + Mp: 2.3555559 + 8328.6914289 * T, + F: 1.6279052 + 8433.4661601 * T + }; + let Xp = 0; + let Yp = 0; + let Zp = 0; + // sum smaller terms first + for (let i = 35; i >= 0; i--) { + const [x, y, z] = rvTerm[i](r); + Xp += x; + Yp += y; + Zp += z; + } + const [sinα, cosα] = base["default"].sincos(α); + const [sinδ, cosδ] = base["default"].sincos(δ); + // (23.4) p. 156 + return [(Yp * cosα - Xp * sinα) / (c * cosδ), -((Xp * cosα + Yp * sinα) * sinδ - Zp * cosδ) / c] +} + +const c = 17314463350; // unit is 1e-8 AU / day + +// r = {T, L2, L3, L4, L5, L6, L7, L8, Lp, D, Mp, F} +const rvTerm = [ + function (r) { // 1 + const [sinA, cosA] = base["default"].sincos(r.L3); + return [(-1719914 - 2 * r.T) * sinA - 25 * cosA, + (25 - 13 * r.T) * sinA + (1578089 + 156 * r.T) * cosA, + (10 + 32 * r.T) * sinA + (684185 - 358 * r.T) * cosA + ] + }, + function (r) { // 2 + const [sinA, cosA] = base["default"].sincos(2 * r.L3); + return [(6434 + 141 * r.T) * sinA + (28007 - 107 * r.T) * cosA, + (25697 - 95 * r.T) * sinA + (-5904 - 130 * r.T) * cosA, + (11141 - 48 * r.T) * sinA + (-2559 - 55 * r.T) * cosA + ] + }, + function (r) { // 3 + const [sinA, cosA] = base["default"].sincos(r.L5); + return [715 * sinA, 6 * sinA - 657 * cosA, -15 * sinA - 282 * cosA] + }, + function (r) { // 4 + const [sinA, cosA] = base["default"].sincos(r.Lp); + return [715 * sinA, -656 * cosA, -285 * cosA] + }, + function (r) { // 5 + const [sinA, cosA] = base["default"].sincos(3 * r.L3); + return [(486 - 5 * r.T) * sinA + (-236 - 4 * r.T) * cosA, + (-216 - 4 * r.T) * sinA + (-446 + 5 * r.T) * cosA, -94 * sinA - 193 * cosA + ] + }, + function (r) { // 6 + const [sinA, cosA] = base["default"].sincos(r.L6); + return [159 * sinA, 2 * sinA - 147 * cosA, -6 * sinA - 61 * cosA] + }, + function (r) { // 7 + const cosA = Math.cos(r.F); + return [0, 26 * cosA, -59 * cosA] + }, + function (r) { // 8 + const [sinA, cosA] = base["default"].sincos(r.Lp + r.Mp); + return [39 * sinA, -36 * cosA, -16 * cosA] + }, + function (r) { // 9 + const [sinA, cosA] = base["default"].sincos(2 * r.L5); + return [33 * sinA - 10 * cosA, -9 * sinA - 30 * cosA, -5 * sinA - 13 * cosA] + }, + function (r) { // 10 + const [sinA, cosA] = base["default"].sincos(2 * r.L3 - r.L5); + return [31 * sinA + cosA, sinA - 28 * cosA, -12 * cosA] + }, + function (r) { // 11 + const [sinA, cosA] = base["default"].sincos(3 * r.L3 - 8 * r.L4 + 3 * r.L5); + return [8 * sinA - 28 * cosA, 25 * sinA + 8 * cosA, 11 * sinA + 3 * cosA] + }, + function (r) { // 12 + const [sinA, cosA] = base["default"].sincos(5 * r.L3 - 8 * r.L4 + 3 * r.L5); + return [8 * sinA - 28 * cosA, -25 * sinA - 8 * cosA, -11 * sinA + -3 * cosA] + }, + function (r) { // 13 + const [sinA, cosA] = base["default"].sincos(2 * r.L2 - r.L3); + return [21 * sinA, -19 * cosA, -8 * cosA] + }, + function (r) { // 14 + const [sinA, cosA] = base["default"].sincos(r.L2); + return [-19 * sinA, 17 * cosA, 8 * cosA] + }, + function (r) { // 15 + const [sinA, cosA] = base["default"].sincos(r.L7); + return [17 * sinA, -16 * cosA, -7 * cosA] + }, + function (r) { // 16 + const [sinA, cosA] = base["default"].sincos(r.L3 - 2 * r.L5); + return [16 * sinA, 15 * cosA, sinA + 7 * cosA] + }, + function (r) { // 17 + const [sinA, cosA] = base["default"].sincos(r.L8); + return [16 * sinA, sinA - 15 * cosA, -3 * sinA - 6 * cosA] + }, + function (r) { // 18 + const [sinA, cosA] = base["default"].sincos(r.L3 + r.L5); + return [11 * sinA - cosA, -sinA - 10 * cosA, -sinA - 5 * cosA] + }, + function (r) { // 19 + const [sinA, cosA] = base["default"].sincos(2 * r.L2 - 2 * r.L3); + return [-11 * cosA, -10 * sinA, -4 * sinA] + }, + function (r) { // 20 + const [sinA, cosA] = base["default"].sincos(r.L3 - r.L5); + return [-11 * sinA - 2 * cosA, -2 * sinA + 9 * cosA, -sinA + 4 * cosA] + }, + function (r) { // 21 + const [sinA, cosA] = base["default"].sincos(4 * r.L3); + return [-7 * sinA - 8 * cosA, -8 * sinA + 6 * cosA, -3 * sinA + 3 * cosA] + }, + function (r) { // 22 + const [sinA, cosA] = base["default"].sincos(3 * r.L3 - 2 * r.L5); + return [-10 * sinA, 9 * cosA, 4 * cosA] + }, + function (r) { // 23 + const [sinA, cosA] = base["default"].sincos(r.L2 - 2 * r.L3); + return [-9 * sinA, -9 * cosA, -4 * cosA] + }, + function (r) { // 24 + const [sinA, cosA] = base["default"].sincos(2 * r.L2 - 3 * r.L3); + return [-9 * sinA, -8 * cosA, -4 * cosA] + }, + function (r) { // 25 + const [sinA, cosA] = base["default"].sincos(2 * r.L6); + return [-9 * cosA, -8 * sinA, -3 * sinA] + }, + function (r) { // 26 + const [sinA, cosA] = base["default"].sincos(2 * r.L2 - 4 * r.L3); + return [-9 * cosA, 8 * sinA, 3 * sinA] + }, + function (r) { // 27 + const [sinA, cosA] = base["default"].sincos(3 * r.L3 - 2 * r.L4); + return [8 * sinA, -8 * cosA, -3 * cosA] + }, + function (r) { // 28 + const [sinA, cosA] = base["default"].sincos(r.Lp + 2 * r.D - r.Mp); + return [8 * sinA, -7 * cosA, -3 * cosA] + }, + function (r) { // 29 + const [sinA, cosA] = base["default"].sincos(8 * r.L2 - 12 * r.L3); + return [-4 * sinA - 7 * cosA, -6 * sinA + 4 * cosA, -3 * sinA + 2 * cosA] + }, + function (r) { // 30 + const [sinA, cosA] = base["default"].sincos(8 * r.L2 - 14 * r.L3); + return [-4 * sinA - 7 * cosA, 6 * sinA - 4 * cosA, 3 * sinA - 2 * cosA] + }, + function (r) { // 31 + const [sinA, cosA] = base["default"].sincos(2 * r.L4); + return [-6 * sinA - 5 * cosA, -4 * sinA + 5 * cosA, -2 * sinA + 2 * cosA] + }, + function (r) { // 32 + const [sinA, cosA] = base["default"].sincos(3 * r.L2 - 4 * r.L3); + return [-sinA - cosA, -2 * sinA - 7 * cosA, sinA - 4 * cosA] + }, + function (r) { // 33 + const [sinA, cosA] = base["default"].sincos(2 * r.L3 - 2 * r.L5); + return [4 * sinA - 6 * cosA, -5 * sinA - 4 * cosA, -2 * sinA - 2 * cosA] + }, + function (r) { // 34 + const [sinA, cosA] = base["default"].sincos(3 * r.L2 - 3 * r.L3); + return [-7 * cosA, -6 * sinA, -3 * sinA] + }, + function (r) { // 35 + const [sinA, cosA] = base["default"].sincos(2 * r.L3 - 2 * r.L4); + return [5 * sinA - 5 * cosA, -4 * sinA - 5 * cosA, -2 * sinA - 2 * cosA] + }, + function (r) { // 36 + const [sinA, cosA] = base["default"].sincos(r.Lp - 2 * r.D); + return [5 * sinA, -5 * cosA, -2 * cosA] + } +]; + +/** + * PositionRonVondrak computes the apparent position of an object using + * the Ron-Vondrák expression for aberration. + * + * Position is computed for equatorial coordinates in eqFrom, considering + * proper motion, aberration, precession, and _nutation. Result is in + * eqTo. EqFrom and eqTo must be non-nil, but may point to the same struct. + * + * Note the Ron-Vondrák expression is only valid for the epoch J2000. + * EqFrom must be coordinates at epoch J2000. + */ +function positionRonVondrak (eqFrom, epochTo, mα, mδ) { // (eqFrom, eqTo *coord.Equatorial, epochTo float64, mα sexa.HourAngle, mδ sexa.Angle) *coord.Equatorial + const t = epochTo - 2000; + let eqTo = new coord["default"].Equatorial(); + eqTo.ra = eqFrom.ra + mα.rad() * t; + eqTo.dec = eqFrom.dec + mδ.rad() * t; + const jd = base["default"].JulianYearToJDE(epochTo); + const [Δα, Δδ] = aberrationRonVondrak(eqTo.ra, eqTo.dec, jd); + eqTo.ra += Δα; + eqTo.dec += Δδ; + eqTo = precess["default"].position(eqTo, 2000, epochTo, 0, 0); + const [Δα1, Δδ1] = nutation(eqTo.ra, eqTo.dec, jd); + eqTo.ra += Δα1; + eqTo.dec += Δδ1; + return eqTo +} + +var apparent = { + nutation, + perihelion, + eclipticAberration, + aberration, + position, + aberrationRonVondrak, + positionRonVondrak +}; + +exports.aberration = aberration; +exports.aberrationRonVondrak = aberrationRonVondrak; +exports["default"] = apparent; +exports.eclipticAberration = eclipticAberration; +exports.nutation = nutation; +exports.perihelion = perihelion; +exports.position = position; +exports.positionRonVondrak = positionRonVondrak; + + +/***/ }), + +/***/ 7475: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module apsis + */ +const { sin, cos } = Math; + +/** + * conversion factor from k to T, given in (50.3) p. 356 + */ +const ck = 1 / 1325.55; +const D2R = Math.PI / 180; + +// from http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html +const EARTH_RADIUS = 6378.137; // km +// from http://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html +const MOON_RADIUS = 1738.1; // km + +/** + * mean time of perigee or apogee + * (50.1) p. 355 + */ +const mean = function (T) { + return base["default"].horner(T, 2451534.6698, 27.55454989 / ck, + -0.0006691, -0.000001098, 0.0000000052) +}; + +/** + * snap returns k at half h nearest year y. + */ +const snap = function (y, h) { + const k = (y - 1999.97) * 13.2555; // (50.2) p. 355 + return Math.floor(k - h + 0.5) + h +}; + +/** + * meanPerigee returns the jde of the mean perigee of the Moon nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} jde - Julian ephemeris day + */ +function meanPerigee (year) { + return mean(snap(year, 0) * ck) +} + +/** + * perigee returns the jde of perigee of the Moon nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} jde - Julian ephemeris day + */ +function perigee (year) { + const l = new La(year, 0); + return mean(l.T) + l.perigeeCorr() +} + +/** + * meanApogee returns the jde of the mean apogee of the Moon nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} jde - Julian ephemeris day + */ +function meanApogee (year) { // (year float64) float64 + return mean(snap(year, 0.5) * ck) +} + +/** + * apogee returns the jde of apogee of the Moon nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} jde - Julian ephemeris day + */ +function apogee (year) { + const l = new La(year, 0.5); + return mean(l.T) + l.apogeeCorr() +} + +/** + * apogeeParallax returns equatorial horizontal parallax of the Moon at the Apogee nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} equatorial horizontal parallax in radians + */ +function apogeeParallax (year) { + return new La(year, 0.5).apogeeParallax() +} + +/** + * perigeeParallax returns equatorial horizontal parallax of the Moon at the Apogee nearest the given date. + * + * @param {Number} year - is a decimal year specifying a date. + * @return {Number} equatorial horizontal parallax in radians + */ +function perigeeParallax (year) { + return new La(year, 0).perigeeParallax() +} + +/** + * Calculate the distance earth - moon (center to center) using the parallax angle in radians + * + * @param {Number} parallax - parallax angle in radians + * @return {Number} distance in `km` + */ +function distance (parallax) { + return EARTH_RADIUS / sin(parallax) +} + +class La { + constructor (y, h) { + this.k = snap(y, h); + this.T = this.k * ck; // (50.3) p. 350 + this.D = base["default"].horner(this.T, 171.9179 * D2R, 335.9106046 * D2R / ck, + -0.0100383 * D2R, -0.00001156 * D2R, 0.000000055 * D2R); + this.M = base["default"].horner(this.T, 347.3477 * D2R, 27.1577721 * D2R / ck, + -0.000813 * D2R, -0.000001 * D2R); + this.F = base["default"].horner(this.T, 316.6109 * D2R, 364.5287911 * D2R / ck, + -0.0125053 * D2R, -0.0000148 * D2R); + return this + } + + /** + * perigee correction + */ + perigeeCorr () { + const l = this; + return -1.6769 * sin(2 * l.D) + + 0.4589 * sin(4 * l.D) + + -0.1856 * sin(6 * l.D) + + 0.0883 * sin(8 * l.D) + + (-0.0773 + 0.00019 * l.T) * sin(2 * l.D - l.M) + + (0.0502 - 0.00013 * l.T) * sin(l.M) + + -0.046 * sin(10 * l.D) + + (0.0422 - 0.00011 * l.T) * sin(4 * l.D - l.M) + + -0.0256 * sin(6 * l.D - l.M) + + 0.0253 * sin(12 * l.D) + + 0.0237 * sin(l.D) + + 0.0162 * sin(8 * l.D - l.M) + + -0.0145 * sin(14 * l.D) + + 0.0129 * sin(2 * l.F) + + -0.0112 * sin(3 * l.D) + + -0.0104 * sin(10 * l.D - l.M) + + 0.0086 * sin(16 * l.D) + + 0.0069 * sin(12 * l.D - l.M) + + 0.0066 * sin(5 * l.D) + + -0.0053 * sin(2 * (l.D + l.F)) + + -0.0052 * sin(18 * l.D) + + -0.0046 * sin(14 * l.D - l.M) + + -0.0041 * sin(7 * l.D) + + 0.004 * sin(2 * l.D + l.M) + + 0.0032 * sin(20 * l.D) + + -0.0032 * sin(l.D + l.M) + + 0.0031 * sin(16 * l.D - l.M) + + -0.0029 * sin(4 * l.D + l.M) + + 0.0027 * sin(9 * l.D) + + 0.0027 * sin(4 * l.D + 2 * l.F) + + -0.0027 * sin(2 * (l.D - l.M)) + + 0.0024 * sin(4 * l.D - 2 * l.M) + + -0.0021 * sin(6 * l.D - 2 * l.M) + + -0.0021 * sin(22 * l.D) + + -0.0021 * sin(18 * l.D - l.M) + + 0.0019 * sin(6 * l.D + l.M) + + -0.0018 * sin(11 * l.D) + + -0.0014 * sin(8 * l.D + l.M) + + -0.0014 * sin(4 * l.D - 2 * l.F) + + -0.0014 * sin(6 * l.D + 2 * l.F) + + 0.0014 * sin(3 * l.D + l.M) + + -0.0014 * sin(5 * l.D + l.M) + + 0.0013 * sin(13 * l.D) + + 0.0013 * sin(20 * l.D - l.M) + + 0.0011 * sin(3 * l.D + 2 * l.M) + + -0.0011 * sin(2 * (2 * l.D + l.F - l.M)) + + -0.001 * sin(l.D + 2 * l.M) + + -0.0009 * sin(22 * l.D - l.M) + + -0.0008 * sin(4 * l.F) + + 0.0008 * sin(6 * l.D - 2 * l.F) + + 0.0008 * sin(2 * (l.D - l.F) + l.M) + + 0.0007 * sin(2 * l.M) + + 0.0007 * sin(2 * l.F - l.M) + + 0.0007 * sin(2 * l.D + 4 * l.F) + + -0.0006 * sin(2 * (l.F - l.M)) + + -0.0006 * sin(2 * (l.D - l.F + l.M)) + + 0.0006 * sin(24 * l.D) + + 0.0005 * sin(4 * (l.D - l.F)) + + 0.0005 * sin(2 * (l.D + l.M)) + + -0.0004 * sin(l.D - l.M) + } + + /** + * apogee correction + */ + apogeeCorr () { + const l = this; + return 0.4392 * sin(2 * l.D) + + 0.0684 * sin(4 * l.D) + + (0.0456 - 0.00011 * l.T) * sin(l.M) + + (0.0426 - 0.00011 * l.T) * sin(2 * l.D - l.M) + + 0.0212 * sin(2 * l.F) + + -0.0189 * sin(l.D) + + 0.0144 * sin(6 * l.D) + + 0.0113 * sin(4 * l.D - l.M) + + 0.0047 * sin(2 * (l.D + l.F)) + + 0.0036 * sin(l.D + l.M) + + 0.0035 * sin(8 * l.D) + + 0.0034 * sin(6 * l.D - l.M) + + -0.0034 * sin(2 * (l.D - l.F)) + + 0.0022 * sin(2 * (l.D - l.M)) + + -0.0017 * sin(3 * l.D) + + 0.0013 * sin(4 * l.D + 2 * l.F) + + 0.0011 * sin(8 * l.D - l.M) + + 0.001 * sin(4 * l.D - 2 * l.M) + + 0.0009 * sin(10 * l.D) + + 0.0007 * sin(3 * l.D + l.M) + + 0.0006 * sin(2 * l.M) + + 0.0005 * sin(2 * l.D + l.M) + + 0.0005 * sin(2 * (l.D + l.M)) + + 0.0004 * sin(6 * l.D + 2 * l.F) + + 0.0004 * sin(6 * l.D - 2 * l.M) + + 0.0004 * sin(10 * l.D - l.M) + + -0.0004 * sin(5 * l.D) + + -0.0004 * sin(4 * l.D - 2 * l.F) + + 0.0003 * sin(2 * l.F + l.M) + + 0.0003 * sin(12 * l.D) + + 0.0003 * sin(2 * l.D + 2 * l.F - l.M) + + -0.0003 * sin(l.D - l.M) + } + + /** + * apogee parallax + */ + apogeeParallax () { + const s = Math.PI / 180 / 3600; + const l = this; + return 3245.251 * s + + -9.147 * s * cos(2 * l.D) + + -0.841 * s * cos(l.D) + + 0.697 * s * cos(2 * l.F) + + (-0.656 * s + 0.0016 * s * l.T) * cos(l.M) + + 0.355 * s * cos(4 * l.D) + + 0.159 * s * cos(2 * l.D - l.M) + + 0.127 * s * cos(l.D + l.M) + + 0.065 * s * cos(4 * l.D - l.M) + + 0.052 * s * cos(6 * l.D) + + 0.043 * s * cos(2 * l.D + l.M) + + 0.031 * s * cos(2 * (l.D + l.F)) + + -0.023 * s * cos(2 * (l.D - l.F)) + + 0.022 * s * cos(2 * (l.D - l.M)) + + 0.019 * s * cos(2 * (l.D + l.M)) + + -0.016 * s * cos(2 * l.M) + + 0.014 * s * cos(6 * l.D - l.M) + + 0.01 * s * cos(8 * l.D) + } + + /** + * perigee parallax + */ + perigeeParallax () { + const s = Math.PI / 180 / 3600; + const l = this; + return 3629.215 * s + + 63.224 * s * cos(2 * l.D) + + -6.990 * s * cos(4 * l.D) + + (2.834 * s - 0.0071 * l.T * s) * cos(2 * l.D - l.M) + + 1.927 * s * cos(6 * l.D) + + -1.263 * s * cos(l.D) + + -0.702 * s * cos(8 * l.D) + + (0.696 * s - 0.0017 * l.T * s) * cos(l.M) + + -0.690 * s * cos(2 * l.F) + + (-0.629 * s + 0.0016 * l.T * s) * cos(4 * l.D - l.M) + + -0.392 * s * cos(2 * (l.D - l.F)) + + 0.297 * s * cos(10 * l.D) + + 0.260 * s * cos(6 * l.D - l.M) + + 0.201 * s * cos(3 * l.D) + + -0.161 * s * cos(2 * l.D + l.M) + + 0.157 * s * cos(l.D + l.M) + + -0.138 * s * cos(12 * l.D) + + -0.127 * s * cos(8 * l.D - l.M) + + 0.104 * s * cos(2 * (l.D + l.F)) + + 0.104 * s * cos(2 * (l.D - l.M)) + + -0.079 * s * cos(5 * l.D) + + 0.068 * s * cos(14 * l.D) + + 0.067 * s * cos(10 * l.D - l.M) + + 0.054 * s * cos(4 * l.D + l.M) + + -0.038 * s * cos(12 * l.D - l.M) + + -0.038 * s * cos(4 * l.D - 2 * l.M) + + 0.037 * s * cos(7 * l.D) + + -0.037 * s * cos(4 * l.D + 2 * l.F) + + -0.035 * s * cos(16 * l.D) + + -0.030 * s * cos(3 * l.D + l.M) + + 0.029 * s * cos(l.D - l.M) + + -0.025 * s * cos(6 * l.D + l.M) + + 0.023 * s * cos(2 * l.M) + + 0.023 * s * cos(14 * l.D - l.M) + + -0.023 * s * cos(2 * (l.D + l.M)) + + 0.022 * s * cos(6 * l.D - 2 * l.M) + + -0.021 * s * cos(2 * l.D - 2 * l.F - l.M) + + -0.020 * s * cos(9 * l.D) + + 0.019 * s * cos(18 * l.D) + + 0.017 * s * cos(6 * l.D + 2 * l.F) + + 0.014 * s * cos(2 * l.F - l.M) + + -0.014 * s * cos(16 * l.D - l.M) + + 0.013 * s * cos(4 * l.D - 2 * l.F) + + 0.012 * s * cos(8 * l.D + l.M) + + 0.011 * s * cos(11 * l.D) + + 0.010 * s * cos(5 * l.D + l.M) + + -0.010 * s * cos(20 * l.D) + } +} + +var apsis = { + EARTH_RADIUS, + MOON_RADIUS, + meanPerigee, + perigee, + meanApogee, + apogee, + apogeeParallax, + perigeeParallax, + distance +}; + +exports.EARTH_RADIUS = EARTH_RADIUS; +exports.MOON_RADIUS = MOON_RADIUS; +exports.apogee = apogee; +exports.apogeeParallax = apogeeParallax; +exports["default"] = apsis; +exports.distance = distance; +exports.meanApogee = meanApogee; +exports.meanPerigee = meanPerigee; +exports.perigee = perigee; +exports.perigeeParallax = perigeeParallax; + + +/***/ }), + +/***/ 3823: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module base + */ +/** + * Base: Functions and other definitions useful with multiple packages. + * + * Base contains various definitions and support functions useful in multiple + * chapters. + * + * Bessellian and Julian Year + * + * Chapter 21, Precession actually contains these definitions. They are moved + * here because of their general utility. + * + * Chapter 22, Nutation contains the function for Julian centuries since J2000. + * + * Phase angle functions + * + * Two functions, Illuminated and Limb, concern the illumnated phase of a body + * and are given in two chapters, 41 an 48. They are collected here because + * the identical functions apply in both chapters. + * + * General purpose math functions + * + * SmallAngle is recommended in chapter 17, p. 109. + * + * PMod addresses the issue on p. 7, chapter 1, in the section "Trigonometric + * functions of large angles", but the function is not written to be specific + * to angles and so has more general utility. + * + * Horner is described on p. 10, chapter 1. + * + * FloorDiv and FloorDiv64 are optimizations for the INT function described + * on p. 60, chapter 7. +*/ + +// ---- constants ---- + +/** K is the Gaussian gravitational constant. */ +const K = 0.01720209895; +// K from ch 33, p. 228, for example + +/** AU is one astronomical unit in km. */ +const AU = 149597870; +// from Appendix I, p, 407. + +/** SOblJ2000 sine obliquity at J2000. */ +const SOblJ2000 = 0.397777156; +/** COblJ2000 cosine obliquity at J2000. */ +const COblJ2000 = 0.917482062; +// SOblJ2000, COblJ2000 from ch 33, p. 228, for example + +/** + * lightTime returns time for light to travel a given distance. + * `dist` is distance in to earth in AU. √(x² + y² + z²) + * Result in seconds of time. + * @param {Number} dist - distance in to earth in AU + * @returns {Number} time for light to travel a given distance in seconds + */ +function lightTime (dist) { + // Formula given as (33.3) p. 224. + return 0.0057755183 * dist +} + +// ---- julian ---- + +/** + * Julian and Besselian years described in chapter 21, Precession. + * T, Julian centuries since J2000 described in chapter 22, Nutation. + */ + +/** JMod is the Julian date of the modified Julian date epoch. */ +const JMod = 2400000.5; + +/** J2000 is the Julian date corresponding to January 1.5, year 2000. */ +const J2000 = 2451545.0; + +// Julian days of common epochs. +// B1900, B1950 from p. 133 +/** Julian days of Julian epoch 1900 */ +const J1900 = 2415020.0; +/** Julian days of Besselian epoch 1900 */ +const B1900 = 2415020.3135; +/** Julian days of Besselian epoch 1950 */ +const B1950 = 2433282.4235; + +// JulianYear and other common periods +/** JulianYear in days */ +const JulianYear = 365.25; // days +/** JulianCentury in days */ +const JulianCentury = 36525; // days +/** BesselianYear in days; equals mean tropical year */ +const BesselianYear = 365.2421988; // days +/** Mean sidereal year */ +const meanSiderealYear = 365.25636; // days + +/** + * JulianYearToJDE returns the Julian ephemeris day for a Julian year. + * @param {Number} jy - Julian year + * @returns {Number} jde - Julian ephemeris day + */ +function JulianYearToJDE (jy) { + return J2000 + JulianYear * (jy - 2000) +} + +/** + * JDEToJulianYear returns a Julian year for a Julian ephemeris day. + * @param {Number} jde - Julian ephemeris day + * @returns {Number} jy - Julian year + */ +function JDEToJulianYear (jde) { + return 2000 + (jde - J2000) / JulianYear +} + +/** + * BesselianYearToJDE returns the Julian ephemeris day for a Besselian year. + * @param {Number} by - Besselian year + * @returns {Number} jde - Julian ephemeris day + */ +function BesselianYearToJDE (by) { + return B1900 + BesselianYear * (by - 1900) +} + +/** + * JDEToBesselianYear returns the Besselian year for a Julian ephemeris day. + * @param {Number} jde - Julian ephemeris day + * @returns {Number} by - Besselian year + */ +function JDEToBesselianYear (jde) { + return 1900 + (jde - B1900) / BesselianYear +} + +/** + * J2000Century returns the number of Julian centuries since J2000. + * + * The quantity appears as T in a number of time series. + * @param {Number} jde - Julian ephemeris day + * @returns {Number} number of Julian centuries since J2000 + */ +function J2000Century (jde) { + // The formula is given in a number of places in the book, for example + // (12.1) p. 87. + // (22.1) p. 143. + // (25.1) p. 163. + return (jde - J2000) / JulianCentury +} + +// ---- phase ---- + +/** + * illuminated returns the illuminated fraction of a body's disk. + * + * The illuminated body can be the Moon or a planet. + * + * @param {Number} i - phase angle in radians. + * @returns {Number} illuminated fraction of a body's disk. + */ +function illuminated (i) { + // (41.1) p. 283, also (48.1) p. 345. + return (1 + Math.cos(i)) * 0.5 +} + +/** + * celestial coordinates in right ascension and declination + * or ecliptic coordinates in longitude and latitude + */ +class Coord { + /** + * celestial coordinates in right ascension and declination + * or ecliptic coordinates in longitude and latitude + * + * @param {number} ra - right ascension (or longitude) + * @param {number} dec - declination (or latitude) + * @param {number} [range] - distance + * @param {number} [elongation] - elongation + */ + constructor (ra, dec, range, elongation) { + this._ra = ra || 0; + this._dec = dec || 0; + this.range = range; + this.elongation = elongation; + } + + /** + * right ascension + * @return {number} + */ + get ra () { + return this._ra + } + + set ra (ra) { + this._ra = ra; + } + + /** + * declination + * @return {number} + */ + get dec () { + return this._dec + } + + set dec (dec) { + this._dec = dec; + } + + /** + * right ascension (or longitude) + * @return {number} + */ + get lon () { + return this._ra + } + + set lon (ra) { + this._ra = ra; + } + + /** + * declination (or latitude) + * @return {number} + */ + get lat () { + return this._dec + } + + set lat (dec) { + this._dec = dec; + } +} + +/** + * Limb returns the position angle of the midpoint of an illuminated limb. + * + * The illuminated body can be the Moon or a planet. + * + * @param {Coord} equ - equatorial coordinates of the body `{ra, dec}` (in radians) + * @param {Coord} appSun - apparent coordinates of the Sun `{ra, dec}` (In radians). + * @returns {Number} position angle of the midpoint (in radians). + */ +function limb (equ, appSun) { + const α = equ.ra; + const δ = equ.dec; + const α0 = appSun.ra; + const δ0 = appSun.dec; + // Mentioned in ch 41, p. 283. Formula (48.5) p. 346 + const sδ = Math.sin(δ); + const cδ = Math.cos(δ); + const sδ0 = Math.sin(δ0); + const cδ0 = Math.cos(δ0); + const sα0α = Math.sin(α0 - α); + const cα0α = Math.cos(α0 - α); + let χ = Math.atan2(cδ0 * sα0α, (sδ0 * cδ - cδ0 * sδ * cα0α)); + if (χ < 0) { + χ += 2 * Math.PI; + } + return χ +} + +// ---- math ---- + +// In chapter 17, p. 109, Meeus recommends 10′. +/** + * SmallAngle is threshold used by various routines for switching between + * trigonometric functions and Pythagorean approximations. + */ +const SmallAngle = 10 * Math.PI / 180 / 60; // about .003 radians +/** cosine of SmallAngle */ +const CosSmallAngle = Math.cos(SmallAngle); // about .999996 + +/** + * pmod returns a positive floating-point x mod y. + * + * For a positive argument y, it returns a value in the range [0,y). + * + * @param {Number} x + * @param {Number} y + * @returns {Number} x % y - The result may not be useful if y is negative. + */ +function pmod (x, y) { + let r = x % y; + if (r < 0) { + r += y; + } + return r +} + +/** + * horner evaluates a polynomal with coefficients c at x. The constant + * term is c[0]. + * @param {Number} x + * @param {Number[]} c - coefficients; c[0] may be of type Number[] + * @returns {Number} + */ +function horner (x, ...c) { + if (Array.isArray(c[0])) { + c = c[0]; + } + let i = c.length - 1; + let y = c[i]; + while (i > 0) { + i--; + y = y * x + c[i]; + } + return y +} + +/** + * FloorDiv returns the integer floor of the fractional value (x / y). + * @param {Number} x + * @param {Number} y + * @returns {Number} (int) + */ +function floorDiv (x, y) { + const q = x / y; + return Math.floor(q) +} + +/** + * Cmp compares two float64s and returns -1, 0, or 1 if a is <, ==, or > b, + * respectively. + * . + * @param {Number} a + * @param {Number} b + * @returns {Number} comparison result + */ +function cmp (a, b) { + if (a < b) return -1 + if (a > b) return 1 + return 0 +} + +/** + * shorthand function for Math.sin, Math.cos + * @param {Number} ε + * @returns {Number[]} [sin(ε), cos(ε)] + */ +function sincos (ε) { + return [Math.sin(ε), Math.cos(ε)] +} + +/** + * Convert degrees to radians + * @param {Number} deg - Angle in degrees + * @return {Number} Angle in radians + */ +function toRad (deg) { + return (Math.PI / 180.0) * deg +} + +/** + * Convert radians to degrees + * @param {Number} rad - Angle in radians + * @return {Number} Angle in degrees + */ +function toDeg (rad) { + return (180.0 / Math.PI) * rad +} + +/** + * separate fix `i` from fraction `f` + * @param {Number} float + * @returns {Array} [i, f] + * {Number} i - (int) fix value + * {Number} f - (float) fractional portion; always > 1 + */ +function modf (float) { + const i = Math.trunc(float); + const f = Math.abs(float - i); + return [i, f] +} + +/** + * Rounds `float` value by precision + * @param {Number} float - value to round + * @param {Number} [precision] - (int) number of post decimal positions + * @return {Number} rounded `float` + */ +function round (float, precision = 14) { + return parseFloat(float.toFixed(precision)) +} + +function errorCode (msg, code) { + const err = new Error(msg); + // @ts-ignore + err.code = code; + return err +} + +var base = { + K, + AU, + SOblJ2000, + COblJ2000, + lightTime, + JMod, + J2000, + J1900, + B1900, + B1950, + JulianYear, + JulianCentury, + BesselianYear, + meanSiderealYear, + JulianYearToJDE, + JDEToJulianYear, + BesselianYearToJDE, + JDEToBesselianYear, + J2000Century, + illuminated, + Coord, + limb, + SmallAngle, + CosSmallAngle, + pmod, + horner, + floorDiv, + cmp, + sincos, + toRad, + toDeg, + modf, + round, + errorCode +}; + +exports.AU = AU; +exports.B1900 = B1900; +exports.B1950 = B1950; +exports.BesselianYear = BesselianYear; +exports.BesselianYearToJDE = BesselianYearToJDE; +exports.COblJ2000 = COblJ2000; +exports.Coord = Coord; +exports.CosSmallAngle = CosSmallAngle; +exports.J1900 = J1900; +exports.J2000 = J2000; +exports.J2000Century = J2000Century; +exports.JDEToBesselianYear = JDEToBesselianYear; +exports.JDEToJulianYear = JDEToJulianYear; +exports.JMod = JMod; +exports.JulianCentury = JulianCentury; +exports.JulianYear = JulianYear; +exports.JulianYearToJDE = JulianYearToJDE; +exports.K = K; +exports.SOblJ2000 = SOblJ2000; +exports.SmallAngle = SmallAngle; +exports.cmp = cmp; +exports["default"] = base; +exports.errorCode = errorCode; +exports.floorDiv = floorDiv; +exports.horner = horner; +exports.illuminated = illuminated; +exports.lightTime = lightTime; +exports.limb = limb; +exports.meanSiderealYear = meanSiderealYear; +exports.modf = modf; +exports.pmod = pmod; +exports.round = round; +exports.sincos = sincos; +exports.toDeg = toDeg; +exports.toRad = toRad; + + +/***/ }), + +/***/ 7120: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module binary + */ +const { atan, atan2, cos, sqrt, tan } = Math; + +/** + * computes mean anomaly for the given date. + * + * @param {Number} year - is a decimal year specifying the date + * @param {Number} T - is time of periastron, as a decimal year + * @param {Number} P - is period of revolution in mean solar years + * @returns {Number} mean anomaly in radians. + */ +function meanAnomaly (year, T, P) { // (year, T, P float64) float64 + const n = 2 * Math.PI / P; + return base["default"].pmod(n * (year - T), 2 * Math.PI) +} + +/** + * Position computes apparent position angle and angular distance of + * components of a binary star. + * + * @param {Number} a - is apparent semimajor axis in arc seconds + * @param {Number} e - is eccentricity of the true orbit + * @param {Number} i - is inclination relative to the line of sight + * @param {Number} Ω - is position angle of the ascending node + * @param {Number} ω - is longitude of periastron + * @param {Number} E - is eccentric anomaly, computed for example with package kepler + * and the mean anomaly as returned by function M in this package. + * @returns {Number[]} [θ, ρ] + * {Number} θ -is the apparent position angle in radians, + * {Number} ρ is the angular distance in arc seconds. + */ +function position (a, e, i, Ω, ω, E) { // (a, e, i, Ω, ω, E float64) (θ, ρ float64) + const r = a * (1 - e * cos(E)); + const ν = 2 * atan(sqrt((1 + e) / (1 - e)) * tan(E / 2)); + const [sinνω, cosνω] = base["default"].sincos(ν + ω); + const cosi = cos(i); + const num = sinνω * cosi; + let θ = atan2(num, cosνω) + Ω; + if (θ < 0) { + θ += 2 * Math.PI; + } + const ρ = r * sqrt(num * num + cosνω * cosνω); + return [θ, ρ] +} + +/** + * ApparentEccentricity returns apparent eccenticity of a binary star + * given true orbital elements. + * + * @param {Number} e - is eccentricity of the true orbit + * @param {Number} i - is inclination relative to the line of sight + * @param {Number} ω - is longitude of periastron + * @returns {Number} apparent eccenticity of a binary star + */ +function apparentEccentricity (e, i, ω) { // (e, i, ω float64) float64 + const cosi = cos(i); + const [sinω, cosω] = base["default"].sincos(ω); + const A = (1 - e * e * cosω * cosω) * cosi * cosi; + const B = e * e * sinω * cosω * cosi; + const C = 1 - e * e * sinω * sinω; + const d = A - C; + const sqrtD = sqrt(d * d + 4 * B * B); + return sqrt(2 * sqrtD / (A + C + sqrtD)) +} + +var binary = { + meanAnomaly, + position, + apparentEccentricity +}; + +exports.apparentEccentricity = apparentEccentricity; +exports["default"] = binary; +exports.meanAnomaly = meanAnomaly; +exports.position = position; + + +/***/ }), + +/***/ 5132: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module circle + */ + +/** + * Smallest finds the smallest circle containing three points. + * + * Arguments should represent coordinates in right ascension and declination + * or longitude and latitude. Result Δ is the diameter of the circle, typeI + * is true if solution is of type I. + * + * @param {Coord} c1 - ra, dec point 1 + * @param {Coord} c2 - ra, dec point 2 + * @param {Coord} c3 - ra, dec point 3 + * @returns {Array} [Δ, typeI] + * {Number} Δ - diameter of the circle + * {Number} typeI - true - Two points on circle, one interior. + * false - All three points on circle. + */ +function smallest (c1, c2, c3) { + // Using haversine formula + const cd1 = Math.cos(c1.dec); + const cd2 = Math.cos(c2.dec); + const cd3 = Math.cos(c3.dec); + let a = 2 * Math.asin(Math.sqrt(hav(c2.dec - c1.dec) + cd1 * cd2 * hav(c2.ra - c1.ra))); + let b = 2 * Math.asin(Math.sqrt(hav(c3.dec - c2.dec) + cd2 * cd3 * hav(c3.ra - c2.ra))); + let c = 2 * Math.asin(Math.sqrt(hav(c1.dec - c3.dec) + cd3 * cd1 * hav(c1.ra - c3.ra))); + if (b > a) { + [a, b] = noswap(b, a); + } + if (c > a) { + [a, c] = noswap(c, a); + } + if (a * a >= b * b + c * c) { + return [a, true] + } + // (20.1) p. 128 + return [2 * a * b * c / Math.sqrt((a + b + c) * (a + b - c) * (b + c - a) * (a + c - b)), false] +} + +const noswap = function (a, b) { + return [a, b] +}; + +/** + * haversine function (17.5) p. 115 + */ +const hav = function (a) { + return 0.5 * (1 - Math.cos(a)) +}; + +var circle = { + smallest +}; + +exports["default"] = circle; +exports.smallest = smallest; + + +/***/ }), + +/***/ 7743: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var interpolation = __nccwpck_require__(3324); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module conjunction + */ + +/** + * Planetary computes a conjunction between two moving objects, such as planets. + * + * Conjunction is found with interpolation against length 5 ephemerides. + * + * t1, t5 are times of first and last rows of ephemerides. The scale is + * arbitrary. + * + * cs1 is the ephemeris of the first object. The columns may be celestial + * coordinates in right ascension and declination or ecliptic coordinates in + * longitude and latitude. + * + * cs2 is the ephemeris of the second object, in the same frame as the first. + * + * Return value t is time of conjunction in the scale of t1, t5. + * + * @param {Number} t1 - julian ephemeris day of first row + * @param {Number} t5 - julian ephemeris day of fifth row + * @param {Coord[]} cs1 - ephemeris of first moving object + * @param {Coord[]} cs2 - ephemeris of decond moving object + * @return {Array} + * {Number} t - time of conjunction in JDE + * {Number} Δd - is the amount that object 2 was "above" object 1 at the time of conjunction. + */ +function planetary (t1, t5, cs1, cs2) { + if (cs1.length !== 5 || cs2.length !== 5) { + throw new Error('Five rows required in ephemerides') + } + const dr = new Array(5); + const dd = new Array(5); + cs1.forEach((r, i) => { + dr[i] = cs2[i].ra - cs1[i].ra; + dd[i] = cs2[i].dec - cs1[i].dec; + }); + return conj(t1, t5, dr, dd) +} + +/** + * Stellar computes a conjunction between a moving and non-moving object. + * + * Arguments and return values same as with Planetary, except the non-moving + * object is c1. The ephemeris of the moving object is cs2. + * + * @param {Number} t1 - julian ephemeris day of first row + * @param {Number} t5 - julian ephemeris day of fifth row + * @param {Coord} c1 - ephemeris of non-moving object + * @param {Coord[]} cs2 - ephemeris of moving object + * @return {Array} + * {Number} t - time of conjunction in JDE + * {Number} Δd - is the amount that object 2 was "above" object 1 at the time of conjunction. + */ +function stellar (t1, t5, c1, cs2) { + if (cs2.length !== 5) { + throw new Error('Five rows required in ephemerides') + } + const dr = new Array(5); + const dd = new Array(5); + cs2.forEach((r, i) => { + dr[i] = cs2[i].ra - c1.ra; + dd[i] = cs2[i].dec - c1.dec; + }); + return conj(t1, t5, dr, dd) +} + +const conj = function (t1, t5, dr, dd) { // (t1, t5 float64, dr, dd []float64) (t, Δd float64, err error) + let l5 = new interpolation["default"].Len5(t1, t5, dr); + const t = l5.zero(true); + l5 = new interpolation["default"].Len5(t1, t5, dd); + const Δd = l5.interpolateXStrict(t); + return [t, Δd] +}; + +var conjunction = { + planetary, + stellar +}; + +exports["default"] = conjunction; +exports.planetary = planetary; +exports.stellar = stellar; + + +/***/ }), + +/***/ 8566: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var sexagesimal = __nccwpck_require__(2038); +__nccwpck_require__(9310); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module coord + */ + +/** + * @typedef {object} LonLat + * @property {Number} lon - Longitude (λ) in radians + * @property {Number} lat - Latitude (β) in radians + */ + +/** +* Ecliptic coordinates are referenced to the plane of the ecliptic. +*/ +class Ecliptic { + /** + * IMPORTANT: Longitudes are measured *positively* westwards + * e.g. Washington D.C. +77°04; Vienna -16°23' + * @param {Number|LonLat} [lon] - Longitude (λ) in radians + * @param {Number} [lat] - Latitude (β) in radians + */ + constructor (lon, lat) { + if (typeof lon === 'object') { + lat = lon.lat; + lon = lon.lon; + } + this.lon = lon || 0; + this.lat = lat || 0; + } + + /** + * converts ecliptic coordinates to equatorial coordinates. + * @param {Number} ε - Obliquity + * @returns {Equatorial} + */ + toEquatorial (ε) { + const [εsin, εcos] = base["default"].sincos(ε); + const [sβ, cβ] = base["default"].sincos(this.lat); + const [sλ, cλ] = base["default"].sincos(this.lon); + let ra = Math.atan2(sλ * εcos - (sβ / cβ) * εsin, cλ); // (13.3) p. 93 + if (ra < 0) { + ra += 2 * Math.PI; + } + const dec = Math.asin(sβ * εcos + cβ * εsin * sλ); // (13.4) p. 93 + return new Equatorial(ra, dec) + } +} + +/** + * Equatorial coordinates are referenced to the Earth's rotational axis. + */ +class Equatorial { + /** + * @param {Number} ra - (float) Right ascension (α) in radians + * @param {Number} dec - (float) Declination (δ) in radians + */ + constructor (ra = 0, dec = 0) { + this.ra = ra; + this.dec = dec; + } + + /** + * EqToEcl converts equatorial coordinates to ecliptic coordinates. + * @param {Number} ε - Obliquity + * @returns {Ecliptic} + */ + toEcliptic (ε) { + const [εsin, εcos] = base["default"].sincos(ε); + const [sα, cα] = base["default"].sincos(this.ra); + const [sδ, cδ] = base["default"].sincos(this.dec); + const lon = Math.atan2(sα * εcos + (sδ / cδ) * εsin, cα); // (13.1) p. 93 + const lat = Math.asin(sδ * εcos - cδ * εsin * sα); // (13.2) p. 93 + return new Ecliptic(lon, lat) + } + + /** + * EqToHz computes Horizontal coordinates from equatorial coordinates. + * + * Argument g is the location of the observer on the Earth. Argument st + * is the sidereal time at Greenwich. + * + * Sidereal time must be consistent with the equatorial coordinates. + * If coordinates are apparent, sidereal time must be apparent as well. + * + * @param {GlobeCoord} g - coordinates of observer on Earth + * @param {Number} st - sidereal time at Greenwich at time of observation + * @returns {Horizontal} + */ + toHorizontal (g, st) { + const H = new sexagesimal["default"].Time(st).rad() - g.lon - this.ra; + const [sH, cH] = base["default"].sincos(H); + const [sφ, cφ] = base["default"].sincos(g.lat); + const [sδ, cδ] = base["default"].sincos(this.dec); + const azimuth = Math.atan2(sH, cH * sφ - (sδ / cδ) * cφ); // (13.5) p. 93 + const altitude = Math.asin(sφ * sδ + cφ * cδ * cH); // (13.6) p. 93 + return new Horizontal(azimuth, altitude) + } + + /** + * EqToGal converts equatorial coordinates to galactic coordinates. + * + * Equatorial coordinates must be referred to the standard equinox of B1950.0. + * For conversion to B1950, see package precess and utility functions in + * package "common". + * + * @returns {Galactic} + */ + toGalactic () { + const [sdα, cdα] = base["default"].sincos(galacticNorth1950.ra - this.ra); + const [sgδ, cgδ] = base["default"].sincos(galacticNorth1950.dec); + const [sδ, cδ] = base["default"].sincos(this.dec); + const x = Math.atan2(sdα, cdα * sgδ - (sδ / cδ) * cgδ); // (13.7) p. 94 + // (galactic0Lon1950 + 1.5*math.Pi) = magic number of 303 deg + const lon = (galactic0Lon1950 + 1.5 * Math.PI - x) % (2 * Math.PI); // (13.8) p. 94 + const lat = Math.asin(sδ * sgδ + cδ * cgδ * cdα); + return new Galactic(lon, lat) + } +} + +/** + * Horizontal coordinates are referenced to the local horizon of an observer + * on the surface of the Earth. + * @param {Number} az - Azimuth (A) in radians + * @param {Number} alt - Altitude (h) in radians + */ +class Horizontal { + constructor (az = 0, alt = 0) { + this.az = az; + this.alt = alt; + } + + /** + * transforms horizontal coordinates to equatorial coordinates. + * + * Sidereal time must be consistent with the equatorial coordinates. + * If coordinates are apparent, sidereal time must be apparent as well. + * @param {GlobeCoord} g - coordinates of observer on Earth (lat, lon) + * @param {Number} st - sidereal time at Greenwich at time of observation. + * @returns {Equatorial} (right ascension, declination) + */ + toEquatorial (g, st) { + const [sA, cA] = base["default"].sincos(this.az); + const [sh, ch] = base["default"].sincos(this.alt); + const [sφ, cφ] = base["default"].sincos(g.lat); + const H = Math.atan2(sA, cA * sφ + sh / ch * cφ); + const ra = base["default"].pmod(new sexagesimal["default"].Time(st).rad() - g.lon - H, 2 * Math.PI); + const dec = Math.asin(sφ * sh - cφ * ch * cA); + return new Equatorial(ra, dec) + } +} + +/** + * Galactic coordinates are referenced to the plane of the Milky Way. + * @param {Number} lon - Longitude (l) in radians + * @param {Number} lat - Latitude (b) in radians + */ +class Galactic { + constructor (lon = 0, lat = 0) { + this.lon = lon; + this.lat = lat; + } + + /** + * GalToEq converts galactic coordinates to equatorial coordinates. + * + * Resulting equatorial coordinates will be referred to the standard equinox of + * B1950.0. For subsequent conversion to other epochs, see package precess and + * utility functions in package meeus. + * + * @returns {Equatorial} (right ascension, declination) + */ + toEquatorial () { + // (-galactic0Lon1950 - math.Pi/2) = magic number of -123 deg + const [sdLon, cdLon] = base["default"].sincos(this.lon - galactic0Lon1950 - Math.PI / 2); + const [sgδ, cgδ] = base["default"].sincos(galacticNorth1950.dec); + const [sb, cb] = base["default"].sincos(this.lat); + const y = Math.atan2(sdLon, cdLon * sgδ - (sb / cb) * cgδ); + // (galacticNorth1950.RA.Rad() - math.Pi) = magic number of 12.25 deg + const ra = base["default"].pmod(y + galacticNorth1950.ra - Math.PI, 2 * Math.PI); + const dec = Math.asin(sb * sgδ + cb * cgδ * cdLon); + return new Equatorial(ra, dec) + } +} + +/** +* equatorial coords for galactic north +* IAU B1950.0 coordinates of galactic North Pole +*/ +const galacticNorth = new Equatorial( + new sexagesimal["default"].RA(12, 49, 0).rad(), + 27.4 * Math.PI / 180 +); +const galacticNorth1950 = galacticNorth; + +/** +* Galactic Longitude 0° +* Meeus gives 33 as the origin of galactic longitudes relative to the +* ascending node of of the galactic equator. 33 + 90 = 123, the IAU +* value for origin relative to the equatorial pole. +*/ +const galacticLon0 = 33 * Math.PI / 180; +const galactic0Lon1950 = galacticLon0; + +var coord = { + Ecliptic, + Equatorial, + Horizontal, + Galactic, + galacticNorth, + galacticNorth1950, + galacticLon0, + galactic0Lon1950 +}; + +exports.Ecliptic = Ecliptic; +exports.Equatorial = Equatorial; +exports.Galactic = Galactic; +exports.Horizontal = Horizontal; +exports["default"] = coord; +exports.galactic0Lon1950 = galactic0Lon1950; +exports.galacticLon0 = galacticLon0; +exports.galacticNorth = galacticNorth; +exports.galacticNorth1950 = galacticNorth1950; + + +/***/ }), + +/***/ 615: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * DO NOT EDIT MANUALLY + * Use `scripts/deltat.js` to generate file. + * Datasets are from and + * + */ +const m = { + historic: { + table: [44, 43, 43, 41, 40, 39, 38, 37, 37, 36, 36, 36, 37, 37, 38, 37, 36, 36, 35, 35, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 29, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 25, 26, 26, 26, 26, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 20, 20, 20, 20, 19, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21.1, 21, 21, 21, 20.9, 20.8, 20.7, 20.6, 20.4, 20.2, 20, 19.7, 19.4, 19.1, 18.7, 18.3, 17.8, 17.4, 17, 16.8, 16.6, 16.4, 16.1, 15.9, 15.7, 15.5, 15.3, 15, 14.7, 14.5, 14.3, 14.2, 14.1, 14.1, 14.1, 13.9, 13.7, 13.6, 13.5, 13.5, 13.5, 13.5, 13.4, 13.4, 13.4, 13.4, 13.3, 13.3, 13.2, 13.2, 13.2, 13.1, 13.1, 13.1, 13, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14, 14, 14.1, 14.1, 14.1, 14.1, 14.2, 14.3, 14.4, 14.4, 14.5, 14.6, 14.6, 14.7, 14.7, 14.7, 14.8, 14.8, 14.9, 14.9, 15, 15, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.6, 15.6, 15.8, 15.9, 15.9, 15.9, 15.8, 15.7, 15.8, 15.7, 15.7, 15.7, 15.8, 15.9, 16.1, 16.1, 16, 15.9, 15.9, 15.7, 15.4, 15.3, 15.4, 15.5, 15.6, 15.6, 15.6, 15.6, 15.6, 15.6, 15.6, 15.5, 15.5, 15.4, 15.3, 15.2, 15.1, 14.9, 14.8, 14.6, 14.4, 14.3, 14.2, 14.1, 14.2, 14.2, 13.9, 13.7, 13.5, 13.3, 13.1, 13, 13.2, 13.2, 13.1, 13.1, 13.2, 13.3, 13.5, 13.5, 13.4, 13.2, 13.2, 13.1, 13.1, 13, 12.8, 12.6, 12.7, 12.6, 12.3, 12, 11.9, 11.8, 11.6, 11.4, 11.2, 11.1, 11.1, 11.1, 11.1, 11.1, 11.2, 11.1, 11.1, 11.2, 11.4, 11.5, 11.3, 11.2, 11.4, 11.7, 11.9, 11.9, 11.9, 11.8, 11.7, 11.8, 11.8, 11.8, 11.7, 11.6, 11.6, 11.5, 11.5, 11.4, 11.4, 11.3, 11.3, 11.13, 11.16, 10.94, 10.72, 10.29, 10.04, 9.94, 9.91, 9.88, 9.86, 9.72, 9.67, 9.66, 9.64, 9.51, 9.4, 9.21, 9, 8.6, 8.29, 7.95, 7.73, 7.59, 7.49, 7.36, 7.26, 7.1, 7, 6.89, 6.82, 6.73, 6.64, 6.39, 6.28, 6.25, 6.27, 6.25, 6.27, 6.22, 6.24, 6.22, 6.27, 6.3, 6.36, 6.35, 6.37, 6.32, 6.33, 6.33, 6.37, 6.37, 6.41, 6.4, 6.44, 6.46, 6.51, 6.48, 6.51, 6.53, 6.58, 6.55, 6.61, 6.69, 6.8, 6.84, 6.94, 7.03, 7.13, 7.15, 7.22, 7.26, 7.3, 7.23, 7.22, 7.21, 7.2, 6.99, 6.98, 7.19, 7.36, 7.35, 7.39, 7.41, 7.45, 7.36, 7.18, 6.95, 6.72, 6.45, 6.24, 5.92, 5.59, 5.15, 4.67, 4.11, 3.52, 2.94, 2.47, 1.97, 1.52, 1.04, 0.6, 0.11, -0.34, -0.82, -1.25, -1.7, -2.08, -2.48, -2.82, -3.19, -3.5, -3.84, -4.14, -4.43, -4.59, -4.79, -4.92, -5.09, -5.24, -5.36, -5.34, -5.37, -5.32, -5.34, -5.33, -5.4, -5.47, -5.58, -5.66, -5.74, -5.68, -5.69, -5.65, -5.67, -5.68, -5.73, -5.72, -5.78, -5.79, -5.86, -5.89, -6.01, -6.13, -6.28, -6.41, -6.53, -6.49, -6.5, -6.45, -6.41, -6.26, -6.11, -5.9, -5.63, -5.13, -4.68, -4.19, -3.72, -3.21, -2.7, -2.09, -1.48, -0.75, -0.08, 0.62, 1.26, 1.95, 2.59, 3.28, 3.92, 4.61, 5.2, 5.73, 6.29, 7, 7.68, 8.45, 9.13, 9.78, 10.38, 10.99, 11.64, 12.47, 13.23, 14, 14.69, 15.38, 16, 16.64, 17.19, 17.72, 18.19, 18.67, 19.13, 19.69, 20.14, 20.54, 20.86, 21.14, 21.41, 21.78, 22.06, 22.3, 22.51, 22.79, 23.01, 23.29, 23.46, 23.55, 23.63, 23.8, 23.95, 24.25, 24.39, 24.42, 24.34, 24.22, 24.1, 24.08, 24.02, 24.04, 23.98, 23.91, 23.89, 23.95, 23.93, 23.92, 23.88, 23.94, 23.91, 23.82, 23.76, 23.87, 23.91, 23.95, 23.96, 24, 24.04, 24.2, 24.35, 24.61, 24.82, 25.09, 25.3, 25.56, 25.77, 26.05, 26.27, 26.54, 26.76, 27.04, 27.27, 27.55, 27.77, 28.03, 28.25, 28.5, 28.7, 28.95, 29.15, 29.38, 29.57, 29.8, 29.97, 30.19, 30.36, 30.57, 30.72, 30.93, 31.07, 31.24, 31.349, 31.516, 31.677, 31.923, 32.166, 32.449, 32.671, 32.919, 33.15, 33.397, 33.584, 33.804, 33.992, 34.24, 34.466, 34.731, 35.03, 35.4, 35.738, 36.147, 36.546, 36.995, 37.429, 37.879, 38.291, 38.753, 39.204, 39.707, 40.182, 40.706, 41.17, 41.686, 42.227, 42.825, 43.373, 43.959, 44.486, 44.997, 45.477, 45.983, 46.458, 46.997, 47.521, 48.034, 48.535, 49.099, 49.589, 50.102, 50.54, 50.975, 51.382, 51.81, 52.168, 52.572, 52.957, 53.434, 53.789, 54.087], + first: 1657, + last: 1984.5 + }, + data: { + table: [43.4724372, 43.5648351, 43.6736863, 43.7782156, 43.8763273, 43.9562443, 44.0314956, 44.1131788, 44.1982187, 44.2951747, 44.3936471, 44.4840562, 44.5646335, 44.6425099, 44.7385767, 44.8370135, 44.9302138, 44.9986146, 45.0583549, 45.1283911, 45.2063835, 45.2980068, 45.3897017, 45.476138, 45.5632485, 45.6450189, 45.7374593, 45.8283721, 45.9132976, 45.9819705, 46.0407484, 46.1067084, 46.1825041, 46.2788561, 46.3713351, 46.4567207, 46.544486, 46.6310899, 46.7302231, 46.8283588, 46.9247443, 46.9969757, 47.0709148, 47.1450515, 47.2361542, 47.3413241, 47.4319364, 47.5213815, 47.6049313, 47.6837388, 47.7781381, 47.8770756, 47.9687104, 48.0348257, 48.0942021, 48.1608205, 48.2460028, 48.3438529, 48.4355405, 48.5344163, 48.6324506, 48.7293718, 48.8365414, 48.9353232, 49.0318781, 49.1013205, 49.1590844, 49.2285534, 49.3069683, 49.4017939, 49.4945263, 49.5861495, 49.6804907, 49.7602264, 49.8555805, 49.9489224, 50.0346777, 50.1018531, 50.1621723, 50.2260014, 50.2967905, 50.3831254, 50.4598772, 50.5387068, 50.6160484, 50.6865941, 50.7658362, 50.8453698, 50.918672, 50.9761148, 51.0278017, 51.084323, 51.1537928, 51.2318645, 51.306308, 51.3807849, 51.4526292, 51.5160394, 51.5985479, 51.680924, 51.7572854, 51.8133335, 51.8532385, 51.9014358, 51.9603433, 52.0328072, 52.0984957, 52.1667826, 52.2316418, 52.2938376, 52.3679897, 52.4465221, 52.5179552, 52.5751485, 52.6178012, 52.666816, 52.7340036, 52.8055792, 52.8792189, 52.9564838, 53.0444971, 53.126769, 53.2196749, 53.3024139, 53.3746645, 53.4335399, 53.4778015, 53.5299937, 53.5845392, 53.6522628, 53.7255844, 53.7882418, 53.8366625, 53.8829665, 53.9442904, 54.0042478, 54.0536342, 54.085644, 54.1084122, 54.1462942, 54.1913988, 54.2452023, 54.2957622, 54.3427024, 54.3910864, 54.4319877, 54.4897699, 54.545636, 54.597741, 54.6354962, 54.6532352, 54.677594, 54.7173643, 54.7740957, 54.8253023, 54.8712512, 54.916146, 54.9580535, 54.9997186, 55.047571, 55.0911778, 55.1132386, 55.132774, 55.1532423, 55.1898003, 55.2415531, 55.283803, 55.3222105, 55.3612676, 55.406262, 55.4628719, 55.5110909, 55.5523777, 55.5811877, 55.6004372, 55.626202, 55.6656271, 55.7167999, 55.7698097, 55.8196609, 55.8615028, 55.9129883, 55.9663474, 56.0220102, 56.0700015, 56.0939035, 56.110463, 56.1313736, 56.1610839, 56.2068432, 56.2582503, 56.3000349, 56.339902, 56.3789995, 56.4282839, 56.4803947, 56.5352164, 56.5697487, 56.5983102, 56.6328326, 56.6738814, 56.7332116, 56.7971596, 56.8552701, 56.9111378, 56.9754725, 57.0470772, 57.1136128, 57.173831, 57.2226068, 57.259731, 57.3072742, 57.3643368, 57.4334281, 57.5015747, 57.5653127, 57.6333396, 57.6972844, 57.7710774, 57.8407427, 57.9057801, 57.9575663, 57.9974929, 58.0425517, 58.1043319, 58.1679128, 58.2389092, 58.3091659, 58.3833021, 58.4536748, 58.5401438, 58.6227714, 58.6916662, 58.7409628, 58.7836189, 58.8405543, 58.898579, 58.9713678, 59.043837, 59.1218414, 59.2002687, 59.274737, 59.3574134, 59.4433827, 59.5242416, 59.5849787, 59.6343497, 59.6927827, 59.758805, 59.8386448, 59.9110567, 59.9844537, 60.056435, 60.123065, 60.2042185, 60.2803745, 60.3530352, 60.4011891, 60.4439959, 60.4900257, 60.5578054, 60.6324446, 60.7058569, 60.7853482, 60.8663504, 60.9386672, 61.0276757, 61.1103448, 61.1870458, 61.2453891, 61.2881024, 61.3377799, 61.4036165, 61.4760366, 61.5524599, 61.6286593, 61.6845819, 61.743306, 61.8132425, 61.8823203, 61.9496762, 61.9968743, 62.0342938, 62.0714108, 62.1202315, 62.1809508, 62.2382046, 62.2950486, 62.3506479, 62.3995381, 62.475395, 62.5463091, 62.6136031, 62.6570739, 62.6941742, 62.7383271, 62.7926305, 62.8566986, 62.9145607, 62.9658689, 63.0216632, 63.0807052, 63.1461718, 63.2052946, 63.2599441, 63.2844088, 63.2961369, 63.3126092, 63.3421622, 63.3871303, 63.4339302, 63.4673369, 63.4978642, 63.5319327, 63.5679441, 63.6104432, 63.6444291, 63.6641815, 63.6739403, 63.692603, 63.7147066, 63.7518055, 63.792717, 63.8285221, 63.8556871, 63.8803854, 63.9075025, 63.9392787, 63.9690744, 63.9798604, 63.9833077, 63.9938011, 64.0093384, 64.0399621, 64.0670429, 64.0907881, 64.1068077, 64.1282125, 64.1584211, 64.1832722, 64.2093975, 64.2116628, 64.2073173, 64.2115565, 64.2222858, 64.2499625, 64.2760973, 64.2998037, 64.3191858, 64.345013, 64.3734584, 64.3943291, 64.4151156, 64.4132064, 64.4118464, 64.4096536, 64.4167832, 64.43292, 64.4510529, 64.4734276, 64.4893377, 64.5053342, 64.5269189, 64.5470942, 64.5596729, 64.5512293, 64.5370906, 64.5359472, 64.5414947, 64.5543634, 64.5654298, 64.5736111, 64.5891142, 64.6014759, 64.6176147, 64.6374397, 64.6548674, 64.6530021, 64.6379271, 64.637161, 64.6399614, 64.6543152, 64.6723164, 64.6876311, 64.7051905, 64.7313433, 64.7575312, 64.7811143, 64.8000929, 64.7994561, 64.7876424, 64.783095, 64.7920604, 64.8096421, 64.8310888, 64.8451826, 64.8597013, 64.8849929, 64.9174991, 64.9480298, 64.9793881, 64.9894772, 65.0028155, 65.0138193, 65.0371432, 65.0772597, 65.112197, 65.1464034, 65.1832638, 65.2145358, 65.2493713, 65.2920645, 65.3279403, 65.3413366, 65.3451881, 65.34964, 65.3711307, 65.3971998, 65.4295547, 65.4573487, 65.486752, 65.5152012, 65.5449916, 65.5780768, 65.612728, 65.6287505, 65.6370091, 65.6493375, 65.6759928, 65.7096966, 65.746092, 65.7768362, 65.8024614, 65.8236695, 65.8595036, 65.8973008, 65.932291, 65.950911, 65.9534105, 65.962833, 65.9838647, 66.0146733, 66.042049, 66.0699217, 66.0961343, 66.1310116, 66.1682713, 66.2071627, 66.2355846, 66.2408549, 66.2335423, 66.2349107, 66.2441095, 66.2751123, 66.3054334, 66.3245568, 66.3405713, 66.3624433, 66.3957101, 66.428903, 66.4618675, 66.4748837, 66.4751281, 66.4828678, 66.5056165, 66.5382912, 66.5705628, 66.6030198, 66.6339689, 66.6569117, 66.6925011, 66.7288729, 66.7578719, 66.7707625, 66.7740427, 66.7846288, 66.810324, 66.840048, 66.8778601, 66.9069091, 66.944259, 66.9762508, 67.0258126, 67.0716286, 67.1100184, 67.1266401, 67.1331391, 67.145797, 67.17174, 67.2091069, 67.2459812, 67.2810383, 67.3136452, 67.3456968, 67.389003, 67.4318433, 67.4666209, 67.4858459, 67.4989147, 67.5110936, 67.5352658, 67.571103, 67.6070253, 67.6439167, 67.6765272, 67.7116693, 67.7590634, 67.8011542, 67.840213, 67.8606318, 67.8821576, 67.9120101, 67.9546462, 68.0054839, 68.051412, 68.1024205, 68.1577127, 68.2043653, 68.2664507, 68.3188171, 68.3703564, 68.3964356, 68.4094472, 68.4304611, 68.4629791, 68.507818, 68.5537018, 68.5927179, 68.6298107, 68.6670627, 68.7135208, 68.7622755, 68.8032843, 68.8244838, 68.8373427, 68.847693, 68.8688567, 68.9005814, 68.9354999, 68.9676423, 68.9875354, 69.0175527, 69.0499081, 69.0823433, 69.1070034, 69.1134027, 69.1141898, 69.1207203, 69.1355578, 69.16459, 69.1964228, 69.2201632, 69.2451564, 69.2732758, 69.3031979, 69.3325675, 69.3540507, 69.3581722, 69.3441594, 69.3376329, 69.3377424, 69.3432191, 69.3540144, 69.3611554, 69.3751703, 69.3889904, 69.4091639, 69.4264662, 69.4386335, 69.4241335, 69.3921241, 69.3693422, 69.3574782, 69.3593242, 69.3630244, 69.359334, 69.3510133, 69.3537917, 69.3582217, 69.367306, 69.3678649, 69.3514228, 69.3273414, 69.3033273, 69.2892463, 69.2880419, 69.2908014, 69.2944974, 69.2913953, 69.286149, 69.2835153, 69.2815422, 69.2806375, 69.2553511, 69.2125426, 69.1847287, 69.17207, 69.1691531, 69.173303, 69.1698064, 69.1589095, 69.1556275, 69.1672253, 69.1771384], + first: 1973.0849315068492, + firstYM: [1973, 2], + last: 2023.3287671232877, + lastYM: [2023, 5] + }, + prediction: { + table: [67.87818, 67.96817999999999, 68.02817999999999, 68.04818, 68.12818, 68.21817999999999, 68.26818, 68.28818, 68.36818, 68.44818, 68.50818, 68.51818, 68.59818, 68.68818, 68.73818, 68.74817999999999, 68.82818, 68.91817999999999, 68.96817999999999, 68.98818, 69.06818, 69.14818, 69.20818, 69.22818, 69.30818, 69.39818, 69.46817999999999, 69.48818, 69.57818, 69.66817999999999, 69.73818, 69.75818, 69.85817999999999, 69.95818, 70.02817999999999, 70.05818, 70.15818, 70.25818, 70.33818, 70.36818, 70.46817999999999], + first: 2022, + last: 2032 + } +}; + +exports["default"] = m; + + +/***/ }), + +/***/ 1562: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const m = { + L: { + "0": [ + [1.75347045673, 0, 0], + [0.03341656453, 4.66925680415, 6283.0758499914], + [0.00034894275, 4.62610242189, 12566.1516999828], + [0.00003417572, 2.82886579754, 3.523118349], + [0.00003497056, 2.74411783405, 5753.3848848968], + [0.00003135899, 3.62767041756, 77713.7714681205], + [0.00002676218, 4.41808345438, 7860.4193924392], + [0.00002342691, 6.13516214446, 3930.2096962196], + [0.00001273165, 2.03709657878, 529.6909650946], + [0.00001324294, 0.74246341673, 11506.7697697936], + [0.00000901854, 2.04505446477, 26.2983197998], + [0.00001199167, 1.10962946234, 1577.3435424478], + [0.00000857223, 3.50849152283, 398.1490034082], + [0.00000779786, 1.17882681962, 5223.6939198022], + [0.0000099025, 5.23268072088, 5884.9268465832], + [0.00000753141, 2.53339052847, 5507.5532386674], + [0.00000505267, 4.58292599973, 18849.2275499742], + [0.00000492392, 4.20505711826, 775.522611324], + [0.00000356672, 2.91954114478, 0.0673103028], + [0.00000284125, 1.89869240932, 796.2980068164], + [0.00000242879, 0.34481445893, 5486.777843175], + [0.00000317087, 5.84901948512, 11790.6290886588], + [0.00000271112, 0.31486255375, 10977.078804699], + [0.00000206217, 4.80646631478, 2544.3144198834], + [0.00000205478, 1.86953770281, 5573.1428014331], + [0.00000202318, 2.45767790232, 6069.7767545534], + [0.00000126225, 1.08295459501, 20.7753954924], + [0.00000155516, 0.83306084617, 213.299095438], + [0.00000115132, 0.64544911683, 0.9803210682], + [0.00000102851, 0.63599845579, 4694.0029547076], + [0.00000101724, 4.2667980198, 7.1135470008], + [9.9206e-7, 6.20992926918, 2146.1654164752], + [0.00000132212, 3.41118292683, 2942.4634232916], + [9.7607e-7, 0.68101342359, 155.4203994342], + [8.5128e-7, 1.29870764804, 6275.9623029906], + [7.4651e-7, 1.755089133, 5088.6288397668], + [0.00000101895, 0.97569280312, 15720.8387848784], + [8.4711e-7, 3.67080093031, 71430.69561812909], + [7.3547e-7, 4.67926633877, 801.8209311238], + [7.3874e-7, 3.50319414955, 3154.6870848956], + [7.8757e-7, 3.03697458703, 12036.4607348882], + [7.9637e-7, 1.80791287082, 17260.1546546904], + [8.5803e-7, 5.9832263126, 161000.6857376741], + [5.6963e-7, 2.78430458592, 6286.5989683404], + [6.1148e-7, 1.81839892984, 7084.8967811152], + [6.9627e-7, 0.83297621398, 9437.762934887], + [5.6116e-7, 4.38694865354, 14143.4952424306], + [6.2449e-7, 3.97763912806, 8827.3902698748], + [5.1145e-7, 0.28306832879, 5856.4776591154], + [5.5577e-7, 3.47006059924, 6279.5527316424], + [4.1036e-7, 5.36817592855, 8429.2412664666], + [5.1605e-7, 1.33282739866, 1748.016413067], + [5.1992e-7, 0.18914947184, 12139.5535091068], + [4.9e-7, 0.48735014197, 1194.4470102246], + [3.92e-7, 6.16833020996, 10447.3878396044], + [3.557e-7, 1.775968892, 6812.766815086], + [3.677e-7, 6.04133863162, 10213.285546211], + [3.6596e-7, 2.56957481827, 1059.3819301892], + [3.3296e-7, 0.59310278598, 17789.845619785], + [3.5954e-7, 1.70875808777, 2352.8661537718], + [4.0938e-7, 2.39850938714, 19651.048481098], + [3.0047e-7, 2.73975124088, 1349.8674096588], + [3.0412e-7, 0.44294464169, 83996.84731811189], + [2.3663e-7, 0.48473622521, 8031.0922630584], + [2.3574e-7, 2.06528133162, 3340.6124266998], + [2.1089e-7, 4.14825468851, 951.7184062506], + [2.4738e-7, 0.21484762138, 3.5904286518], + [2.5352e-7, 3.16470891653, 4690.4798363586], + [2.2823e-7, 5.22195230819, 4705.7323075436], + [2.1419e-7, 1.42563910473, 16730.4636895958], + [2.1891e-7, 5.55594302779, 553.5694028424], + [1.7481e-7, 4.56052900312, 135.0650800354], + [1.9927e-7, 5.22209149316, 12168.0026965746], + [1.986e-7, 5.77470242235, 6309.3741697912], + [2.03e-7, 0.37133792946, 283.8593188652], + [1.4421e-7, 4.19315052005, 242.728603974], + [1.6225e-7, 5.98837767951, 11769.8536931664], + [1.5077e-7, 4.1956716337, 6256.7775301916], + [1.9124e-7, 3.82219958698, 23581.2581773176], + [1.8888e-7, 5.38626892076, 149854.4001348079], + [1.4346e-7, 3.72355084422, 38.0276726358], + [1.7898e-7, 2.21490566029, 13367.9726311066], + [1.2054e-7, 2.62229602614, 955.5997416086], + [1.1287e-7, 0.17739329984, 4164.311989613], + [1.3973e-7, 4.40134615007, 6681.2248533996], + [1.3621e-7, 1.88934516495, 7632.9432596502], + [1.2503e-7, 1.13052412208, 5.5229243074], + [1.0498e-7, 5.35909979317, 1592.5960136328], + [9.803e-8, 0.99948172646, 11371.7046897582], + [9.22e-8, 4.57138585348, 4292.3308329504], + [1.0327e-7, 6.19982170609, 6438.4962494256], + [1.2003e-7, 1.00351462266, 632.7837393132], + [1.0827e-7, 0.32734523824, 103.0927742186], + [8.356e-8, 4.53902748706, 25132.3033999656], + [1.0005e-7, 6.0291496328, 5746.271337896], + [8.409e-8, 3.29946177848, 7234.794256242], + [8.006e-8, 5.82145271855, 28.4491874678], + [1.0523e-7, 0.93870455544, 11926.2544136688], + [7.686e-8, 3.1214364064, 7238.6755916], + [9.378e-8, 2.62413793196, 5760.4984318976], + [8.127e-8, 6.11227839253, 4732.0306273434], + [9.232e-8, 0.48344234496, 522.5774180938], + [9.802e-8, 5.24413877132, 27511.4678735372], + [7.871e-8, 0.99590133077, 5643.1785636774], + [8.123e-8, 6.27053020099, 426.598190876], + [9.048e-8, 5.33686323585, 6386.16862421], + [8.621e-8, 4.16537179089, 7058.5984613154], + [6.297e-8, 4.71723143652, 6836.6452528338], + [7.575e-8, 3.97381357237, 11499.6562227928], + [7.756e-8, 2.95728422442, 23013.5395395872], + [7.314e-8, 0.60652522715, 11513.8833167944], + [5.955e-8, 2.87641047954, 6283.14316029419], + [6.534e-8, 5.79046406784, 18073.7049386502], + [7.188e-8, 3.99831461988, 74.7815985673], + [7.346e-8, 4.38582423903, 316.3918696566], + [5.413e-8, 5.39199023275, 419.4846438752], + [5.127e-8, 2.36059551778, 10973.55568635], + [7.056e-8, 0.32258442532, 263.0839233728], + [6.624e-8, 3.6647416584, 17298.1823273262], + [6.762e-8, 5.91131766896, 90955.5516944961], + [4.938e-8, 5.73672172371, 9917.6968745098], + [5.547e-8, 2.45152589382, 12352.8526045448], + [5.958e-8, 3.3205134466, 6283.0085396886], + [4.471e-8, 2.06386138131, 7079.3738568078], + [6.153e-8, 1.45823347458, 233141.3144043615], + [4.348e-8, 4.42338625285, 5216.5803728014], + [6.124e-8, 1.07494838623, 19804.8272915828], + [4.488e-8, 3.65285033073, 206.1855484372], + [4.02e-8, 0.83995823171, 20.3553193988], + [5.188e-8, 4.06503864016, 6208.2942514241], + [5.307e-8, 0.38216728132, 31441.6775697568], + [3.785e-8, 2.34369213733, 3.881335358], + [4.497e-8, 3.27230792447, 11015.1064773348], + [4.132e-8, 0.92129851256, 3738.761430108], + [3.521e-8, 5.9784480361, 3894.1818295422], + [4.215e-8, 1.90601721876, 245.8316462294], + [3.701e-8, 5.03067498875, 536.8045120954], + [3.866e-8, 1.82632980909, 11856.2186514245], + [3.652e-8, 1.01840564429, 16200.7727245012], + [3.39e-8, 0.97784870142, 8635.9420037632], + [3.737e-8, 2.9537891957, 3128.3887650958], + [3.507e-8, 3.71291946317, 6290.1893969922], + [3.086e-8, 3.64646921512, 10.6366653498], + [3.397e-8, 1.10589356888, 14712.317116458], + [3.334e-8, 0.83684903082, 6496.3749454294], + [2.805e-8, 2.58503711584, 14314.1681130498], + [3.65e-8, 1.08344142571, 88860.05707098669], + [3.388e-8, 3.20182380957, 5120.6011455836], + [3.252e-8, 3.47857474229, 6133.5126528568], + [2.553e-8, 3.9486902726, 1990.745017041], + [3.52e-8, 2.05559692878, 244287.60000722768], + [2.565e-8, 1.56072409371, 23543.23050468179], + [2.621e-8, 3.85639359951, 266.6070417218], + [2.954e-8, 3.39692614359, 9225.539273283], + [2.876e-8, 6.02633318445, 154717.6098876827], + [2.395e-8, 1.16130078696, 10984.1923516998], + [3.161e-8, 1.32798862116, 10873.9860304804], + [3.163e-8, 5.08946546862, 21228.3920235458], + [2.361e-8, 4.27212461943, 6040.3472460174], + [3.03e-8, 1.80210001168, 35371.8872659764], + [2.343e-8, 3.57688971514, 10969.9652576982], + [2.618e-8, 2.57870151918, 22483.84857449259], + [2.113e-8, 3.71711179417, 65147.6197681377], + [2.019e-8, 0.81393923319, 170.6728706192], + [2.003e-8, 0.38091017375, 6172.869528772], + [2.506e-8, 3.74378169126, 10575.4066829418], + [2.381e-8, 0.10581361289, 7.046236698], + [1.949e-8, 4.86892513469, 36.0278666774], + [2.074e-8, 4.22802468213, 5650.2921106782], + [1.924e-8, 5.59460549844, 6282.0955289232], + [1.949e-8, 1.06999605576, 5230.807466803], + [1.988e-8, 5.19734705445, 6262.300454499], + [1.887e-8, 3.74365662683, 23.8784377478], + [1.787e-8, 1.25929659066, 12559.038152982], + [1.883e-8, 1.90364058477, 15.252471185], + [1.816e-8, 3.68083794819, 15110.4661198662], + [1.701e-8, 4.41109562589, 110.2063212194], + [1.99e-8, 3.93295788548, 6206.8097787158], + [2.103e-8, 0.75354936681, 13521.7514415914], + [1.774e-8, 0.48750515837, 1551.045222648], + [1.882e-8, 0.86685462305, 22003.9146348698], + [1.924e-8, 1.22901099088, 709.9330485583], + [2.073e-8, 4.62531597856, 6037.244203762], + [1.924e-8, 0.60231842492, 6284.0561710596], + [1.596e-8, 3.98332879712, 13916.0191096416], + [1.664e-8, 4.41947015623, 8662.240323563], + [1.971e-8, 1.04560686192, 18209.33026366019], + [1.942e-8, 4.31335979989, 6244.9428143536], + [1.476e-8, 0.93274523818, 2379.1644735716], + [1.81e-8, 0.49112137707, 1.4844727083], + [1.346e-8, 1.51574753411, 4136.9104335162], + [1.528e-8, 5.61833568587, 6127.6554505572], + [1.791e-8, 3.22191142746, 39302.096962196], + [1.747e-8, 3.05595292589, 18319.5365848796], + [1.432e-8, 4.51123984264, 20426.571092422], + [1.695e-8, 0.22049418623, 25158.6017197654], + [1.242e-8, 4.46665354536, 17256.6315363414], + [1.463e-8, 4.69248613506, 14945.3161735544], + [1.205e-8, 1.86911906771, 4590.910180489], + [1.19e-8, 2.74169967367, 12569.6748183318], + [1.222e-8, 5.18120087481, 5333.9002410216], + [1.39e-8, 5.42888623322, 143571.32428481648], + [1.473e-8, 1.70487100866, 11712.9553182308], + [1.362e-8, 2.61069503292, 6062.6632075526], + [1.148e-8, 6.0300843061, 3634.6210245184], + [1.198e-8, 5.15296117339, 10177.2576795336], + [1.266e-8, 0.11422490557, 18422.62935909819], + [1.411e-8, 1.09910890045, 3496.032826134], + [1.349e-8, 2.99804623019, 17654.7805397496], + [1.253e-8, 2.79844902576, 167283.7615876655], + [1.311e-8, 1.609410743, 5481.2549188676], + [1.079e-8, 6.20304501787, 3.2863574178], + [1.181e-8, 1.20653777627, 131.5419616864], + [1.254e-8, 5.45103277799, 6076.8903015542], + [1.036e-8, 2.32136959491, 7342.4577801806], + [1.117e-8, 0.38842340979, 949.1756089698], + [9.66e-9, 3.18352079941, 11087.2851259184], + [1.171e-8, 3.39635167732, 12562.6285816338], + [1.121e-8, 0.72631814699, 220.4126424388], + [1.024e-8, 2.19381113265, 11403.676995575], + [8.88e-9, 3.91167196431, 4686.8894077068], + [9.1e-9, 1.98802695087, 735.8765135318], + [8.23e-9, 0.48822202854, 24072.9214697764], + [1.096e-8, 6.17377835617, 5436.9930152402], + [9.08e-9, 0.44959148878, 7477.522860216], + [9.74e-9, 1.52996313552, 9623.6882766912], + [8.4e-9, 1.79540573407, 5429.8794682394], + [7.78e-9, 6.17703744517, 38.1330356378], + [7.76e-9, 4.09859968447, 14.2270940016], + [1.068e-8, 4.64209577648, 43232.3066584156], + [9.54e-9, 1.49985885818, 1162.4747044078], + [9.07e-9, 0.86986870809, 10344.2950653858], + [9.31e-9, 4.06049877517, 28766.924424484], + [7.39e-9, 5.04368192034, 639.897286314], + [9.65e-9, 3.44286716197, 1589.0728952838], + [7.63e-9, 5.86304776787, 16858.4825329332], + [9.53e-9, 4.20801492835, 11190.377900137], + [7.08e-9, 1.72432323967, 13095.8426650774], + [9.69e-9, 1.64437243011, 29088.811415985], + [7.17e-9, 0.16688678895, 11.729352836], + [9.62e-9, 3.53101876172, 12416.5885028482], + [7.45e-9, 5.77741082302, 12592.4500197826], + [6.72e-9, 1.91091228744, 3.9321532631], + [6.71e-9, 5.46240758839, 18052.9295431578], + [6.75e-9, 6.28311649798, 4535.0594369244], + [6.84e-9, 0.39975011401, 5849.3641121146], + [7.99e-9, 0.29859056777, 12132.439962106], + [7.58e-9, 0.96370719224, 1052.2683831884], + [7.82e-9, 5.33875702541, 13517.8701062334], + [7.3e-9, 1.70114998543, 17267.26820169119], + [7.49e-9, 2.59607005624, 11609.8625440122], + [7.34e-9, 2.7842049778, 640.8776073822], + [6.88e-9, 5.15097673557, 16496.3613962024], + [7.7e-9, 1.62459252416, 4701.1165017084], + [6.33e-9, 2.20588443066, 25934.1243310894], + [7.6e-9, 4.21317219403, 377.3736079158], + [5.84e-9, 2.13420121623, 10557.5941608238], + [5.72e-9, 0.24649745829, 9779.1086761254], + [5.73e-9, 3.16435264609, 533.2140834436], + [6.85e-9, 3.19344289472, 12146.6670561076], + [6.75e-9, 0.96179234176, 10454.5013866052], + [6.48e-9, 1.46327342554, 6268.8487559898], + [5.89e-9, 2.50543543638, 3097.88382272579], + [5.51e-9, 5.28106257475, 9388.0059094152], + [6.96e-9, 3.6534215555, 4804.209275927], + [6.69e-9, 2.5103005926, 2388.8940204492], + [5.5e-9, 0.06883090057, 20199.094959633], + [6.29e-9, 4.13350997495, 45892.73043315699], + [6.78e-9, 6.09190163533, 135.62532501], + [5.93e-9, 1.50129499103, 226858.23855437007], + [5.42e-9, 3.58582033525, 6148.010769956], + [5.99e-9, 6.12058050643, 18875.525869774], + [6.82e-9, 5.0221361683, 17253.04110768959], + [5.65e-9, 4.29309214275, 11933.3679606696], + [4.86e-9, 0.77746204893, 27.4015560968], + [5.03e-9, 0.58974557727, 15671.0817594066], + [6.16e-9, 4.06539884128, 227.476132789], + [5.37e-9, 2.15064382406, 21954.15760939799], + [6.69e-9, 6.06995500278, 47162.5163546352], + [5.4e-9, 2.83444221432, 5326.7866940208], + [4.74e-9, 0.40346826846, 6915.8595893046], + [5.32e-9, 5.26131065063, 10988.808157535], + [5.82e-9, 3.24533095664, 153.7788104848], + [6.41e-9, 3.24711790399, 2107.0345075424], + [6.19e-9, 3.08302108547, 33019.0211122046], + [4.66e-9, 3.14982369789, 10440.2742926036], + [4.66e-9, 0.90708835651, 5966.6839803348], + [5.28e-9, 0.8192645447, 813.5502839598], + [6.03e-9, 3.81378921927, 316428.22867391503], + [5.59e-9, 1.8189498573, 17996.0311682222], + [4.37e-9, 2.28631745987, 6303.8512454838], + [5.18e-9, 4.86068318058, 20597.2439630412], + [4.24e-9, 6.23520018697, 6489.2613984286], + [5.18e-9, 6.17617826756, 0.2438174835], + [4.04e-9, 5.72804304258, 5642.1982426092], + [4.58e-9, 1.34117773914, 6287.0080032545], + [5.48e-9, 5.6845445832, 155427.542936241], + [5.47e-9, 1.03391472434, 3646.3503773544], + [4.28e-9, 4.6980968782, 846.0828347512], + [4.13e-9, 6.0252069939, 6279.4854213396], + [5.34e-9, 3.03030638223, 66567.48586525429], + [3.83e-9, 1.4905558804, 19800.9459562248], + [4.11e-9, 5.28384176408, 18451.07854656599], + [3.52e-9, 4.68891600525, 4907.3020501456], + [4.8e-9, 5.36572651091, 348.924420448], + [3.44e-9, 5.89157452889, 6546.1597733642], + [3.4e-9, 0.37557440365, 13119.72110282519], + [4.34e-9, 4.98417856239, 6702.5604938666], + [3.32e-9, 2.6890934443, 29296.6153895786], + [4.48e-9, 2.16478480251, 5905.7022420756], + [3.44e-9, 2.06546633735, 49.7570254718], + [3.15e-9, 1.24023810969, 4061.2192153944], + [3.24e-9, 2.30897526929, 5017.508371365], + [4.13e-9, 0.17171692945, 6286.6662786432], + [4.31e-9, 3.8660110138, 12489.8856287072], + [3.49e-9, 4.55372493131, 4933.2084403326], + [3.23e-9, 0.41971136084, 10770.8932562618], + [3.41e-9, 2.68612860807, 11.0457002639], + [3.16e-9, 3.52966641606, 17782.7320727842], + [3.15e-9, 5.63357264999, 568.8218740274], + [3.4e-9, 3.83571212349, 10660.6869350424], + [2.96e-9, 0.62703270489, 20995.3929664494], + [4.05e-9, 1.00084965393, 16460.33352952499], + [4.14e-9, 1.21998752076, 51092.7260508548], + [3.36e-9, 4.71465945215, 6179.9830757728], + [3.61e-9, 3.71235613733, 28237.2334593894], + [3.27e-9, 1.05606504715, 11919.140866668], + [3.27e-9, 6.1422242098, 6254.6266625236], + [2.68e-9, 2.47224339737, 664.75604513], + [2.69e-9, 1.86210872453, 23141.5583829246], + [3.45e-9, 0.93461290184, 6058.7310542895], + [3.53e-9, 4.50033650657, 36949.2308084242], + [3.44e-9, 6.26166140367, 24356.7807886416], + [3e-9, 4.46964001975, 6418.1409300268], + [2.6e-9, 4.04967464725, 6525.8044539654], + [2.98e-9, 2.20018811054, 156137.47598479927], + [2.53e-9, 3.49930797865, 29864.334027309], + [2.54e-9, 2.44883530154, 5331.3574437408], + [2.96e-9, 0.84341183907, 5729.506447149], + [2.41e-9, 2.00721298729, 16737.5772365966], + [3.11e-9, 1.23668016336, 6281.5913772831], + [3.32e-9, 3.55576945724, 7668.6374249425], + [2.36e-9, 2.47437156031, 6245.0481773556], + [2.64e-9, 4.43924412283, 12964.300703391], + [2.57e-9, 1.79654471948, 11080.1715789176], + [2.6e-9, 3.3307759606, 5888.4499649322], + [2.85e-9, 0.3088636143, 11823.1616394502], + [2.9e-9, 5.70141882483, 77.673770428], + [2.55e-9, 4.00939662024, 5881.4037282342], + [2.53e-9, 4.73318512715, 16723.350142595], + [2.28e-9, 0.95333661324, 5540.0857894588], + [2.81e-9, 1.29199646396, 22805.7355659936], + [3.19e-9, 1.38633229189, 163096.18036118348], + [2.24e-9, 1.65156322696, 10027.9031957292], + [2.26e-9, 0.34125379653, 17796.9591667858], + [2.36e-9, 4.19817431922, 19.66976089979], + [2.81e-9, 4.14114899916, 12539.853380183], + [2.75e-9, 5.50306930248, 32.5325507914], + [2.23e-9, 5.23334210294, 56.8983749356], + [2.17e-9, 6.08598789777, 6805.6532680852], + [2.28e-9, 5.17114391778, 11720.0688652316], + [2.74e-9, 4.50716805713, 6016.4688082696], + [2.45e-9, 3.96486270306, 22.7752014508], + [2.2e-9, 4.7207808197, 6.62855890001], + [2.07e-9, 5.71701403951, 41.5507909848], + [2.04e-9, 3.9122741125, 2699.7348193176], + [2.09e-9, 0.86881969024, 6321.1035226272], + [2e-9, 2.11984442601, 4274.5183108324], + [2e-9, 5.39839888151, 6019.9919266186], + [2.09e-9, 5.67606291663, 11293.4706743556], + [2.52e-9, 1.6496572935, 9380.9596727172], + [2.75e-9, 5.04826903506, 73.297125859], + [2.08e-9, 1.88207277133, 11300.5842213564], + [2.06e-9, 5.0728488933, 6277.552925684], + [2.72e-9, 0.74640924904, 1975.492545856], + [1.99e-9, 3.30813142103, 22743.4093795164], + [2.69e-9, 4.48560812155, 64471.99124174489], + [1.92e-9, 2.17463565107, 5863.5912061162], + [2.28e-9, 5.85373115869, 128.0188433374], + [2.61e-9, 2.64321183295, 55022.9357470744], + [1.96e-9, 2.4853762232, 16062.1845261168], + [1.87e-9, 1.3189176028, 29826.3063546732], + [2.2e-9, 5.75012110079, 29.429508536], + [1.87e-9, 4.03230554718, 467.9649903544], + [2e-9, 5.60555262896, 1066.49547719], + [2.31e-9, 1.09802712785, 12341.8069042809], + [1.98e-9, 0.29474229005, 149.5631971346], + [2.49e-9, 5.1047702317, 7875.6718636242], + [1.79e-9, 0.87066197995, 12721.572099417], + [2.03e-9, 1.56914310573, 28286.9904848612], + [1.98e-9, 3.54061588502, 30.914125635], + [1.71e-9, 3.45366018621, 5327.4761083828], + [1.83e-9, 0.72325421604, 6272.0301497275], + [2.16e-9, 2.97175184412, 19402.7969528166], + [1.68e-9, 2.51559879907, 23937.856389741], + [1.95e-9, 0.09045393425, 156.4007205024], + [2.16e-9, 0.42162375972, 23539.7073863328], + [1.89e-9, 0.37542530191, 9814.6041002912], + [2.07e-9, 2.01752547259, 238004.5241572363], + [2.18e-9, 2.36835893645, 16627.3709153772], + [1.66e-9, 4.23182960518, 16840.67001081519], + [2e-9, 2.02153258098, 16097.6799502826], + [1.69e-9, 0.91318727, 95.9792272178], + [2.11e-9, 5.73370637657, 151.8972810852], + [2.04e-9, 0.42643085174, 515.463871093], + [2.12e-9, 3.00223140894, 12043.574281889], + [1.92e-9, 5.46153589821, 6379.0550772092], + [1.6e-9, 6.23798383332, 202.2533951741], + [2.15e-9, 0.20889073407, 5621.8429232104], + [1.5e-9, 3.12999753018, 799.8211251654], + [1.87e-9, 2.12345787867, 491.6632924588], + [1.92e-9, 1.33928820063, 394.6258850592], + [1.49e-9, 2.65697593276, 21.335640467], + [1.46e-9, 5.58021191726, 412.3710968744], + [1.56e-9, 3.7565767638, 12323.4230960088], + [1.43e-9, 3.28248547724, 29.8214381488], + [1.44e-9, 1.07862546598, 1265.5674786264], + [1.48e-9, 0.2338663109, 10021.8372800994], + [1.64e-9, 0.94288727597, 14919.0178537546], + [1.93e-9, 5.92751083827, 40879.4405046438], + [1.4e-9, 4.97612440269, 158.9435177832], + [1.48e-9, 2.61651818006, 17157.0618804718], + [1.4e-9, 3.66947933935, 26084.0218062162], + [1.47e-9, 5.09968173403, 661.232926781], + [1.47e-9, 1.36976712162, 4171.4255366138], + [1.34e-9, 4.79432636012, 111.1866422876], + [1.4e-9, 1.27748013377, 107.6635239386], + [1.71e-9, 2.77586207403, 26735.9452622132], + [1.83e-9, 5.43418358741, 369.6998159404], + [1.34e-9, 3.09132862833, 17.812522118], + [1.32e-9, 3.05633896779, 22490.9621214934], + [1.81e-9, 4.22950689891, 966.9708774356], + [1.66e-9, 3.67660435776, 15508.6151232744], + [1.52e-9, 5.28885813387, 12669.2444742014], + [1.5e-9, 5.86819430895, 97238.62754448749], + [1.45e-9, 5.07330784304, 87.30820453981], + [1.33e-9, 5.65471067133, 31.9723058168], + [1.24e-9, 2.83326216907, 12566.2190102856], + [1.4e-9, 5.84212721453, 22476.73502749179], + [1.34e-9, 3.12858101887, 32217.2001810808], + [1.37e-9, 0.86487461904, 9924.8104215106], + [1.72e-9, 1.98369595114, 174242.4659640497], + [1.7e-9, 4.41115280254, 327574.51427678124], + [1.28e-9, 4.49087631612, 31415.379249957], + [1.51e-9, 0.46542092001, 39609.6545831656], + [1.53e-9, 3.78801830344, 17363.24742890899], + [1.65e-9, 5.31654110459, 16943.7627850338], + [1.65e-9, 4.06747587817, 58953.145443294], + [1.18e-9, 0.63846333239, 6.0659156298], + [1.59e-9, 0.86086959274, 221995.02880149524], + [1.19e-9, 5.96432932413, 1385.8952763362], + [1.14e-9, 5.16516114595, 25685.872802808], + [1.12e-9, 4.92889233335, 56.8032621698], + [1.19e-9, 2.40626699328, 18635.9284545362], + [1.15e-9, 0.23374479051, 418.9243989006], + [1.13e-9, 2.7938757674, 6272.4391846416], + [1.22e-9, 0.936940724, 24492.40611365159], + [1.33e-9, 4.87155573413, 22345.2603761082], + [1.13e-9, 3.80362889046, 6293.7125153412], + [1.3e-9, 3.72996018683, 12573.2652469836], + [1.07e-9, 3.40227152756, 21393.5419698576], + [1.22e-9, 1.00385670948, 95143.1329209781], + [1.4e-9, 1.094130757, 44809.6502008634], + [1.12e-9, 6.05462382871, 433.7117378768], + [1.23e-9, 4.55640196386, 239424.39025435288], + [1.04e-9, 1.54931540602, 127.9515330346], + [1.11e-9, 3.04186517428, 8982.810669309], + [1.02e-9, 4.12448497391, 15664.03552270859], + [1.07e-9, 4.67919356465, 77690.75950573849], + [1.18e-9, 4.5232017012, 19004.6479494084], + [1.07e-9, 5.71774478555, 77736.78343050249], + [1.03e-9, 4.79332126649, 33794.5437235286], + [1.43e-9, 1.81201813018, 4214.0690150848], + [1.02e-9, 3.7581778657, 58864.5439181463], + [1.25e-9, 1.14419195615, 625.6701923124], + [1.24e-9, 3.27736513892, 12566.08438968], + [1.1e-9, 1.08705709966, 2787.0430238574], + [1.02e-9, 4.75119578149, 12242.6462833254], + [1.01e-9, 4.91289409429, 401.6721217572], + [1.38e-9, 2.89578979744, 9411.4646150872], + [1.29e-9, 1.23516042371, 12029.3471878874], + [1.38e-9, 2.45654707076, 7576.560073574], + [9.8e-10, 5.4477176502, 29026.48522950779], + [1.34e-9, 1.43105174912, 86464.6133168312], + [1.08e-9, 0.9898977494, 5636.0650166766], + [1.17e-9, 5.17362847134, 34520.3093093808], + [9.7e-10, 3.34717130592, 16310.9790457206], + [1.07e-9, 2.94547931851, 24602.61243487099], + [9.8e-10, 4.37041908717, 34513.2630726828], + [1.25e-9, 2.72182830814, 24065.80792277559], + [1.11e-9, 0.58899131543, 6303.4311693902], + [1.02e-9, 0.66938025772, 10239.5838660108], + [1.19e-9, 1.21666517886, 1478.8665740644], + [1.11e-9, 1.04321934681, 16522.6597160022], + [9.4e-10, 4.31076339857, 26880.3198130326], + [9.8e-10, 4.14248433763, 6599.467719648], + [9.5e-10, 2.89807657534, 34911.412076091], + [9.7e-10, 0.89642320201, 71980.63357473118], + [9.5e-10, 0.65717727948, 6288.5987742988], + [1.16e-9, 4.19967201116, 206.7007372966], + [9.5e-10, 1.78315464297, 18139.2945014159], + [9.9e-10, 1.37437847718, 1039.0266107904], + [1.26e-9, 3.21642544972, 305281.9430710488], + [9.4e-10, 0.6899503186, 7834.1210726394], + [9.5e-10, 5.58111421744, 3104.9300594238], + [1.08e-9, 0.52696637156, 276.7457718644], + [1.24e-9, 3.43899862683, 172146.9713405403], + [8.7e-10, 1.18764938806, 18842.11400297339], + [8.7e-10, 0.09094166389, 15141.390794312], + [1.08e-9, 1.03363414379, 82576.9812209953], + [1.19e-9, 2.86729109648, 90394.82301305079], + [1.04e-9, 3.39218586218, 290.972865866], + [9.4e-10, 5.68284937444, 32367.0976562076], + [1.17e-9, 0.78475956902, 83286.91426955358], + [1.05e-9, 3.96551057233, 6357.8574485587], + [9.4e-10, 4.03443174853, 13341.6743113068], + [9.6e-10, 0.92742567538, 1062.9050485382], + [8.9e-10, 4.45371820659, 792.7748884674], + [8.7e-10, 0.40013481685, 90279.92316810328], + [1.13e-9, 2.48165313368, 48739.859897083], + [8.7e-10, 3.43122851097, 27707.5424942948], + [1.01e-9, 5.32081603011, 2301.58581590939], + [8.4e-10, 0.67020912458, 28628.3362260996], + [8.2e-10, 0.87060089842, 10241.2022911672], + [8.6e-10, 4.6206479229, 36147.4098773004], + [8e-10, 4.77649625396, 6819.8803620868], + [9.5e-10, 2.87032913492, 23020.65308658799], + [1.07e-9, 5.77864921649, 34115.1140692746], + [1.1e-9, 3.32898859416, 72140.6286666874], + [8.7e-10, 4.40657711727, 142.1786270362], + [1.03e-9, 4.2250672681, 30666.1549584328], + [8.2e-10, 3.89404392552, 5547.1993364596], + [1.09e-9, 1.94546065204, 24279.10701821359], + [8.7e-10, 4.32472045435, 742.9900605326], + [1.07e-9, 4.91580912547, 277.0349937414], + [8.8e-10, 2.10180817713, 26482.1708096244], + [8.6e-10, 4.01895021483, 12491.3701014155], + [1.06e-9, 5.49092372854, 62883.3551395136], + [8e-10, 6.1978570495, 6709.6740408674], + [1.05e-9, 2.44166529175, 6298.3283211764], + [8.3e-10, 4.90662164029, 51.28033786241], + [7.4e-10, 2.34622575625, 7018.9523635232], + [7.8e-10, 6.06947270265, 148434.53403769128], + [7.9e-10, 3.03048221644, 838.9692877504], + [7.3e-10, 3.05008665738, 567.7186377304], + [1.02e-9, 3.59223815483, 22380.755800274], + [8.4e-10, 0.46604373274, 45.1412196366], + [9.2e-10, 4.12917744733, 18216.443810661], + [9.1e-10, 0.49382398887, 6453.7487206106], + [7.3e-10, 1.72446569088, 21424.4666443034], + [6.9e-10, 1.4937267773, 21548.9623692918], + [6.9e-10, 4.73181018058, 8858.3149443206], + [7.7e-10, 0.47683782532, 11520.9968637952], + [7.8e-10, 5.4394263099, 15265.8865193004], + [7.7e-10, 2.53773750372, 76.2660712756], + [6.9e-10, 2.53932635192, 9910.583327509], + [7.5e-10, 0.1559472921, 23006.42599258639], + [7.8e-10, 2.41004950269, 6393.2821712108], + [6.7e-10, 5.05152846816, 57375.8019008462], + [7.7e-10, 3.9107560486, 24383.0791084414], + [6.7e-10, 0.78239147387, 12779.4507954208], + [7.1e-10, 1.24817900687, 10419.9862835076], + [6.7e-10, 5.7785122776, 6311.5250374592], + [6.1e-10, 2.66705754411, 18852.7506683232], + [7.9e-10, 1.89137330427, 6528.9074962208], + [8.4e-10, 5.11523704221, 50317.2034395308], + [5.9e-10, 3.38290426621, 35707.7100829074], + [6.5e-10, 4.66767908854, 26709.6469424134], + [7.9e-10, 5.59773848156, 71960.38658322369], + [6.1e-10, 3.30733768968, 18845.7044316252], + [5.7e-10, 3.90831298022, 5999.2165311262], + [5.8e-10, 3.92572820333, 30348.883772767], + [6.1e-10, 0.05695045822, 7856.89627409019], + [6.1e-10, 5.63297960691, 7863.9425107882], + [6.8e-10, 2.53986117507, 20452.8694122218], + [5.3e-10, 5.44021645443, 32370.9789915656], + [5.9e-10, 4.95695131145, 11925.2740926006], + [5.9e-10, 5.34668243273, 137288.2484348251], + [5.6e-10, 4.05779957425, 17892.93839400359], + [5.3e-10, 3.94182462468, 18624.8827542723], + [4.9e-10, 2.11782803206, 22594.05489571199], + [6.2e-10, 2.47154086715, 12345.739057544], + [4.9e-10, 5.7659693738, 18606.4989460002], + [5.2e-10, 6.20902099741, 21947.1113727], + [5.1e-10, 3.13287981215, 33326.5787331742], + [5.7e-10, 6.17003357597, 61306.0115970658], + [6.4e-10, 5.66596451842, 34596.3646546524], + [6.6e-10, 3.922623355, 69853.3520756813], + [5.3e-10, 5.51119362049, 77710.24834977149], + [5.3e-10, 4.88573986965, 77717.29458646949], + [4.8e-10, 2.71399112516, 20760.4270331914], + [4.6e-10, 6.08376164442, 29822.7832363242], + [5.2e-10, 0.3139748138, 37724.7534197482], + [4.5e-10, 5.53587248663, 6262.7205305926], + [5.9e-10, 2.45437896854, 69166.430989505], + [6e-10, 5.24261569842, 56600.2792895222], + [5.1e-10, 6.15794342172, 11616.976091013], + [6e-10, 1.74758109828, 44034.1275895394], + [4.9e-10, 5.08973141046, 33990.6183442862], + [4.4e-10, 3.28270864884, 29424.634232916], + [5.2e-10, 5.34866947943, 28313.288804661], + [5.9e-10, 2.12384971916, 36173.7081971002], + [5e-10, 0.46480931695, 25287.7237993998], + [4.4e-10, 2.0550351721, 63658.8777508376], + [4.4e-10, 1.71009200258, 13362.4497067992], + [4.1e-10, 3.91721318316, 6279.1945146334], + [4.2e-10, 1.52106001448, 23550.34405168259], + [4.2e-10, 3.10938258068, 84672.47584450469], + [4.1e-10, 3.78863023321, 35050.00027447539], + [4.2e-10, 5.57543459263, 38500.2760310722], + [4e-10, 5.55145719363, 12565.1713789146], + [5.4e-10, 0.889354921, 50290.905119731], + [5.5e-10, 2.50268487636, 77828.671313068], + [5.4e-10, 4.16257918787, 22910.44676536859], + [4.1e-10, 2.32141215064, 6286.9571853494], + [4.5e-10, 3.18590576311, 45585.1728121874], + [4.5e-10, 2.24348941683, 23646.32327890039], + [4.3e-10, 3.8789211095, 6549.6828917132], + [4.8e-10, 2.11364139445, 31570.7996493912], + [4.3e-10, 5.55099558987, 12359.9661515456], + [4.1e-10, 4.88191569433, 23536.11695768099], + [4.9e-10, 2.44790922235, 13613.804277336], + [4.7e-10, 3.5818169391, 4797.0957289262] + ], + "1": [ + [6283.0758499914, 0, 0], + [0.00206058863, 2.67823455808, 6283.0758499914], + [0.00004303419, 2.63512233481, 12566.1516999828], + [0.00000425264, 1.59046982018, 3.523118349], + [0.00000109017, 2.96631010675, 1577.3435424478], + [9.3479e-7, 2.59211109542, 18849.2275499742], + [0.00000119305, 5.79555765566, 26.2983197998], + [7.2121e-7, 1.13840581212, 529.6909650946], + [6.7784e-7, 1.87453300345, 398.1490034082], + [6.735e-7, 4.40932832004, 5507.5532386674], + [5.9045e-7, 2.88815790631, 5223.6939198022], + [5.5976e-7, 2.17471740035, 155.4203994342], + [4.5411e-7, 0.39799502896, 796.2980068164], + [3.6298e-7, 0.46875437227, 775.522611324], + [2.8962e-7, 2.64732254645, 7.1135470008], + [1.9097e-7, 1.84628376049, 5486.777843175], + [2.0844e-7, 5.34138275149, 0.9803210682], + [1.8508e-7, 4.96855179468, 213.299095438], + [1.6233e-7, 0.03216587315, 2544.3144198834], + [1.7293e-7, 2.9911676063, 6275.9623029906], + [1.5832e-7, 1.43049301283, 2146.1654164752], + [1.4608e-7, 1.2046979369, 10977.078804699], + [1.1877e-7, 3.25805082007, 5088.6288397668], + [1.1514e-7, 2.07502080082, 4694.0029547076], + [9.721e-8, 4.2392586526, 1349.8674096588], + [9.969e-8, 1.30263423409, 6286.5989683404], + [9.452e-8, 2.69956827011, 242.728603974], + [1.2461e-7, 2.83432282119, 1748.016413067], + [1.1808e-7, 5.27379760438, 1194.4470102246], + [8.577e-8, 5.6447608598, 951.7184062506], + [1.0641e-7, 0.76614722966, 553.5694028424], + [7.576e-8, 5.30056172859, 2352.8661537718], + [5.764e-8, 1.77228445837, 1059.3819301892], + [6.385e-8, 2.65034514038, 9437.762934887], + [5.223e-8, 5.66135782131, 71430.69561812909], + [5.315e-8, 0.91110018969, 3154.6870848956], + [6.101e-8, 4.66633726278, 4690.4798363586], + [4.335e-8, 0.23934560382, 6812.766815086], + [5.041e-8, 1.42489704722, 6438.4962494256], + [4.259e-8, 0.77355543889, 10447.3878396044], + [5.2e-8, 1.85528830215, 801.8209311238], + [3.744e-8, 2.00119905572, 8031.0922630584], + [3.553e-8, 2.42789590229, 14143.4952424306], + [3.372e-8, 3.86210786421, 1592.5960136328], + [3.38e-8, 0.88545388924, 12036.4607348882], + [3.196e-8, 3.19713328141, 4705.7323075436], + [3.221e-8, 0.6160104899, 8429.2412664666], + [4.132e-8, 5.23992584671, 7084.8967811152], + [2.97e-8, 6.07029819073, 4292.3308329504], + [2.9e-8, 2.32464208411, 20.3553193988], + [3.504e-8, 4.79976712702, 6279.5527316424], + [2.95e-8, 1.43108874817, 5746.271337896], + [2.697e-8, 4.80365209201, 7234.794256242], + [2.531e-8, 6.22289990904, 6836.6452528338], + [2.745e-8, 0.93466065396, 5760.4984318976], + [3.25e-8, 3.39951915286, 7632.9432596502], + [2.278e-8, 5.00339914806, 17789.845619785], + [2.076e-8, 3.95551309007, 10213.285546211], + [2.061e-8, 2.2240771919, 5856.4776591154], + [2.252e-8, 5.67166717686, 11499.6562227928], + [2.148e-8, 5.20182663314, 11513.8833167944], + [1.886e-8, 0.53198539077, 3340.6124266998], + [1.875e-8, 4.73511969924, 83996.84731811189], + [2.06e-8, 2.54985307819, 25132.3033999656], + [1.794e-8, 1.47435300254, 4164.311989613], + [1.778e-8, 3.02473091781, 5.5229243074], + [2.036e-8, 0.90908165072, 6256.7775301916], + [2.064e-8, 2.27051326957, 522.5774180938], + [1.773e-8, 3.03090500693, 5753.3848848968], + [1.569e-8, 6.12406216872, 5216.5803728014], + [1.59e-8, 4.63713748247, 3.2863574178], + [1.533e-8, 4.20305593883, 13367.9726311066], + [1.427e-8, 1.19087535126, 3894.1818295422], + [1.376e-8, 4.24955891338, 426.598190876], + [1.375e-8, 3.09301252193, 135.0650800354], + [1.308e-8, 3.0849213889, 5643.1785636774], + [1.34e-8, 5.76513167968, 6040.3472460174], + [1.25e-8, 3.07748196332, 11926.2544136688], + [1.551e-8, 3.07664090662, 6681.2248533996], + [1.148e-8, 3.24144202282, 12168.0026965746], + [1.268e-8, 2.09201189992, 6290.1893969922], + [1.248e-8, 3.44506939791, 536.8045120954], + [1.118e-8, 2.31830078762, 16730.4636895958], + [1.105e-8, 5.31966001019, 23.8784377478], + [1.012e-8, 3.74953487087, 7860.4193924392], + [1.025e-8, 2.4468377161, 1990.745017041], + [9.62e-9, 0.81771017882, 3.881335358], + [9.11e-9, 0.41724352112, 7079.3738568078], + [1.091e-8, 3.98233608618, 11506.7697697936], + [9.57e-9, 4.07671436153, 6127.6554505572], + [8.35e-9, 5.28348689371, 11790.6290886588], + [8.02e-9, 3.88779080089, 10973.55568635], + [7.73e-9, 2.41044394817, 1589.0728952838], + [7.58e-9, 1.30034365873, 103.0927742186], + [7.49e-9, 4.96281442361, 6496.3749454294], + [7.65e-9, 3.36312388424, 36.0278666774], + [9.15e-9, 5.41549763095, 206.1855484372], + [7.76e-9, 2.57589060224, 11371.7046897582], + [7.72e-9, 3.98363364977, 955.5997416086], + [7.49e-9, 5.17900231417, 10969.9652576982], + [8.06e-9, 0.34226117299, 9917.6968745098], + [7.28e-9, 5.20962563787, 38.0276726358], + [6.85e-9, 2.77592961854, 20.7753954924], + [6.36e-9, 4.28242193632, 28.4491874678], + [6.08e-9, 5.63278510221, 10984.1923516998], + [7.04e-9, 5.60739437733, 3738.761430108], + [6.85e-9, 0.38876148682, 15.252471185], + [6.01e-9, 0.73489602442, 419.4846438752], + [7.16e-9, 2.65286869987, 6309.3741697912], + [5.84e-9, 5.54508741381, 17298.1823273262], + [6.28e-9, 1.11733054796, 7058.5984613154], + [6.88e-9, 2.59684132401, 3496.032826134], + [4.85e-9, 0.44470714066, 12352.8526045448], + [5.62e-9, 2.82510352358, 3930.2096962196], + [5.97e-9, 5.27675789973, 10575.4066829418], + [5.83e-9, 3.1893153986, 4732.0306273434], + [5.26e-9, 5.01737745304, 5884.9268465832], + [5.4e-9, 1.29182747488, 640.8776073822], + [4.81e-9, 5.49721461067, 5230.807466803], + [4.06e-9, 5.21253018484, 220.4126424388], + [3.95e-9, 1.87489912123, 16200.7727245012], + [3.67e-9, 0.88533542945, 6283.14316029419], + [3.69e-9, 3.84778078192, 18073.7049386502], + [3.79e-9, 0.37991716505, 10177.2576795336], + [3.56e-9, 3.84152910109, 11712.9553182308], + [3.74e-9, 5.01577520608, 7.046236698], + [3.81e-9, 4.30250406634, 6062.6632075526], + [4.71e-9, 0.86388942467, 6069.7767545534], + [3.67e-9, 1.3294383993, 6283.0085396886], + [4.6e-9, 5.19667219582, 6284.0561710596], + [3.33e-9, 5.54250425107, 4686.8894077068], + [3.41e-9, 4.36524495363, 7238.6755916], + [3.36e-9, 4.00205876835, 3097.88382272579], + [3.59e-9, 6.22679790284, 245.8316462294], + [3.07e-9, 2.35299010924, 170.6728706192], + [3.43e-9, 3.77164927142, 6076.8903015542], + [2.96e-9, 5.44138799494, 17260.1546546904], + [3.28e-9, 0.13817705132, 11015.1064773348], + [2.69e-9, 1.13308244952, 12569.6748183318], + [2.63e-9, 0.0055073751, 4136.9104335162], + [2.82e-9, 5.04399588559, 7477.522860216], + [2.8e-9, 3.13703211405, 12559.038152982], + [2.59e-9, 0.93882269388, 5642.1982426092], + [2.92e-9, 1.98426314297, 12132.439962106], + [2.47e-9, 3.84244798673, 5429.8794682394], + [3.19e-9, 5.0417014879, 90617.7374312997], + [2.45e-9, 5.70469737024, 65147.6197681377], + [3.18e-9, 1.35581968834, 78051.5857313169], + [2.41e-9, 0.99469787369, 3634.6210245184], + [2.46e-9, 3.06168069393, 110.2063212194], + [2.39e-9, 6.11854529589, 11856.2186514245], + [2.67e-9, 0.65297608414, 21228.3920235458], + [2.62e-9, 1.51070507866, 12146.6670561076], + [2.3e-9, 1.75923794017, 9779.1086761254], + [2.23e-9, 2.00967043606, 6172.869528772], + [2.46e-9, 1.10411690861, 6282.0955289232], + [2.14e-9, 4.03840492266, 14314.1681130498], + [2.12e-9, 2.13695623228, 5849.3641121146], + [2.07e-9, 3.07724246401, 11.729352836], + [2.07e-9, 6.10303325026, 23543.23050468179], + [2.66e-9, 1.00720021877, 2388.8940204492], + [2.17e-9, 6.27840212312, 17267.26820169119], + [2.31e-9, 5.37372783468, 13916.0191096416], + [2.04e-9, 2.34615348695, 266.6070417218], + [1.95e-9, 5.55015549753, 6133.5126528568], + [2.03e-9, 4.65616806503, 24072.9214697764], + [1.88e-9, 2.52682282169, 6525.8044539654], + [1.77e-9, 1.73426919199, 154717.6098876827], + [1.87e-9, 4.76501318048, 4535.0594369244], + [1.86e-9, 4.63080493407, 10440.2742926036], + [1.83e-9, 3.20060840641, 8635.9420037632], + [1.72e-9, 1.45551703877, 9225.539273283], + [1.62e-9, 3.30665137166, 639.897286314], + [1.68e-9, 2.17671416605, 27.4015560968], + [1.6e-9, 1.6816871275, 15110.4661198662], + [1.94e-9, 2.79243768345, 7342.4577801806], + [1.83e-9, 0.56273524797, 13517.8701062334], + [1.72e-9, 5.97039514134, 4701.1165017084], + [1.79e-9, 3.58450811616, 87.30820453981], + [1.52e-9, 2.84070476839, 5650.2921106782], + [1.56e-9, 1.07156076421, 18319.5365848796], + [1.82e-9, 0.44053620124, 17253.04110768959], + [1.42e-9, 1.4629013752, 11087.2851259184], + [1.31e-9, 5.40912137746, 2699.7348193176], + [1.44e-9, 2.07312089638, 25158.6017197654], + [1.47e-9, 6.15107800602, 9623.6882766912], + [1.41e-9, 5.55739979498, 10454.5013866052], + [1.35e-9, 0.0609812943, 16723.350142595], + [1.23e-9, 5.81194797368, 17256.6315363414], + [1.24e-9, 2.36269386269, 4933.2084403326], + [1.26e-9, 3.47483886466, 22483.84857449259], + [1.59e-9, 5.63944722033, 5729.506447149], + [1.37e-9, 1.93811728826, 20426.571092422], + [1.23e-9, 3.92815962825, 17996.0311682222], + [1.48e-9, 3.02542567608, 1551.045222648], + [1.21e-9, 0.05537321071, 13095.8426650774], + [1.2e-9, 5.91904349732, 6206.8097787158], + [1.34e-9, 3.11122937825, 21954.15760939799], + [1.19e-9, 5.52143897201, 709.9330485583], + [1.22e-9, 3.00840036775, 19800.9459562248], + [1.27e-9, 1.37534182407, 14945.3161735544], + [1.41e-9, 2.56886299638, 1052.2683831884], + [1.23e-9, 2.83671175442, 11919.140866668], + [1.18e-9, 0.81918292547, 5331.3574437408], + [1.51e-9, 2.68728567951, 11769.8536931664], + [1.19e-9, 5.08654046247, 5481.2549188676], + [1.13e-9, 4.42675663942, 18422.62935909819], + [1.53e-9, 2.46021790779, 11933.3679606696], + [1.08e-9, 1.04936452151, 11403.676995575], + [1.28e-9, 0.99810456461, 8827.3902698748], + [1.44e-9, 2.54869747042, 227.476132789], + [1.5e-9, 4.50631437136, 2379.1644735716], + [1.09e-9, 0.29269062317, 16737.5772365966], + [1.22e-9, 4.23040027813, 29.429508536], + [1.11e-9, 5.16970710025, 17782.7320727842], + [1.05e-9, 1.61738153441, 13119.72110282519], + [1e-9, 3.52204690579, 18052.9295431578], + [1.08e-9, 1.08493117155, 16858.4825329332], + [1.35e-9, 3.2016061697, 6262.300454499], + [1.06e-9, 1.96085069786, 74.7815985673], + [1.29e-9, 4.85949366504, 16496.3613962024], + [1.1e-9, 2.30605777952, 16460.33352952499], + [9.7e-10, 3.5091894021, 5333.9002410216], + [9.9e-10, 3.56417337974, 735.8765135318], + [9.6e-10, 3.40918487598, 15720.8387848784], + [9.4e-10, 5.01601027363, 3128.3887650958], + [9.7e-10, 1.65579893894, 533.2140834436], + [9.2e-10, 0.89219199493, 29296.6153895786], + [1.23e-9, 3.16062062663, 9380.9596727172], + [1.02e-9, 1.20493500565, 23020.65308658799], + [8.8e-10, 2.21265504437, 12721.572099417], + [8.9e-10, 1.5432266957, 20199.094959633], + [1.21e-9, 6.19860353182, 9388.0059094152], + [8.9e-10, 4.08082274765, 22805.7355659936], + [9.8e-10, 1.09176668094, 12043.574281889], + [8.6e-10, 1.13649001466, 143571.32428481648], + [8.8e-10, 5.96980472191, 107.6635239386], + [8.2e-10, 5.01561173481, 22003.9146348698], + [9.4e-10, 1.69615700473, 23006.42599258639], + [8.1e-10, 3.00664741995, 2118.7638603784], + [9.8e-10, 1.39215287161, 8662.240323563], + [8e-10, 5.16340988714, 17796.9591667858], + [8.2e-10, 5.86893959287, 2787.0430238574], + [7.7e-10, 0.80723694712, 167283.7615876655], + [9.1e-10, 5.74902425304, 21424.4666443034], + [7.6e-10, 5.67183650604, 14.2270940016], + [8.1e-10, 6.16619455699, 1039.0266107904], + [7.6e-10, 3.21449884756, 111.1866422876], + [7.8e-10, 1.37531518377, 21947.1113727], + [7.4e-10, 3.58814195051, 11609.8625440122], + [7.7e-10, 4.84846488388, 22743.4093795164], + [9e-10, 1.48869013606, 15671.0817594066], + [8.2e-10, 3.48618398216, 29088.811415985], + [7.1e-10, 2.2159156119, 12029.3471878874], + [6.9e-10, 1.93625656075, 135.62532501], + [7e-10, 2.66552760898, 18875.525869774], + [6.9e-10, 5.41478093731, 26735.9452622132], + [7.9e-10, 5.15158156951, 12323.4230960088], + [7.8e-10, 4.17014063638, 1066.49547719], + [6.5e-10, 5.64584720343, 12139.5535091068], + [7.1e-10, 3.89804774037, 22779.4372461938], + [6.3e-10, 4.53968787714, 8982.810669309], + [7.6e-10, 3.29088891716, 2942.4634232916], + [6.9e-10, 0.94232113005, 14919.0178537546], + [6.3e-10, 4.0918653549, 16062.1845261168], + [6.5e-10, 3.34580407184, 51.28033786241], + [6.5e-10, 5.75757544877, 52670.0695933026], + [5.7e-10, 5.25050277534, 20995.3929664494], + [6.1e-10, 1.92290673861, 6805.6532680852], + [6.1e-10, 0.08878901558, 13362.4497067992], + [7.6e-10, 1.86947679415, 25287.7237993998], + [5.6e-10, 4.25396542622, 6709.6740408674], + [5.8e-10, 4.79429715781, 6286.3622074092], + [7.3e-10, 0.53299090807, 2301.58581590939], + [7e-10, 4.31243357502, 19402.7969528166], + [6.7e-10, 2.53852336668, 377.3736079158], + [5.6e-10, 3.20816844695, 24889.5747959916], + [5.4e-10, 5.17336469511, 26084.0218062162], + [5.3e-10, 3.17675406016, 18451.07854656599], + [5.3e-10, 3.61529270216, 77.673770428], + [5.3e-10, 0.45467549335, 30666.1549584328], + [5.3e-10, 2.97761644192, 21548.9623692918], + [6.1e-10, 0.14805728543, 23013.5395395872], + [5.1e-10, 3.32803972907, 56.8983749356], + [5.2e-10, 3.41304011355, 23141.5583829246], + [5.8e-10, 3.13638677202, 309.2783226558], + [5.4e-10, 1.60896548545, 13341.6743113068], + [5.3e-10, 5.81426394852, 16193.65917750039], + [6.7e-10, 6.27917920454, 22345.2603761082], + [5e-10, 0.42577644151, 25685.872802808], + [4.8e-10, 0.70204553352, 1162.4747044078], + [6.6e-10, 3.64350022359, 15265.8865193004], + [5e-10, 5.7438291744, 19.66976089979], + [5.4e-10, 1.97277370837, 23581.2581773176], + [5.1e-10, 1.23713196525, 12539.853380183], + [4.6e-10, 5.41431704639, 33019.0211122046], + [4.6e-10, 4.80640843261, 19651.048481098], + [5e-10, 1.23847511223, 22476.73502749179], + [5.1e-10, 4.91913434178, 12592.4500197826], + [4.6e-10, 2.41369976086, 98068.53671630539], + [4.5e-10, 3.45227074337, 30774.5016425748], + [4.5e-10, 4.39659083856, 433.7117378768], + [4.5e-10, 3.71921056816, 18209.33026366019], + [4.4e-10, 2.47683925106, 24356.7807886416], + [4.9e-10, 2.17835058609, 13521.7514415914], + [4.6e-10, 0.26142733448, 11.0457002639], + [4.5e-10, 2.46230645202, 51868.2486621788], + [4.3e-10, 4.29458463014, 28230.18722269139], + [4.8e-10, 0.89551707131, 56600.2792895222], + [4.2e-10, 3.63410684699, 4590.910180489], + [4.9e-10, 3.17757670967, 6303.8512454838], + [4.3e-10, 4.93350349236, 10021.8372800994], + [5.2e-10, 3.65410195699, 7872.1487452752], + [4.1e-10, 4.82166756935, 10988.808157535], + [4e-10, 1.81891629936, 34596.3646546524], + [4.3e-10, 1.94164978061, 1903.4368125012], + [4.1e-10, 0.74461854136, 23937.856389741], + [4.5e-10, 5.4557501753, 60530.4889857418], + [5e-10, 5.67355640472, 18216.443810661], + [4e-10, 0.04502010161, 38526.574350872], + [5.3e-10, 3.64807615995, 11925.2740926006], + [4.2e-10, 5.19292937193, 19004.6479494084], + [4.1e-10, 0.94309683296, 9924.8104215106], + [3.9e-10, 4.61184303844, 95.9792272178], + [4.9e-10, 2.05532526216, 12573.2652469836], + [4.5e-10, 3.73717824543, 7875.6718636242], + [4.3e-10, 1.14078465002, 49.7570254718], + [3.9e-10, 1.70539366023, 32217.2001810808], + [3.7e-10, 1.29390383811, 310.8407988684], + [3.8e-10, 0.9597092595, 664.75604513], + [3.9e-10, 0.85957361635, 16522.6597160022], + [4e-10, 1.00170796001, 36949.2308084242], + [4e-10, 3.78164718776, 55798.4583583984], + [3.7e-10, 5.42237070904, 6286.6662786432], + [3.6e-10, 1.68167662194, 10344.2950653858], + [4e-10, 5.13217319067, 15664.03552270859], + [4.9e-10, 3.62741283878, 77713.7714681205], + [4.5e-10, 6.15877872538, 28286.9904848612], + [3.6e-10, 3.32158458257, 16207.886271502], + [3.5e-10, 5.83917764292, 6321.1035226272], + [3.6e-10, 1.80784164083, 6279.7894925736], + [3.5e-10, 4.60279245362, 28237.2334593894], + [3.3e-10, 0.47301775923, 18635.9284545362], + [3.5e-10, 4.36571027474, 48739.859897083], + [3.1e-10, 3.06828028412, 6819.8803620868], + [3.1e-10, 2.4020319848, 28628.3362260996], + [3.4e-10, 1.90096411242, 12964.300703391], + [2.9e-10, 6.09291010354, 18606.4989460002], + [2.8e-10, 3.42046112698, 6288.5987742988], + [2.8e-10, 3.437361406, 34115.1140692746], + [2.9e-10, 1.48920816078, 6489.2613984286], + [2.8e-10, 3.07474749886, 29822.7832363242], + [3.8e-10, 2.44608264663, 31415.379249957], + [2.8e-10, 2.98392582088, 6277.552925684], + [2.7e-10, 5.03556015623, 12779.4507954208], + [2.7e-10, 5.40812977287, 26087.9031415742], + [3.8e-10, 5.56439937893, 27832.0382192832], + [2.6e-10, 3.87685883153, 6262.7205305926], + [2.7e-10, 6.1556539284, 28759.81087748319], + [2.5e-10, 5.17122153205, 6915.8595893046], + [2.7e-10, 4.03132006944, 9910.583327509], + [3.3e-10, 3.97763407373, 12410.7313005486], + [2.4e-10, 5.31307120044, 29026.48522950779], + [2.5e-10, 0.81055213297, 36173.7081971002], + [2.4e-10, 1.2870610131, 24491.4257925834], + [2.1e-10, 2.02548478742, 28766.924424484], + [2.1e-10, 6.07545114034, 18139.2945014159], + [2.2e-10, 2.31199937131, 6303.4311693902], + [2.3e-10, 1.35235057478, 49515.382508407], + [2.3e-10, 2.92765926961, 65236.2212932854], + [1.9e-10, 0.03636659763, 29864.334027309], + [2e-10, 0.91374066194, 45585.1728121874], + [2.1e-10, 4.45003013294, 22490.9621214934], + [2.2e-10, 1.97119365888, 34513.2630726828], + [2e-10, 4.11682669951, 17157.0618804718], + [2.4e-10, 1.40243942415, 14712.317116458], + [2.2e-10, 2.19759737115, 31570.7996493912], + [2.1e-10, 1.48739821208, 61306.0115970658], + [2.5e-10, 5.71465573409, 25934.1243310894] + ], + "2": [ + [0.00008721859, 1.07253635559, 6283.0758499914], + [0.0000099099, 3.14159265359, 0], + [0.00000294833, 0.43717350256, 12566.1516999828], + [2.7338e-7, 0.05295636147, 3.523118349], + [1.6333e-7, 5.18820215724, 26.2983197998], + [1.5745e-7, 3.68504712183, 155.4203994342], + [9.425e-8, 0.29667114694, 18849.2275499742], + [8.938e-8, 2.05706319592, 77713.7714681205], + [6.94e-8, 0.82691541038, 775.522611324], + [5.061e-8, 4.6624323168, 1577.3435424478], + [4.06e-8, 1.03067032318, 7.1135470008], + [3.464e-8, 5.14021224609, 796.2980068164], + [3.172e-8, 6.05479318507, 5507.5532386674], + [3.02e-8, 1.19240008524, 242.728603974], + [2.885e-8, 6.11705865396, 529.6909650946], + [3.809e-8, 3.44043369494, 5573.1428014331], + [2.719e-8, 0.30363248164, 398.1490034082], + [2.365e-8, 4.37666117992, 5223.6939198022], + [2.538e-8, 2.27966434314, 553.5694028424], + [2.078e-8, 3.75435095487, 0.9803210682], + [1.675e-8, 0.90149951436, 951.7184062506], + [1.534e-8, 5.75895831192, 1349.8674096588], + [1.224e-8, 2.97285792195, 2146.1654164752], + [1.449e-8, 4.36401639552, 1748.016413067], + [1.341e-8, 3.72019379666, 1194.4470102246], + [1.253e-8, 2.9488872631, 6438.4962494256], + [9.99e-9, 5.98665341008, 6286.5989683404], + [9.17e-9, 4.79722195184, 5088.6288397668], + [8.29e-9, 3.31021398862, 213.299095438], + [1.102e-8, 1.27094359244, 161000.6857376741], + [7.64e-9, 3.41231607038, 5486.777843175], + [1.046e-8, 0.60374190029, 3154.6870848956], + [8.87e-9, 5.23364022595, 7084.8967811152], + [6.44e-9, 1.59974355582, 2544.3144198834], + [6.81e-9, 3.42742947469, 4694.0029547076], + [6.06e-9, 2.47688996663, 10977.078804699], + [7.06e-9, 6.19369692903, 4690.4798363586], + [6.43e-9, 1.98119869589, 801.8209311238], + [5.02e-9, 1.44415463861, 6836.6452528338], + [4.9e-9, 2.33889753806, 1592.5960136328], + [4.58e-9, 1.30867922972, 4292.3308329504], + [4.31e-9, 0.03542536476, 7234.794256242], + [3.49e-9, 0.98779272263, 6040.3472460174], + [3.85e-9, 1.57065592218, 71430.69561812909], + [3.71e-9, 3.16149051601, 6309.3741697912], + [3.48e-9, 0.64980950594, 1059.3819301892], + [4.58e-9, 3.81505682017, 149854.4001348079], + [3.02e-9, 1.91723873447, 10447.3878396044], + [3.06e-9, 3.55405857884, 8031.0922630584], + [3.95e-9, 4.93742673052, 7632.9432596502], + [3.14e-9, 3.18058352846, 2352.8661537718], + [2.81e-9, 4.41751404023, 9437.762934887], + [2.76e-9, 2.71075791682, 3894.1818295422], + [2.98e-9, 2.52045757001, 6127.6554505572], + [2.72e-9, 0.24370191144, 25132.3033999656], + [2.51e-9, 0.55449375765, 6279.5527316424], + [2.24e-9, 1.40790249012, 4705.7323075436], + [2.58e-9, 5.29510765044, 6812.766815086], + [1.78e-9, 0.92636669742, 1990.745017041], + [2.17e-9, 0.68543630022, 6256.7775301916], + [1.54e-9, 0.77808632062, 14143.4952424306], + [1.5e-9, 2.40636982736, 426.598190876], + [1.96e-9, 6.06877865012, 640.8776073822], + [1.37e-9, 2.21947617717, 8429.2412664666], + [1.27e-9, 5.47380312768, 12036.4607348882], + [1.21e-9, 3.32740512021, 17789.845619785], + [1.23e-9, 2.16004509785, 10213.285546211], + [1.16e-9, 0.49705139709, 7058.5984613154], + [1.38e-9, 2.36181661472, 11506.7697697936], + [1.01e-9, 0.86299995919, 6290.1893969922], + [1.18e-9, 5.82317768355, 7860.4193924392], + [9.2e-10, 5.11639978593, 7079.3738568078], + [1.25e-9, 2.65424538513, 88860.05707098669], + [8.8e-10, 4.3118823616, 83996.84731811189], + [8.4e-10, 3.57682769713, 16730.4636895958], + [9.7e-10, 5.58011309774, 13367.9726311066], + [1.02e-9, 2.05853060226, 87.30820453981], + [8e-10, 4.73827128421, 11926.2544136688], + [8e-10, 5.41344057121, 10973.55568635], + [1.06e-9, 4.10978997399, 3496.032826134], + [7.5e-10, 4.89166898876, 5643.1785636774], + [1e-9, 3.62645659087, 244287.60000722768], + [9.6e-10, 1.39443577787, 6681.2248533996], + [6.9e-10, 1.88399189965, 10177.2576795336], + [8.7e-10, 0.40842153208, 11015.1064773348], + [6.6e-10, 0.99444831932, 6525.8044539654], + [6.6e-10, 1.42471816453, 9917.6968745098], + [6.7e-10, 5.5124099707, 3097.88382272579], + [7.6e-10, 2.7156469351, 4164.311989613], + [8.5e-10, 0.4965552367, 10575.4066829418], + [7.7e-10, 3.51693861509, 11856.2186514245], + [6.2e-10, 3.6258762869, 16496.3613962024], + [5.4e-10, 5.25957420065, 3340.6124266998], + [5.3e-10, 1.10902178415, 8635.9420037632], + [4.9e-10, 5.65761054625, 20426.571092422], + [6.4e-10, 5.79211164779, 2388.8940204492], + [4.6e-10, 5.45092696155, 6275.9623029906], + [5.7e-10, 4.97077155798, 14945.3161735544], + [4.3e-10, 3.30685683359, 9779.1086761254], + [4.2e-10, 1.61412785248, 12168.0026965746], + [4.9e-10, 3.92715473768, 5729.506447149], + [4.2e-10, 0.6348125893, 2699.7348193176], + [5.6e-10, 4.34038639086, 90955.5516944961], + [4e-10, 5.66871428338, 11712.9553182308], + [3.9e-10, 3.10911294009, 16200.7727245012], + [4e-10, 5.71338386146, 709.9330485583], + [5.3e-10, 6.17067257683, 233141.3144043615], + [3.7e-10, 0.32095173508, 24356.7807886416], + [3.5e-10, 0.95557073457, 17298.1823273262], + [3.5e-10, 0.64913397996, 25158.6017197654], + [4.1e-10, 1.53850422484, 65147.6197681377], + [3.5e-10, 0.77655626359, 13916.0191096416], + [3.1e-10, 5.35897350775, 5331.3574437408], + [3e-10, 4.48114682755, 23543.23050468179], + [3.2e-10, 3.45976963453, 7477.522860216], + [2.9e-10, 3.46648040769, 13119.72110282519], + [3.8e-10, 2.90863974625, 12721.572099417], + [2.9e-10, 3.13390968321, 4136.9104335162], + [3.5e-10, 3.79717126309, 143571.32428481648], + [2.7e-10, 0.95726093828, 12559.038152982], + [2.6e-10, 4.9532687703, 5753.3848848968], + [3.2e-10, 3.49943896928, 6284.0561710596], + [2.6e-10, 4.59276256636, 5884.9268465832], + [2.6e-10, 1.53958920253, 154717.6098876827], + [2.3e-10, 4.88012908735, 13095.8426650774], + [2.3e-10, 0.35935706511, 31415.379249957], + [2.4e-10, 5.11515116629, 18319.5365848796], + [2.1e-10, 5.73872879912, 12569.6748183318], + [2.1e-10, 1.32901200081, 10988.808157535], + [1.9e-10, 2.24263229491, 18073.7049386502], + [1.9e-10, 3.14253175605, 6496.3749454294], + [2.1e-10, 2.80122025076, 6282.0955289232], + [2.3e-10, 0.14288760398, 6283.0085396886], + [1.9e-10, 4.28209473754, 3930.2096962196], + [1.6e-10, 0.25933207663, 11790.6290886588], + [1.5e-10, 6.0962350124, 13517.8701062334], + [2e-10, 5.06358906224, 6283.14316029419], + [1.5e-10, 1.0768066315, 4933.2084403326], + [1.9e-10, 5.74000581249, 3128.3887650958], + [1.6e-10, 6.18924226747, 7342.4577801806], + [1.3e-10, 1.69105044945, 4535.0594369244], + [1.5e-10, 3.36968394452, 17260.1546546904], + [1e-10, 3.78885035015, 22003.9146348698], + [1.1e-10, 2.12851973876, 7875.6718636242] + ], + "3": [ + [0.00000289058, 5.84173149732, 6283.0758499914], + [2.0712e-7, 6.0498393902, 12566.1516999828], + [2.962e-8, 5.1956057957, 155.4203994342], + [2.527e-8, 3.14159265359, 0], + [1.288e-8, 4.7219761197, 3.523118349], + [6.35e-9, 5.96904899168, 242.728603974], + [5.7e-9, 5.54182903238, 18849.2275499742], + [4.02e-9, 3.78606612895, 553.5694028424], + [7.2e-10, 4.37131884946, 6286.5989683404], + [6.7e-10, 0.91133898967, 6127.6554505572], + [3.7e-10, 5.28611190997, 6438.4962494256], + [2.1e-10, 2.94917211527, 6309.3741697912], + [1.5e-10, 3.63037493932, 71430.69561812909], + [1.1e-10, 4.83261533939, 25132.3033999656], + [1.1e-10, 5.84259014283, 6525.8044539654], + [1.2e-10, 3.82296977522, 7058.5984613154], + [1.3e-10, 2.39991715131, 5729.506447149], + [8e-11, 0.55390332094, 6040.3472460174], + [8e-11, 1.46298993048, 11856.2186514245], + [8e-11, 5.07535888338, 6256.7775301916], + [6e-11, 2.88803526743, 5507.5532386674], + [5e-11, 3.87019253131, 12036.4607348882], + [5e-11, 2.70838853362, 83996.84731811189] + ], + "4": [ + [7.714e-8, 4.14117321449, 6283.0758499914], + [1.016e-8, 3.27573644241, 12566.1516999828], + [4.2e-9, 0.41892851415, 155.4203994342], + [4.7e-10, 3.50591071186, 18849.2275499742], + [4.1e-10, 3.14032562331, 3.523118349], + [3.5e-10, 5.0111077, 5573.1428014331], + [1e-10, 5.64816633449, 6127.6554505572], + [1.3e-10, 0.48609240774, 77713.7714681205], + [7e-11, 2.84139222289, 161000.6857376741], + [4e-11, 3.6550904707, 25132.3033999656], + [2e-11, 0.54880603487, 6438.4962494256] + ], + "5": [ + [1.72e-9, 2.74854172392, 6283.0758499914], + [5e-10, 2.01352986713, 155.4203994342], + [2.8e-10, 2.93369985477, 12566.1516999828], + [5e-11, 1.93829214518, 18849.2275499742] + ] + }, + B: { + "0": [ + [0.0000027962, 3.19870156017, 84334.66158130829], + [0.00000101643, 5.42248619256, 5507.5532386674], + [8.0445e-7, 3.88013204458, 5223.6939198022], + [4.3806e-7, 3.70444689759, 2352.8661537718], + [3.1933e-7, 4.00026369781, 1577.3435424478], + [2.2724e-7, 3.9847383156, 1047.7473117547], + [1.6392e-7, 3.56456119782, 5856.4776591154], + [1.8141e-7, 4.98367470262, 6283.0758499914], + [1.4443e-7, 3.70275614915, 9437.762934887], + [1.4304e-7, 3.41117857526, 10213.285546211], + [1.1246e-7, 4.82820690527, 14143.4952424306], + [1.09e-7, 2.08574562329, 6812.766815086], + [9.714e-8, 3.47303947751, 4694.0029547076], + [1.0367e-7, 4.05663927945, 71092.88135493269], + [8.775e-8, 4.44016515666, 5753.3848848968], + [8.366e-8, 4.99251512183, 7084.8967811152], + [6.921e-8, 4.32559054073, 6275.9623029906], + [9.145e-8, 1.14182646613, 6620.8901131878], + [7.194e-8, 3.60193205744, 529.6909650946], + [7.698e-8, 5.55425745881, 167621.5758508619], + [5.285e-8, 2.48446991536, 4705.7323075436], + [5.208e-8, 6.24992674532, 18073.7049386502], + [4.529e-8, 2.33827747356, 6309.3741697912], + [5.579e-8, 4.41023653719, 7860.4193924392], + [4.743e-8, 0.70995680136, 5884.9268465832], + [4.301e-8, 1.10255777773, 6681.2248533996], + [3.849e-8, 1.82229412532, 5486.777843175], + [4.093e-8, 5.11700141197, 13367.9726311066], + [3.681e-8, 0.43793170336, 3154.6870848956], + [3.42e-8, 5.42034800952, 6069.7767545534], + [3.617e-8, 6.04641937568, 3930.2096962196], + [3.67e-8, 4.58210192227, 12194.0329146209], + [2.918e-8, 1.95463881136, 10977.078804699], + [2.797e-8, 5.61259274877, 11790.6290886588], + [2.502e-8, 0.60499729368, 6496.3749454294], + [2.319e-8, 5.01648216088, 1059.3819301892], + [2.684e-8, 1.39470396487, 22003.9146348698], + [2.428e-8, 3.24183056545, 78051.5857313169], + [2.12e-8, 4.30691000285, 5643.1785636774], + [2.257e-8, 3.15557225087, 90617.7374312997], + [1.813e-8, 3.75574218286, 3340.6124266998], + [2.226e-8, 2.79699346673, 12036.4607348882], + [1.888e-8, 0.86991545944, 8635.9420037632], + [1.517e-8, 1.9585205571, 398.1490034082], + [1.581e-8, 3.19976230948, 5088.6288397668], + [1.421e-8, 6.25530883828, 2544.3144198834], + [1.595e-8, 0.25619915132, 17298.1823273262], + [1.391e-8, 4.69964175574, 7058.5984613154], + [1.478e-8, 2.81808207569, 25934.1243310894], + [1.481e-8, 3.6582355461, 11506.7697697936], + [1.693e-8, 4.95689385293, 156475.2902479957], + [1.183e-8, 1.29343060777, 775.522611324], + [1.114e-8, 2.37889311847, 3738.761430108], + [9.94e-9, 4.30088900425, 9225.539273283], + [9.24e-9, 3.06451026809, 4164.311989613], + [8.67e-9, 0.55606931068, 8429.2412664666], + [9.88e-9, 5.97286104208, 7079.3738568078], + [8.24e-9, 1.50984806177, 10447.3878396044], + [9.15e-9, 0.12635654605, 11015.1064773348], + [7.42e-9, 1.99159139281, 26087.9031415742], + [1.039e-8, 3.14159265359, 0], + [8.5e-9, 4.24120016095, 29864.334027309], + [7.55e-9, 2.89631873314, 4732.0306273434], + [7.14e-9, 1.37548118605, 2146.1654164752], + [7.08e-9, 1.91406542362, 8031.0922630584], + [7.46e-9, 0.57893808622, 796.2980068164], + [8.02e-9, 5.12339137235, 2942.4634232916], + [7.51e-9, 1.67479850166, 21228.3920235458], + [6.02e-9, 4.099765389, 64809.80550494129], + [5.94e-9, 3.49580704849, 16496.3613962024], + [5.92e-9, 4.59481504319, 4690.4798363586], + [5.3e-9, 5.73979295194, 8827.3902698748], + [5.03e-9, 5.66433137112, 33794.5437235286], + [4.83e-9, 1.57106522322, 801.8209311238], + [4.38e-9, 0.0670773372, 3128.3887650958], + [4.23e-9, 2.86944596145, 12566.1516999828], + [5.04e-9, 3.2620766916, 7632.9432596502], + [5.52e-9, 1.02926440457, 239762.20451754928], + [4.27e-9, 3.67434378208, 213.299095438], + [4.04e-9, 1.4619329736, 15720.8387848784], + [5.03e-9, 4.85802444134, 6290.1893969922], + [4.17e-9, 0.81920713533, 5216.5803728014], + [3.65e-9, 0.01002966145, 12168.0026965746], + [3.63e-9, 1.28376436579, 6206.8097787158], + [3.53e-9, 4.7005913311, 7234.794256242], + [4.15e-9, 0.96862624176, 4136.9104335162], + [3.87e-9, 3.09145061418, 25158.6017197654], + [3.73e-9, 2.65119262808, 7342.4577801806], + [3.61e-9, 2.97762937735, 9623.6882766912], + [4.18e-9, 3.75759994446, 5230.807466803], + [3.96e-9, 1.22507712354, 6438.4962494256], + [3.22e-9, 1.21162178805, 8662.240323563], + [2.84e-9, 5.64170320179, 1589.0728952838], + [3.79e-9, 1.72248432756, 14945.3161735544], + [3.2e-9, 3.94161159658, 7330.8231617461], + [3.13e-9, 5.47602376451, 1194.4470102246], + [2.92e-9, 1.38971327568, 11769.8536931664], + [3.05e-9, 0.80429352049, 37724.7534197482], + [2.57e-9, 5.81382810029, 426.598190876], + [2.65e-9, 6.10358507671, 6836.6452528338], + [2.5e-9, 4.56452895547, 7477.522860216], + [2.66e-9, 2.62926282354, 7238.6755916], + [2.63e-9, 6.22089501237, 6133.5126528568], + [3.06e-9, 2.79682380532, 1748.016413067], + [2.36e-9, 2.46093023707, 11371.7046897582], + [3.16e-9, 1.62662805006, 250908.4901204155], + [2.16e-9, 3.68721275185, 5849.3641121146], + [2.3e-9, 0.36165162947, 5863.5912061162], + [2.33e-9, 5.03509933618, 20426.571092422], + [2e-9, 5.86073159059, 4535.0594369244], + [2.77e-9, 4.65400292395, 82239.1669577989], + [2.09e-9, 3.72323200803, 10973.55568635], + [1.99e-9, 5.05186622555, 5429.8794682394], + [2.56e-9, 2.40923279886, 19651.048481098], + [2.1e-9, 4.50691909144, 29088.811415985], + [1.81e-9, 6.00294783127, 4292.3308329504], + [2.49e-9, 0.12900984422, 154379.7956244863], + [2.09e-9, 3.87759458541, 17789.845619785], + [2.25e-9, 3.18339652605, 18875.525869774], + [1.91e-9, 4.53897489216, 18477.1087646123], + [1.72e-9, 2.0969418273, 13095.8426650774], + [1.82e-9, 3.16107943487, 16730.4636895958], + [1.88e-9, 2.22746128596, 41654.9631159678], + [1.64e-9, 5.18686274999, 5481.2549188676], + [1.6e-9, 2.4929885502, 12592.4500197826], + [1.55e-9, 1.59595438224, 10021.8372800994], + [1.35e-9, 0.21349051305, 10988.808157535], + [1.78e-9, 3.80375178044, 23581.2581773176], + [1.23e-9, 1.66800739151, 15110.4661198662], + [1.22e-9, 2.72678272224, 18849.2275499742], + [1.26e-9, 1.17675512872, 14919.0178537546], + [1.42e-9, 3.95053440992, 337.8142631964], + [1.16e-9, 6.06340906212, 6709.6740408674], + [1.37e-9, 3.52143246244, 12139.5535091068], + [1.36e-9, 2.92179113491, 32217.2001810808], + [1.1e-9, 3.51203379263, 18052.9295431578], + [1.47e-9, 4.63371971408, 22805.7355659936], + [1.08e-9, 5.45280815225, 7.1135470008], + [1.48e-9, 0.65447253687, 95480.9471841745], + [1.19e-9, 5.92110458985, 33019.0211122046], + [1.1e-9, 5.34824206403, 639.897286314], + [1.06e-9, 3.71081682614, 14314.1681130498], + [1.39e-9, 6.17607198262, 24356.7807886416], + [1.18e-9, 5.59738712949, 161338.5000008705], + [1.17e-9, 3.6506527164, 45585.1728121874], + [1.27e-9, 4.74596574209, 49515.382508407], + [1.2e-9, 1.04211499785, 6915.8595893046], + [1.2e-9, 5.60638811846, 5650.2921106782], + [1.15e-9, 3.10668213303, 14712.317116458], + [9.9e-10, 0.6901893993, 12779.4507954208], + [9.7e-10, 1.07908724794, 9917.6968745098], + [9.3e-10, 2.62295197146, 17260.1546546904], + [9.9e-10, 4.45774681732, 4933.2084403326], + [1.23e-9, 1.37488921994, 28286.9904848612], + [1.21e-9, 5.19767249869, 27511.4678735372], + [1.05e-9, 0.87192268229, 77375.95720492408], + [8.7e-10, 3.9363781295, 17654.7805397496], + [1.22e-9, 2.2395606868, 83997.09113559539], + [8.7e-10, 4.18201600921, 22779.4372461938], + [1.04e-9, 4.59580877285, 1349.8674096588], + [1.02e-9, 2.83545248595, 12352.8526045448], + [1.02e-9, 3.97386522171, 10818.1352869158], + [1.01e-9, 4.32892825818, 36147.4098773004], + [9.4e-10, 5.00001709338, 150192.2143980043], + [7.7e-10, 3.971993693, 1592.5960136328], + [1e-9, 6.07733097102, 26735.9452622132], + [8.6e-10, 5.2602963825, 28313.288804661], + [9.3e-10, 4.31900620254, 44809.6502008634], + [7.6e-10, 6.22743405935, 13521.7514415914], + [7.2e-10, 1.55820597747, 6256.7775301916], + [8.2e-10, 4.95202664555, 10575.4066829418], + [8.2e-10, 1.69647647075, 1990.745017041], + [7.5e-10, 2.29836095644, 3634.6210245184], + [7.5e-10, 2.66367876557, 16200.7727245012], + [8.7e-10, 0.26630214764, 31441.6775697568], + [7.7e-10, 2.25530952876, 5235.3285382367], + [7.6e-10, 1.09869730334, 12903.9659631792], + [5.8e-10, 4.28246137794, 12559.038152982], + [6.4e-10, 5.51112829602, 173904.65170085328], + [5.6e-10, 2.60133794851, 73188.3759784421], + [5.5e-10, 5.81483150022, 143233.51002162008], + [5.4e-10, 3.38482031504, 323049.11878710287], + [3.9e-10, 3.28500401937, 71768.50988132549], + [3.9e-10, 3.11239910096, 96900.81328129109] + ], + "1": [ + [0.00227777722, 3.4137662053, 6283.0758499914], + [0.00003805678, 3.37063423795, 12566.1516999828], + [0.00003619589, 0, 0], + [7.1542e-7, 3.32777549735, 18849.2275499742], + [7.655e-8, 1.79489607186, 5223.6939198022], + [8.107e-8, 3.89190403643, 5507.5532386674], + [6.456e-8, 5.1978942475, 2352.8661537718], + [3.894e-8, 2.15568517178, 6279.5527316424], + [3.892e-8, 1.53021064904, 6286.5989683404], + [3.897e-8, 4.87293945629, 10213.285546211], + [3.812e-8, 1.43523182316, 12036.4607348882], + [3.577e-8, 2.32913869227, 83996.84731811189], + [3.57e-8, 4.92637739003, 71430.69561812909], + [3.494e-8, 2.20864641831, 529.6909650946], + [2.421e-8, 6.22876183393, 7860.4193924392], + [2.056e-8, 3.06747139741, 14143.4952424306], + [1.399e-8, 0.50107877909, 6309.3741697912], + [1.417e-8, 3.28454570977, 25132.3033999656], + [1.544e-8, 1.82062047625, 5856.4776591154], + [1.457e-8, 1.75339303307, 5884.9268465832], + [1.497e-8, 2.19673914456, 9437.762934887], + [1.549e-8, 5.73650061398, 17789.845619785], + [1.277e-8, 3.9672171733, 4705.7323075436], + [1.038e-8, 2.9481870117, 6256.7775301916], + [1.018e-8, 2.24114547164, 6681.2248533996], + [1.021e-8, 1.4679502613, 11790.6290886588], + [9.16e-9, 3.72965830745, 1059.3819301892], + [1.156e-8, 6.04591336669, 398.1490034082], + [1.24e-8, 0.77195902957, 6812.766815086], + [1.115e-8, 3.92255876225, 12168.0026965746], + [9.08e-9, 1.78447918237, 3930.2096962196], + [8.33e-9, 0.09941579828, 11506.7697697936], + [7.9e-9, 2.45555993228, 775.522611324], + [6.66e-9, 4.40761401665, 5753.3848848968], + [5.2e-9, 1.60179602491, 4694.0029547076], + [3.82e-9, 0.26754532042, 1577.3435424478], + [4.05e-9, 1.97558286872, 6283.0085396886], + [4.05e-9, 1.53147989887, 6283.14316029419], + [3.88e-9, 2.59563818411, 7058.5984613154], + [3.41e-9, 3.61275156842, 13367.9726311066], + [2.8e-9, 4.63052251735, 796.2980068164], + [2.76e-9, 0.43350778219, 7079.3738568078], + [3.11e-9, 5.28219636656, 17260.1546546904], + [2.75e-9, 5.27597553634, 11769.8536931664], + [2.86e-9, 2.98639716345, 6275.9623029906], + [2.51e-9, 2.81315684448, 6290.1893969922], + [2.39e-9, 5.77837903893, 10977.078804699], + [2.28e-9, 0.14375973844, 3738.761430108], + [2.27e-9, 2.51020991853, 7084.8967811152], + [2.11e-9, 4.7202946547, 6496.3749454294], + [2.34e-9, 3.1153527401, 709.9330485583], + [2.34e-9, 0.5707581762, 11856.2186514245], + [2.37e-9, 2.38791907394, 213.299095438], + [2.27e-9, 1.12059781634, 12352.8526045448], + [1.69e-9, 3.20148089605, 5486.777843175], + [1.59e-9, 3.14604135756, 8827.3902698748], + [1.6e-9, 1.14784478002, 5643.1785636774], + [1.44e-9, 5.23285657431, 78051.5857313169], + [1.44e-9, 1.16454654602, 90617.7374312997], + [1.44e-9, 3.81203756929, 6262.300454499], + [1.43e-9, 5.97809021355, 6303.8512454838], + [1.38e-9, 4.29829933273, 1589.0728952838], + [1.61e-9, 3.03298851492, 20426.571092422], + [1.65e-9, 5.09134896587, 17298.1823273262], + [1.28e-9, 4.41590143012, 6127.6554505572], + [1.58e-9, 2.00984506334, 5230.807466803], + [1.3e-9, 1.44170683802, 12569.6748183318], + [1.25e-9, 1.69950379498, 3128.3887650958], + [1.52e-9, 4.96946111415, 65147.6197681377], + [1.31e-9, 4.24961399629, 6282.0955289232], + [1.31e-9, 5.54051222995, 6284.0561710596], + [1.61e-9, 3.32421999691, 6283.3196674749], + [1.23e-9, 2.93221463795, 15720.8387848784], + [1.52e-9, 1.56488157456, 18319.5365848796], + [1.14e-9, 1.89110005546, 18073.7049386502], + [1.13e-9, 4.95214866677, 4136.9104335162], + [1.11e-9, 4.79699611405, 8429.2412664666], + [1.18e-9, 3.06184958762, 22003.9146348698], + [1.28e-9, 2.09693027395, 12562.6285816338], + [1.38e-9, 0.84648544836, 6069.7767545534], + [1e-9, 0.41938790104, 5481.2549188676], + [1.01e-9, 4.43791289246, 19651.048481098], + [1.16e-9, 1.87002428935, 77713.7714681205], + [9.5e-10, 0.68638183645, 3340.6124266998], + [1.04e-9, 4.90822646457, 8635.9420037632], + [1.14e-9, 0.36008214928, 23543.23050468179], + [9.1e-10, 1.1761121931, 9225.539273283], + [9.1e-10, 2.74682631104, 5216.5803728014], + [8.6e-10, 3.09315282195, 1194.4470102246], + [9.3e-10, 6.2764351319, 12559.038152982], + [8.7e-10, 3.64926989547, 7.1135470008], + [8.3e-10, 0.37008971174, 11371.7046897582], + [9.8e-10, 4.68473306376, 167283.7615876655], + [9.8e-10, 0.99865886857, 154717.6098876827], + [8.6e-10, 4.41152307486, 25934.1243310894], + [9.8e-10, 4.98209568932, 16496.3613962024], + [8.5e-10, 2.35438163823, 3154.6870848956], + [8.3e-10, 0.24859477658, 21228.3920235458], + [7.6e-10, 5.46661600296, 29864.334027309], + [6.9e-10, 3.22045334237, 801.8209311238], + [6.8e-10, 2.19928242745, 37724.7534197482], + [7e-10, 5.33711014698, 2544.3144198834], + [5.5e-10, 5.37872238211, 11015.1064773348], + [5.1e-10, 5.03600618727, 5863.5912061162], + [5.9e-10, 3.54984809612, 4535.0594369244], + [5.3e-10, 1.50812064137, 7342.4577801806], + [4.4e-10, 1.33712241647, 4164.311989613], + [5.5e-10, 5.38460045253, 7477.522860216], + [4.9e-10, 5.61844340512, 24072.9214697764], + [5.7e-10, 6.17973522898, 8031.0922630584], + [5.2e-10, 4.24379064407, 5088.6288397668], + [4.1e-10, 3.41960196246, 26087.9031415742], + [5.2e-10, 1.68150981131, 25158.6017197654], + [5.3e-10, 0.11041408311, 29088.811415985], + [4.3e-10, 0.53354396923, 2146.1654164752], + [5e-10, 0.60270799844, 33794.5437235286], + [4.5e-10, 1.69577010458, 6702.5604938666], + [3.7e-10, 6.09033460795, 64809.80550494129], + [4.4e-10, 2.67993061247, 15110.4661198662], + [4.7e-10, 3.62555676035, 41654.9631159678], + [3.6e-10, 0.47219666269, 13095.8426650774], + [3.5e-10, 5.99520523215, 23581.2581773176], + [4.3e-10, 4.08726331262, 156137.47598479927], + [4.3e-10, 5.17376496602, 18422.62935909819], + [3.4e-10, 2.14460100274, 4933.2084403326], + [3e-10, 4.12992793541, 426.598190876], + [3.6e-10, 2.28596930002, 90279.92316810328], + [3.2e-10, 0.81117747619, 26.2983197998], + [2.8e-10, 4.07036560467, 14712.317116458], + [2.5e-10, 1.92905243842, 1748.016413067], + [2.4e-10, 5.06152880842, 16730.4636895958], + [2.3e-10, 3.24047012195, 31415.379249957], + [2.7e-10, 3.90672018305, 18451.07854656599], + [2.1e-10, 3.51419811826, 10447.3878396044] + ], + "2": [ + [0.00009721424, 5.1519280992, 6283.0758499914], + [0.00000233002, 3.14159265359, 0], + [0.00000134188, 0.64406212977, 12566.1516999828], + [6.504e-8, 1.07333397797, 18849.2275499742], + [1.662e-8, 1.62746869551, 84334.66158130829], + [6.35e-9, 3.51985338656, 6279.5527316424], + [4.92e-9, 2.41382223971, 1047.7473117547], + [3.07e-9, 6.10181422085, 5223.6939198022], + [3.22e-9, 0.37660897389, 6286.5989683404], + [3.26e-9, 2.35727931602, 5507.5532386674], + [2.74e-9, 1.65307581765, 7860.4193924392], + [2.28e-9, 1.14082932988, 25132.3033999656], + [2.02e-9, 0.4983668253, 2352.8661537718], + [2.01e-9, 0.155527656, 10213.285546211], + [1.67e-9, 3.98005254015, 529.6909650946], + [1.7e-9, 5.28668290523, 6256.7775301916], + [1.66e-9, 3.04613930284, 12036.4607348882], + [1.53e-9, 4.06779216239, 83996.84731811189], + [1.5e-9, 3.18772213951, 71430.69561812909], + [1.2e-9, 3.13558669517, 5884.9268465832], + [1.23e-9, 4.17102530625, 6309.3741697912], + [1e-9, 1.46356761368, 11506.7697697936], + [1e-9, 3.00322421365, 11790.6290886588], + [7.7e-10, 1.65643898948, 4705.7323075436], + [6.8e-10, 6.03791904123, 6812.766815086], + [7.5e-10, 4.85191600582, 14143.4952424306], + [7.9e-10, 4.12628805658, 5753.3848848968], + [6.4e-10, 2.7194416046, 6127.6554505572], + [6.3e-10, 0.78655326011, 6438.4962494256], + [7.5e-10, 0.84213523741, 167621.5758508619], + [5.1e-10, 4.55059044701, 5486.777843175], + [5e-10, 5.29314320585, 7079.3738568078], + [4.5e-10, 0.33147576416, 775.522611324], + [4.3e-10, 3.6179371164, 1577.3435424478], + [5.7e-10, 6.15295833679, 12194.0329146209], + [4.5e-10, 1.18274698508, 17789.845619785], + [4.7e-10, 1.11643162773, 398.1490034082], + [4.7e-10, 5.5298423843, 12168.0026965746], + [4.2e-10, 2.6437530062, 10988.808157535], + [3.7e-10, 0.31226891972, 6681.2248533996], + [4.6e-10, 3.38617099014, 156475.2902479957], + [3.3e-10, 1.26266496002, 6290.1893969922], + [3.3e-10, 2.25067065498, 6275.9623029906], + [2.7e-10, 1.72859626293, 1059.3819301892], + [2.8e-10, 2.88681054153, 796.2980068164], + [3e-10, 5.52021264181, 7058.5984613154], + [2.1e-10, 6.22275008403, 6069.7767545534], + [2.4e-10, 5.83690442827, 6282.0955289232], + [2.4e-10, 3.95322179797, 6284.0561710596], + [2.1e-10, 4.87022458966, 3738.761430108], + [2.1e-10, 3.58048145762, 6496.3749454294], + [2.2e-10, 1.97770318395, 7.1135470008], + [1.9e-10, 3.4597988877, 4136.9104335162], + [1.5e-10, 2.81379880771, 1589.0728952838], + [1.5e-10, 1.61313151838, 1194.4470102246], + [1.5e-10, 0.63083434831, 11769.8536931664], + [1.9e-10, 0.28082047767, 17260.1546546904], + [1.7e-10, 1.35165136146, 78051.5857313169], + [1.5e-10, 2.3094159956, 11856.2186514245], + [1.2e-10, 1.12997370513, 90617.7374312997], + [1.2e-10, 0.00611601597, 18073.7049386502], + [1.2e-10, 1.70058636365, 12559.038152982] + ], + "3": [ + [0.00000275993, 0.59480097092, 6283.0758499914], + [1.7034e-7, 3.14159265359, 0], + [3.617e-8, 0.11750575325, 12566.1516999828], + [3.39e-9, 5.66087461682, 18849.2275499742], + [5.6e-10, 5.02765554835, 6279.5527316424], + [1.9e-10, 5.99007646261, 6256.7775301916], + [1.8e-10, 3.80004734567, 6309.3741697912], + [1.8e-10, 1.21049250774, 6127.6554505572], + [1.8e-10, 2.29734567137, 6438.4962494256], + [1.5e-10, 4.72881467263, 6286.5989683404], + [1.2e-10, 0.41481671808, 83996.84731811189], + [1.3e-10, 5.54637369296, 25132.3033999656], + [1e-10, 2.91937214232, 71430.69561812909], + [6e-11, 2.1417324121, 11856.2186514245] + ], + "4": [ + [5.745e-8, 2.26734029843, 6283.0758499914], + [8.7e-9, 0, 0], + [1.19e-9, 4.26807972611, 12566.1516999828], + [1.7e-10, 4.0742262044, 18849.2275499742], + [5e-11, 0.84308705203, 1047.7473117547], + [5e-11, 0.05711572303, 84334.66158130829] + ], + "5": [ + [1.14e-9, 4.31455980099, 6283.0758499914], + [2.4e-10, 0, 0] + ] + }, + R: { + "0": [ + [1.00013988784, 0, 0], + [0.01670699632, 3.09846350258, 6283.0758499914], + [0.00013956024, 3.05524609456, 12566.1516999828], + [0.0000308372, 5.19846674381, 77713.7714681205], + [0.00001628463, 1.17387558054, 5753.3848848968], + [0.00001575572, 2.84685214877, 7860.4193924392], + [0.00000924799, 5.45292236722, 11506.7697697936], + [0.00000542439, 4.56409151453, 3930.2096962196], + [0.0000047211, 3.66100022149, 5884.9268465832], + [0.0000032878, 5.89983686142, 5223.6939198022], + [0.00000345969, 0.96368627272, 5507.5532386674], + [0.00000306784, 0.29867139512, 5573.1428014331], + [0.00000174844, 3.01193636733, 18849.2275499742], + [0.00000243181, 4.2734953079, 11790.6290886588], + [0.00000211836, 5.84714461348, 1577.3435424478], + [0.0000018574, 5.02199710705, 10977.078804699], + [0.00000109835, 5.0551063586, 5486.777843175], + [9.8316e-7, 0.88681311278, 6069.7767545534], + [8.65e-7, 5.68956418946, 15720.8387848784], + [8.5831e-7, 1.27079125277, 161000.6857376741], + [6.2917e-7, 0.92177053978, 529.6909650946], + [5.7056e-7, 2.01374292245, 83996.84731811189], + [6.4908e-7, 0.27251341435, 17260.1546546904], + [4.9384e-7, 3.24501240359, 2544.3144198834], + [5.5736e-7, 5.2415979917, 71430.69561812909], + [4.252e-7, 6.01110257982, 6275.9623029906], + [4.6966e-7, 2.57799853213, 775.522611324], + [3.8963e-7, 5.36063832897, 4694.0029547076], + [4.4666e-7, 5.53715663816, 9437.762934887], + [3.5661e-7, 1.67447135798, 12036.4607348882], + [3.1922e-7, 0.18368299942, 5088.6288397668], + [3.1846e-7, 1.77775642078, 398.1490034082], + [3.3193e-7, 0.24370221704, 7084.8967811152], + [3.8245e-7, 2.39255343973, 8827.3902698748], + [2.8468e-7, 1.21344887533, 6286.5989683404], + [3.7486e-7, 0.82961281844, 19651.048481098], + [3.6957e-7, 4.90107587287, 12139.5535091068], + [3.4537e-7, 1.84270693281, 2942.4634232916], + [2.6275e-7, 4.58896863104, 10447.3878396044], + [2.4596e-7, 3.78660838036, 8429.2412664666], + [2.3587e-7, 0.26866098169, 796.2980068164], + [2.7795e-7, 1.89934427832, 6279.5527316424], + [2.3927e-7, 4.99598548145, 5856.4776591154], + [2.0345e-7, 4.65282190725, 2146.1654164752], + [2.3287e-7, 2.80783632869, 14143.4952424306], + [2.2099e-7, 1.95002636847, 3154.6870848956], + [1.9509e-7, 5.38233922479, 2352.8661537718], + [1.7958e-7, 0.1987136996, 6812.766815086], + [1.7178e-7, 4.43322156854, 10213.285546211], + [1.619e-7, 5.23159323213, 17789.845619785], + [1.7315e-7, 6.15224075188, 16730.4636895958], + [1.3814e-7, 5.18962074032, 8031.0922630584], + [1.8834e-7, 0.67280058021, 149854.4001348079], + [1.833e-7, 2.25348717053, 23581.2581773176], + [1.3639e-7, 3.68511810757, 4705.7323075436], + [1.3142e-7, 0.65267698994, 13367.9726311066], + [1.0414e-7, 4.33285688501, 11769.8536931664], + [9.978e-8, 4.20126336356, 6309.3741697912], + [1.017e-7, 1.59366684542, 4690.4798363586], + [7.564e-8, 2.62560597391, 6256.7775301916], + [9.654e-8, 3.67583728703, 27511.4678735372], + [6.743e-8, 0.56269927047, 3340.6124266998], + [8.743e-8, 6.06359123461, 1748.016413067], + [7.786e-8, 3.67371235367, 12168.0026965746], + [6.633e-8, 5.66149277789, 11371.7046897582], + [7.712e-8, 0.31242577788, 7632.9432596502], + [6.586e-8, 3.13580054586, 801.8209311238], + [7.46e-8, 5.6475806666, 11926.2544136688], + [6.933e-8, 2.92384586372, 6681.2248533996], + [6.805e-8, 1.42327153767, 23013.5395395872], + [6.118e-8, 5.13395999022, 1194.4470102246], + [6.477e-8, 2.64986648493, 19804.8272915828], + [5.233e-8, 4.62432817299, 6438.4962494256], + [6.147e-8, 3.02863936662, 233141.3144043615], + [4.608e-8, 1.72194702724, 7234.794256242], + [4.221e-8, 1.55697533726, 7238.6755916], + [5.31e-8, 2.40821524293, 11499.6562227928], + [5.128e-8, 5.3239896569, 11513.8833167944], + [4.77e-8, 0.2555431173, 11856.2186514245], + [5.519e-8, 2.09089153789, 17298.1823273262], + [5.625e-8, 4.34052903053, 90955.5516944961], + [4.578e-8, 4.4656964157, 5746.271337896], + [3.788e-8, 4.9072829481, 4164.311989613], + [5.337e-8, 5.09957905103, 31441.6775697568], + [3.967e-8, 1.20054555175, 1349.8674096588], + [4.005e-8, 3.02853885902, 1059.3819301892], + [3.48e-8, 0.76066308841, 10973.55568635], + [4.232e-8, 1.05485713117, 5760.4984318976], + [4.582e-8, 3.76570026763, 6386.16862421], + [3.335e-8, 3.13829943354, 6836.6452528338], + [3.42e-8, 3.00043974511, 4292.3308329504], + [3.595e-8, 5.70703236079, 5643.1785636774], + [3.236e-8, 4.16387400645, 9917.6968745098], + [4.154e-8, 2.59940749519, 7058.5984613154], + [3.362e-8, 4.54577164994, 4732.0306273434], + [2.978e-8, 1.3056126882, 6283.14316029419], + [2.765e-8, 0.51311975671, 26.2983197998], + [2.807e-8, 5.66230537649, 8635.9420037632], + [2.927e-8, 5.7378783408, 16200.7727245012], + [3.167e-8, 1.691817599, 11015.1064773348], + [2.598e-8, 2.96244118358, 25132.3033999656], + [3.519e-8, 3.62639325753, 244287.60000722768], + [2.676e-8, 4.20727719487, 18073.7049386502], + [2.978e-8, 1.74971565805, 6283.0085396886], + [2.287e-8, 1.06976449088, 14314.1681130498], + [2.863e-8, 5.92838917309, 14712.317116458], + [3.071e-8, 0.23793217, 35371.8872659764], + [2.656e-8, 0.89959301615, 12352.8526045448], + [2.415e-8, 2.799751768, 709.9330485583], + [2.811e-8, 3.51513864541, 21228.3920235458], + [1.977e-8, 2.61358297551, 951.7184062506], + [2.548e-8, 2.47684686575, 6208.2942514241], + [1.999e-8, 0.56090396506, 7079.3738568078], + [2.305e-8, 1.05376463592, 22483.84857449259], + [1.855e-8, 2.86093570752, 5216.5803728014], + [2.157e-8, 1.31395211105, 154717.6098876827], + [1.97e-8, 4.36931551625, 167283.7615876655], + [1.754e-8, 2.14452400686, 6290.1893969922], + [1.628e-8, 5.85704450617, 10984.1923516998], + [2.154e-8, 6.03828353794, 10873.9860304804], + [1.714e-8, 3.70158195222, 1592.5960136328], + [1.541e-8, 6.21599512982, 23543.23050468179], + [1.602e-8, 1.99860679677, 10969.9652576982], + [1.712e-8, 1.34295218697, 3128.3887650958], + [1.647e-8, 5.54948299069, 6496.3749454294], + [1.495e-8, 5.43980459648, 155.4203994342], + [1.827e-8, 5.91227480351, 3738.761430108], + [1.726e-8, 2.16765465036, 10575.4066829418], + [1.532e-8, 5.35683107063, 13521.7514415914], + [1.824e-8, 1.66056145084, 39302.096962196], + [1.605e-8, 1.90930973224, 6133.5126528568], + [1.282e-8, 2.46013372544, 13916.0191096416], + [1.211e-8, 4.4136063155, 3894.1818295422], + [1.394e-8, 1.7780192925, 9225.539273283], + [1.571e-8, 4.95512957606, 25158.6017197654], + [1.205e-8, 1.19212756308, 3.523118349], + [1.132e-8, 2.69830084955, 6040.3472460174], + [1.504e-8, 5.77577388271, 18209.33026366019], + [1.393e-8, 1.62625077326, 5120.6011455836], + [1.081e-8, 2.93726744446, 17256.6315363414], + [1.232e-8, 0.71651766504, 143571.32428481648], + [1.087e-8, 0.99769687961, 955.5997416086], + [1.068e-8, 5.28472576591, 65147.6197681377], + [1.169e-8, 3.11663802316, 14945.3161735544], + [9.75e-9, 5.1088726078, 6172.869528772], + [1.202e-8, 4.02992510403, 553.5694028424], + [9.79e-9, 2.00000879106, 15110.4661198662], + [9.62e-9, 4.023807714, 6282.0955289232], + [9.99e-9, 3.6264300279, 6262.300454499], + [1.03e-8, 5.84987815239, 213.299095438], + [1.014e-8, 2.84227679965, 8662.240323563], + [1.185e-8, 1.51330629149, 17654.7805397496], + [9.67e-9, 2.67081017562, 5650.2921106782], + [1.222e-8, 2.65423784904, 88860.05707098669], + [9.86e-9, 2.36212814824, 6206.8097787158], + [1.034e-8, 0.13634950642, 11712.9553182308], + [1.103e-8, 3.08477302937, 43232.3066584156], + [7.81e-9, 2.53374971725, 16496.3613962024], + [1.019e-8, 3.04569392376, 6037.244203762], + [7.95e-9, 5.80662989126, 5230.807466803], + [8.13e-9, 3.57702871938, 10177.2576795336], + [9.62e-9, 5.31470594766, 6284.0561710596], + [7.17e-9, 5.95797471837, 12559.038152982], + [9.67e-9, 2.74413738053, 6244.9428143536], + [9.21e-9, 0.1016016083, 29088.811415985], + [7.19e-9, 5.91788189939, 4136.9104335162], + [6.88e-9, 3.89489045092, 1589.0728952838], + [7.72e-9, 4.05505380285, 6127.6554505572], + [7.06e-9, 5.49323197725, 22003.9146348698], + [6.65e-9, 1.60002747134, 11087.2851259184], + [6.9e-9, 4.50539825729, 426.598190876], + [8.54e-9, 3.2610464506, 20426.571092422], + [6.56e-9, 4.3241018294, 16858.4825329332], + [8.4e-9, 2.59572585212, 28766.924424484], + [6.86e-9, 0.61944033771, 11403.676995575], + [7e-9, 3.40901412473, 7.1135470008], + [7.28e-9, 0.04050185963, 5481.2549188676], + [6.53e-9, 1.0386945123, 6062.6632075526], + [5.59e-9, 4.79221805695, 20199.094959633], + [6.33e-9, 5.70229959167, 45892.73043315699], + [5.91e-9, 6.10986487621, 9623.6882766912], + [5.2e-9, 3.62310356479, 5333.9002410216], + [6.02e-9, 5.58381898589, 10344.2950653858], + [4.96e-9, 2.21027756314, 1990.745017041], + [6.91e-9, 1.96733114988, 12416.5885028482], + [6.4e-9, 1.59062417043, 18319.5365848796], + [6.25e-9, 3.82358168221, 13517.8701062334], + [4.75e-9, 1.1702590418, 12569.6748183318], + [6.6e-9, 5.08498512995, 283.8593188652], + [6.64e-9, 4.50029469969, 47162.5163546352], + [5.69e-9, 0.16318535463, 17267.26820169119], + [5.68e-9, 3.86100969474, 6076.8903015542], + [4.62e-9, 0.26368763517, 4590.910180489], + [5.35e-9, 4.83225423196, 18422.62935909819], + [4.66e-9, 0.75873879417, 7342.4577801806], + [5.41e-9, 3.07212190556, 226858.23855437007], + [6.1e-9, 1.53597089605, 33019.0211122046], + [6.17e-9, 2.62356328726, 11190.377900137], + [5.48e-9, 4.55798855803, 18875.525869774], + [6.33e-9, 4.60110281228, 66567.48586525429], + [5.87e-9, 5.78087907808, 632.7837393132], + [6.03e-9, 5.38458554802, 316428.22867391503], + [5.25e-9, 5.01522072363, 12132.439962106], + [4.69e-9, 0.59975173763, 21954.15760939799], + [5.48e-9, 3.50627043672, 17253.04110768959], + [5.02e-9, 0.98804327589, 11609.8625440122], + [5.68e-9, 1.98497313089, 7668.6374249425], + [4.82e-9, 1.62460405687, 12146.6670561076], + [3.91e-9, 3.68718382972, 18052.9295431578], + [4.57e-9, 3.7721489661, 156137.47598479927], + [4.01e-9, 5.2922154024, 15671.0817594066], + [4.69e-9, 1.80963351735, 12562.6285816338], + [5.14e-9, 3.37031288919, 20597.2439630412], + [4.52e-9, 5.66811219778, 10454.5013866052], + [3.75e-9, 4.98528185039, 9779.1086761254], + [5.23e-9, 0.97215560834, 155427.542936241], + [4.03e-9, 5.1394818977, 1551.045222648], + [3.72e-9, 3.69883738807, 9388.0059094152], + [3.67e-9, 4.43875659833, 4535.0594369244], + [4.06e-9, 4.20863156497, 12592.4500197826], + [3.62e-9, 2.55099560446, 242.728603974], + [4.71e-9, 4.61907324819, 5436.9930152402], + [3.88e-9, 4.960209284, 24356.7807886416], + [4.41e-9, 5.83872966262, 3496.032826134], + [3.49e-9, 6.16307810648, 19800.9459562248], + [3.56e-9, 0.2381908124, 5429.8794682394], + [3.46e-9, 5.60809622572, 2379.1644735716], + [3.8e-9, 2.72105213132, 11933.3679606696], + [4.32e-9, 0.24215988572, 17996.0311682222], + [3.78e-9, 5.22516848076, 7477.522860216], + [3.37e-9, 5.10885555836, 5849.3641121146], + [3.15e-9, 0.57827745123, 10557.5941608238], + [3.18e-9, 4.4994900732, 3634.6210245184], + [3.23e-9, 1.55850824803, 10440.2742926036], + [3.14e-9, 5.77154773334, 20.7753954924], + [3.03e-9, 2.34615580398, 4686.8894077068], + [4.14e-9, 5.9323760231, 51092.7260508548], + [3.62e-9, 2.17561997119, 28237.2334593894], + [2.88e-9, 0.18377405421, 13095.8426650774], + [2.77e-9, 5.1295220503, 13119.72110282519], + [3.25e-9, 6.18608287927, 6268.8487559898], + [2.73e-9, 0.30522428863, 23141.5583829246], + [2.67e-9, 5.76152585786, 5966.6839803348], + [3.45e-9, 2.94246040875, 36949.2308084242], + [2.53e-9, 5.20994580359, 24072.9214697764], + [3.42e-9, 5.76212804329, 16460.33352952499], + [3.07e-9, 6.01039067183, 22805.7355659936], + [2.61e-9, 2.00304796059, 6148.010769956], + [2.38e-9, 5.08241964961, 6915.8595893046], + [2.49e-9, 2.94762789744, 135.0650800354], + [3.06e-9, 3.89765478921, 10988.808157535], + [3.08e-9, 0.05451027736, 4701.1165017084], + [3.19e-9, 2.95712862064, 163096.18036118348], + [2.72e-9, 2.07967681309, 4804.209275927], + [2.09e-9, 4.43768461442, 6546.1597733642], + [2.17e-9, 0.73691592312, 6303.8512454838], + [2.03e-9, 0.32033085531, 25934.1243310894], + [2.05e-9, 5.22936478995, 20995.3929664494], + [2.13e-9, 0.20671418919, 28286.9904848612], + [1.97e-9, 0.4828613129, 16737.5772365966], + [2.3e-9, 6.06567392849, 6287.0080032545], + [2.19e-9, 1.291942163, 5326.7866940208], + [2.01e-9, 1.74700937253, 22743.4093795164], + [2.07e-9, 4.45440927276, 6279.4854213396], + [2.69e-9, 6.0564044503, 64471.99124174489], + [1.9e-9, 0.99261116842, 29296.6153895786], + [1.94e-9, 3.82656562755, 419.4846438752], + [2.62e-9, 5.26961924126, 522.5774180938], + [2.1e-9, 4.68618183158, 6254.6266625236], + [1.97e-9, 2.80624554186, 4933.2084403326], + [2.52e-9, 4.3622015462, 40879.4405046438], + [2.61e-9, 1.07241516738, 55022.9357470744], + [2.33e-9, 5.41751014958, 39609.6545831656], + [1.85e-9, 4.14324541379, 5642.1982426092], + [2.47e-9, 3.44855612987, 6702.5604938666], + [2.05e-9, 4.04424043226, 536.8045120954], + [1.91e-9, 3.15807087926, 16723.350142595], + [2.22e-9, 5.16259496507, 23539.7073863328], + [1.8e-9, 4.56214752149, 6489.2613984286], + [2.27e-9, 0.60156339452, 5905.7022420756], + [1.7e-9, 0.93185903228, 16062.1845261168], + [1.59e-9, 0.92751013112, 23937.856389741], + [1.57e-9, 4.69607868164, 6805.6532680852], + [2.18e-9, 0.8553337343, 16627.3709153772], + [1.69e-9, 0.94641052064, 3097.88382272579], + [2.07e-9, 4.88410451334, 6286.6662786432], + [1.6e-9, 4.95943826819, 10021.8372800994], + [1.75e-9, 6.12762824563, 239424.39025435288], + [1.73e-9, 3.13887234973, 6179.9830757728], + [1.57e-9, 3.62822057807, 18451.07854656599], + [2.06e-9, 5.74617821138, 3646.3503773544], + [1.57e-9, 4.67695912207, 6709.6740408674], + [1.46e-9, 3.09506069745, 4907.3020501456], + [1.65e-9, 2.2713912876, 10660.6869350424], + [1.44e-9, 3.96947747592, 6019.9919266186], + [1.71e-9, 5.91302216729, 6058.7310542895], + [1.44e-9, 2.1315565512, 26084.0218062162], + [1.51e-9, 0.67417383565, 2388.8940204492], + [1.96e-9, 1.67718461229, 2107.0345075424], + [1.46e-9, 5.10373877968, 10770.8932562618], + [1.87e-9, 1.23915444627, 19402.7969528166], + [1.37e-9, 1.26247412216, 12566.2190102856], + [1.91e-9, 5.03547476279, 263.0839233728], + [1.37e-9, 3.52825454595, 639.897286314], + [1.35e-9, 0.73840670927, 5017.508371365], + [1.64e-9, 2.39195095081, 6357.8574485587], + [1.68e-9, 0.05515907462, 9380.9596727172], + [1.61e-9, 1.15721259392, 26735.9452622132], + [1.44e-9, 1.76097645199, 5888.4499649322], + [1.31e-9, 2.51859277344, 6599.467719648], + [1.42e-9, 2.43802911123, 5881.4037282342], + [1.59e-9, 5.90325893762, 6281.5913772831], + [1.51e-9, 3.72338532519, 12669.2444742014], + [1.32e-9, 2.38417741883, 6525.8044539654], + [1.27e-9, 0.00254936441, 10027.9031957292], + [1.48e-9, 2.85102145528, 6418.1409300268], + [1.43e-9, 5.7446027956, 26087.9031415742], + [1.72e-9, 0.4128996224, 174242.4659640497], + [1.36e-9, 4.15497742275, 6311.5250374592], + [1.7e-9, 5.98194913129, 327574.51427678124], + [1.36e-9, 2.48430537541, 13341.6743113068], + [1.49e-9, 0.33002271275, 245.8316462294], + [1.65e-9, 2.496679246, 58953.145443294], + [1.23e-9, 1.67328384813, 32217.2001810808], + [1.23e-9, 3.45660563754, 6277.552925684], + [1.17e-9, 0.86065134175, 6245.0481773556], + [1.49e-9, 5.61358281003, 5729.506447149], + [1.28e-9, 0.71204006448, 103.0927742186], + [1.59e-9, 2.43166592149, 221995.02880149524], + [1.37e-9, 1.706577092, 12566.08438968], + [1.29e-9, 2.80667872683, 6016.4688082696], + [1.13e-9, 3.58302904101, 25685.872802808], + [1.09e-9, 3.26403795962, 6819.8803620868], + [1.22e-9, 0.34120688202, 1162.4747044078], + [1.06e-9, 1.59721172719, 17782.7320727842], + [1.44e-9, 2.28891651774, 12489.8856287072], + [1.37e-9, 5.82029768354, 44809.6502008634], + [1.34e-9, 1.26539983018, 5331.3574437408], + [1.03e-9, 5.96518130595, 6321.1035226272], + [1.09e-9, 0.33808549034, 11300.5842213564], + [1.29e-9, 5.8918727719, 12029.3471878874], + [1.22e-9, 5.77325634636, 11919.140866668], + [1.07e-9, 6.2499898935, 77690.75950573849], + [1.07e-9, 1.00535580713, 77736.78343050249], + [1.15e-9, 5.86963518266, 12721.572099417], + [1.02e-9, 5.66283467269, 5540.0857894588], + [1.43e-9, 0.24122178432, 4214.0690150848], + [1.43e-9, 0.88529649733, 7576.560073574], + [1.07e-9, 2.92124030351, 31415.379249957], + [1e-9, 5.99485644501, 4061.2192153944], + [1.03e-9, 2.41941934525, 5547.1993364596], + [1.04e-9, 4.44106051277, 2118.7638603784], + [1.1e-9, 0.37559635174, 5863.5912061162], + [1.24e-9, 2.55619029611, 12539.853380183], + [1.1e-9, 3.66952094465, 238004.5241572363], + [1.12e-9, 4.32512422724, 97238.62754448749], + [1.2e-9, 1.26895630075, 12043.574281889], + [9.7e-10, 5.42612959752, 7834.1210726394], + [9.4e-10, 2.56461130309, 19004.6479494084], + [1.05e-9, 5.68272475301, 16522.6597160022], + [1.17e-9, 3.65425622684, 34520.3093093808], + [1.08e-9, 1.24206843948, 84672.47584450469], + [9.8e-10, 0.13589994287, 11080.1715789176], + [9.7e-10, 2.46722096722, 71980.63357473118], + [9.5e-10, 5.36958330451, 6288.5987742988], + [9.6e-10, 0.20796618776, 18139.2945014159], + [1.11e-9, 5.01961920313, 11823.1616394502], + [9e-10, 2.72355843779, 26880.3198130326], + [9.9e-10, 0.90164266199, 18635.9284545362], + [1.26e-9, 4.78722177847, 305281.9430710488], + [1.24e-9, 5.00979495566, 172146.9713405403], + [9e-10, 4.50544881196, 40077.61957352], + [1.04e-9, 5.6367968071, 2787.0430238574], + [9.1e-10, 5.43564326147, 6272.0301497275], + [1e-9, 2.00639461597, 12323.4230960088], + [1.17e-9, 2.35555589778, 83286.91426955358], + [1.05e-9, 2.59824000109, 30666.1549584328], + [9e-10, 2.35779490026, 12491.3701014155], + [8.9e-10, 3.57152453732, 11720.0688652316], + [9.5e-10, 5.67015349858, 14919.0178537546], + [8.7e-10, 1.86043406047, 27707.5424942948], + [1.06e-9, 3.04150600352, 22345.2603761082], + [8.2e-10, 5.58298993353, 10241.2022911672], + [8.3e-10, 3.10607039533, 36147.4098773004], + [9.4e-10, 5.47749711149, 9924.8104215106], + [8.2e-10, 4.71988314145, 15141.390794312], + [9.6e-10, 3.89073946348, 6379.0550772092], + [1.1e-9, 4.92131611151, 5621.8429232104], + [1.1e-9, 4.89978492291, 72140.6286666874], + [9.7e-10, 5.20764563059, 6303.4311693902], + [8.5e-10, 1.61269222311, 33326.5787331742], + [9.3e-10, 1.32651591333, 23020.65308658799], + [9e-10, 0.5773301638, 26482.1708096244], + [7.8e-10, 3.99588630754, 11293.4706743556], + [1.06e-9, 3.92012705073, 62883.3551395136], + [9.8e-10, 2.94397773524, 316.3918696566], + [7.6e-10, 3.96310417608, 29026.48522950779], + [9.8e-10, 0.95914722366, 48739.859897083], + [7.8e-10, 1.97068528043, 90279.92316810328], + [7.6e-10, 0.23027966596, 21424.4666443034], + [7.9e-10, 1.46227790922, 8982.810669309], + [7.8e-10, 2.28840998832, 266.6070417218], + [7.1e-10, 1.5194076559, 33794.5437235286], + [7.6e-10, 0.22880641443, 57375.8019008462], + [9.7e-10, 0.39449562097, 24279.10701821359], + [7.5e-10, 2.77638584795, 12964.300703391], + [7.7e-10, 5.18846946344, 11520.9968637952], + [6.8e-10, 0.50006599129, 4274.5183108324], + [7.5e-10, 2.07323762803, 15664.03552270859], + [7.7e-10, 0.4666517878, 16207.886271502], + [8.1e-10, 4.10452219483, 161710.6187862324], + [7.1e-10, 3.91415328513, 7875.6718636242], + [8.1e-10, 0.91938383406, 74.7815985673], + [8.3e-10, 4.69916218791, 23006.42599258639], + [6.9e-10, 0.98999300277, 6393.2821712108], + [6.5e-10, 5.41938745446, 28628.3362260996], + [7.3e-10, 2.45564765251, 15508.6151232744], + [6.5e-10, 3.02336771694, 5959.570433334], + [6.4e-10, 0.18375587635, 1066.49547719], + [8e-10, 5.81239171612, 12341.8069042809], + [6.6e-10, 2.15105504851, 38.0276726358], + [6.7e-10, 5.14047250153, 9814.6041002912], + [6.2e-10, 2.43313614978, 10138.1095169486], + [6.8e-10, 2.24442548639, 24383.0791084414], + [7.8e-10, 1.39649333997, 9411.4646150872], + [5.9e-10, 4.95362151577, 35707.7100829074], + [7.3e-10, 1.35229143121, 5327.4761083828], + [5.7e-10, 3.16018882154, 5490.300961524], + [7.2e-10, 5.91833527334, 10881.0995774812], + [6.7e-10, 0.66414713064, 29864.334027309], + [6.5e-10, 0.30352816135, 7018.9523635232], + [5.9e-10, 5.36231868425, 10239.5838660108], + [5.6e-10, 3.22196331515, 2636.725472637], + [6.8e-10, 5.32086226658, 3116.6594122598], + [5.9e-10, 1.63156134967, 61306.0115970658], + [5.4e-10, 4.29491690425, 21947.1113727], + [7e-10, 0.29271565928, 6528.9074962208], + [5.7e-10, 5.89190132575, 34513.2630726828], + [5.4e-10, 2.51856815404, 6279.1945146334], + [7.4e-10, 1.38235845304, 9967.4538999816], + [5.4e-10, 0.92276712152, 6286.9571853494], + [7e-10, 5.00933012248, 6453.7487206106], + [5.3e-10, 3.86543309344, 32370.9789915656], + [5.5e-10, 4.51794544854, 34911.412076091], + [6.3e-10, 5.41479412056, 11502.8376165305], + [6.3e-10, 2.34416220742, 11510.7019230567], + [5.6e-10, 0.91310629913, 9910.583327509], + [6.7e-10, 4.03308763854, 34596.3646546524], + [6e-10, 5.57024703495, 5756.9080032458], + [7.2e-10, 2.80863088166, 10866.8724834796], + [6.6e-10, 6.12047940728, 12074.488407524], + [5.1e-10, 2.59519527563, 11396.5634485742], + [6.2e-10, 5.14746754396, 25287.7237993998], + [5.4e-10, 2.50994032776, 5999.2165311262], + [5.1e-10, 4.51195861837, 29822.7832363242], + [5.9e-10, 0.44167237876, 250570.6758572191], + [5.1e-10, 3.6884906676, 6262.7205305926], + [4.9e-10, 0.54704693048, 22594.05489571199], + [6.5e-10, 2.38423614501, 52670.0695933026], + [6.9e-10, 5.34363738671, 66813.5648357332], + [5.6e-10, 2.67216180349, 17892.93839400359], + [4.9e-10, 4.18361320516, 18606.4989460002], + [5.5e-10, 0.83886167974, 20452.8694122218], + [5e-10, 1.46327331958, 37455.7264959744], + [5.8e-10, 3.34847975377, 33990.6183442862], + [6.5e-10, 1.45522693982, 76251.32777062019], + [5.6e-10, 2.356506642, 37724.7534197482], + [4.8e-10, 1.80689447612, 206.1855484372], + [5.6e-10, 3.84224878744, 5483.254724826], + [5.3e-10, 0.17334326094, 77717.29458646949], + [5.3e-10, 0.79879700631, 77710.24834977149], + [4.7e-10, 0.43240779709, 735.8765135318], + [5.3e-10, 4.58786566028, 11616.976091013], + [4.8e-10, 6.20230111054, 4171.4255366138], + [5.2e-10, 2.9171905303, 6993.0088985497], + [5.7e-10, 3.42008310383, 50317.2034395308], + [4.8e-10, 0.12356889012, 13362.4497067992], + [6e-10, 5.52056066934, 949.1756089698], + [4.5e-10, 3.37963782356, 10763.779709261], + [4.7e-10, 5.50958184902, 12779.4507954208], + [5.2e-10, 5.42770349015, 310145.1528239236], + [6.1e-10, 2.93237974631, 5791.4125575326], + [4.4e-10, 2.87440620802, 8584.6616659008], + [4.6e-10, 4.0314179656, 10667.8004820432], + [4.4e-10, 1.21579107625, 6272.4391846416], + [4.7e-10, 2.57670800912, 11492.542675792], + [4.4e-10, 3.62570223167, 63658.8777508376], + [5.1e-10, 0.84531181151, 12345.739057544], + [4.6e-10, 1.17584556517, 149.5631971346], + [4.3e-10, 0.01524970172, 37853.8754993826], + [4.3e-10, 0.79038834934, 640.8776073822], + [4.4e-10, 2.22554419931, 6293.7125153412], + [4.9e-10, 1.01528394907, 149144.46708624958], + [4.1e-10, 3.27146326065, 8858.3149443206], + [4.5e-10, 3.03765521215, 65236.2212932854], + [5.8e-10, 5.45843180927, 1975.492545856], + [4.1e-10, 1.32190847146, 2547.8375382324], + [4.7e-10, 3.67626039848, 28313.288804661], + [4.7e-10, 6.21438985953, 10991.3058987006], + [4e-10, 2.37237751212, 8273.8208670324], + [5.6e-10, 1.09773690181, 77376.2010224076], + [4e-10, 2.35698541041, 2699.7348193176], + [4.3e-10, 5.28030897946, 17796.9591667858], + [5.4e-10, 2.59175932091, 22910.44676536859], + [5.5e-10, 0.07988985505, 83467.15635301729], + [4.1e-10, 4.47510694062, 5618.3198048614], + [4e-10, 1.35670430524, 27177.8515292002], + [4.1e-10, 2.48011323946, 6549.6828917132], + [5e-10, 2.56387920528, 82576.9812209953], + [4.2e-10, 4.78798367468, 7856.89627409019], + [4.7e-10, 2.75482175292, 18202.21671665939], + [3.9e-10, 1.97008298629, 24491.4257925834], + [4.2e-10, 4.04346599946, 7863.9425107882], + [3.9e-10, 3.0103393642, 853.196381752], + [3.8e-10, 0.49178679251, 38650.173506199], + [4.4e-10, 1.35931241699, 21393.5419698576], + [3.6e-10, 4.86047906533, 4157.1984426122], + [4.3e-10, 5.64354880978, 1062.9050485382], + [3.9e-10, 3.92736779879, 3903.9113764198], + [4e-10, 5.3969491832, 9498.2122306346], + [4.3e-10, 2.40863861919, 29424.634232916], + [4.6e-10, 2.08022244271, 12573.2652469836], + [5e-10, 6.15760345261, 78051.34191383338] + ], + "1": [ + [0.00103018607, 1.10748968172, 6283.0758499914], + [0.00001721238, 1.06442300386, 12566.1516999828], + [0.00000702217, 3.14159265359, 0], + [3.2345e-7, 1.02168583254, 18849.2275499742], + [3.0801e-7, 2.84358443952, 5507.5532386674], + [2.4978e-7, 1.31906570344, 5223.6939198022], + [1.8487e-7, 1.42428709076, 1577.3435424478], + [1.0077e-7, 5.91385248388, 10977.078804699], + [8.635e-8, 0.27158192945, 5486.777843175], + [8.654e-8, 1.42046854427, 6275.9623029906], + [5.069e-8, 1.68613408916, 5088.6288397668], + [4.985e-8, 6.01402338185, 6286.5989683404], + [4.667e-8, 5.98749245692, 529.6909650946], + [4.395e-8, 0.51800423445, 4694.0029547076], + [3.87e-8, 4.74932206877, 2544.3144198834], + [3.755e-8, 5.07053801166, 796.2980068164], + [4.1e-8, 1.08424801084, 9437.762934887], + [3.518e-8, 0.02290216978, 83996.84731811189], + [3.436e-8, 0.94937503872, 71430.69561812909], + [3.221e-8, 6.15628775321, 2146.1654164752], + [3.418e-8, 5.4115158188, 775.522611324], + [2.863e-8, 5.48433323746, 10447.3878396044], + [2.525e-8, 0.24296913555, 398.1490034082], + [2.205e-8, 4.94892172085, 6812.766815086], + [2.186e-8, 0.41991932164, 8031.0922630584], + [2.828e-8, 3.41986300734, 2352.8661537718], + [2.554e-8, 6.13241770582, 6438.4962494256], + [1.932e-8, 5.31374587091, 8429.2412664666], + [2.427e-8, 3.09118902115, 4690.4798363586], + [1.73e-8, 1.53685999718, 4705.7323075436], + [2.25e-8, 3.6883639562, 7084.8967811152], + [2.094e-8, 1.281690604, 1748.016413067], + [1.483e-8, 3.22226346483, 7234.794256242], + [1.434e-8, 0.81293662216, 14143.4952424306], + [1.754e-8, 3.22883705112, 6279.5527316424], + [1.583e-8, 4.09815978783, 11499.6562227928], + [1.575e-8, 5.53890314149, 3154.6870848956], + [1.847e-8, 1.82041234937, 7632.9432596502], + [1.499e-8, 3.63177937611, 11513.8833167944], + [1.337e-8, 4.64442556061, 6836.6452528338], + [1.275e-8, 2.69329661394, 1349.8674096588], + [1.348e-8, 6.15284035323, 5746.271337896], + [1.126e-8, 3.35676107739, 17789.845619785], + [1.47e-8, 3.65282991735, 1194.4470102246], + [1.101e-8, 4.4974742767, 4292.3308329504], + [1.168e-8, 2.58033028504, 13367.9726311066], + [1.236e-8, 5.64980098028, 5760.4984318976], + [9.85e-9, 0.65326301914, 5856.4776591154], + [9.28e-9, 2.3255501829, 10213.285546211], + [1.073e-8, 5.82672338169, 12036.4607348882], + [9.18e-9, 0.76907130762, 16730.4636895958], + [8.76e-9, 1.50335727807, 11926.2544136688], + [1.023e-8, 5.62071200879, 6256.7775301916], + [8.53e-9, 0.6567813463, 155.4203994342], + [8.02e-9, 4.10519132094, 951.7184062506], + [8.59e-9, 1.42880883564, 5753.3848848968], + [9.92e-9, 1.1423800161, 1059.3819301892], + [8.14e-9, 1.63584008733, 6681.2248533996], + [6.64e-9, 4.55039663226, 5216.5803728014], + [6.27e-9, 1.50782904323, 5643.1785636774], + [6.44e-9, 4.19480024859, 6040.3472460174], + [5.9e-9, 6.18371704849, 4164.311989613], + [6.35e-9, 0.5242358477, 6290.1893969922], + [6.5e-9, 0.97935492869, 25132.3033999656], + [5.68e-9, 2.30121525349, 10973.55568635], + [5.49e-9, 5.26737827342, 3340.6124266998], + [5.47e-9, 2.20143332641, 1592.5960136328], + [5.26e-9, 0.92464258271, 11371.7046897582], + [4.93e-9, 5.91036281399, 3894.1818295422], + [4.83e-9, 1.6600571154, 12168.0026965746], + [5.14e-9, 3.59683072524, 10969.9652576982], + [5.16e-9, 3.97164781773, 17298.1823273262], + [5.29e-9, 5.0353867768, 9917.6968745098], + [4.87e-9, 2.50544745305, 6127.6554505572], + [4.19e-9, 4.05235655996, 10984.1923516998], + [5.38e-9, 5.54081539813, 553.5694028424], + [4.02e-9, 2.16859478359, 7860.4193924392], + [5.52e-9, 2.32219865498, 11506.7697697936], + [3.67e-9, 3.39145698451, 6496.3749454294], + [3.6e-9, 5.34467204596, 7079.3738568078], + [3.34e-9, 3.61346365667, 11790.6290886588], + [4.54e-9, 0.28755421898, 801.8209311238], + [4.19e-9, 3.69613970002, 10575.4066829418], + [3.19e-9, 0.30793759304, 16200.7727245012], + [3.76e-9, 5.81560210508, 7058.5984613154], + [3.64e-9, 1.08425056923, 6309.3741697912], + [2.94e-9, 4.54798604178, 11856.2186514245], + [2.9e-9, 1.26451946335, 8635.9420037632], + [3.94e-9, 4.15683669084, 26.2983197998], + [2.6e-9, 5.09424572996, 10177.2576795336], + [2.41e-9, 2.25766000302, 11712.9553182308], + [2.39e-9, 1.06936978753, 242.728603974], + [2.76e-9, 3.44260568764, 5884.9268465832], + [2.55e-9, 5.38496803122, 21228.3920235458], + [3.07e-9, 4.24313885601, 3738.761430108], + [2.13e-9, 3.44661200485, 213.299095438], + [1.98e-9, 0.69427265195, 1990.745017041], + [1.95e-9, 5.16563409007, 12352.8526045448], + [2.13e-9, 3.89937836808, 13916.0191096416], + [2.14e-9, 4.00445200772, 5230.807466803], + [1.84e-9, 5.59805976614, 6283.14316029419], + [1.84e-9, 2.85275392124, 7238.6755916], + [1.79e-9, 2.54259058252, 14314.1681130498], + [2.36e-9, 5.58826125715, 6069.7767545534], + [1.89e-9, 2.72689937708, 6062.6632075526], + [1.84e-9, 6.04216273598, 6283.0085396886], + [2.25e-9, 1.66128561344, 4732.0306273434], + [2.3e-9, 3.62591335086, 6284.0561710596], + [1.72e-9, 0.97566476085, 3930.2096962196], + [1.62e-9, 2.19467339429, 18073.7049386502], + [2.15e-9, 1.04672844028, 3496.032826134], + [1.82e-9, 5.17782354566, 17253.04110768959], + [1.67e-9, 2.17754938066, 6076.8903015542], + [1.67e-9, 4.75672473773, 17267.26820169119], + [1.49e-9, 0.80944185798, 709.9330485583], + [1.49e-9, 0.17584214812, 9779.1086761254], + [1.92e-9, 5.00680790235, 11015.1064773348], + [1.41e-9, 4.38420380014, 4136.9104335162], + [1.58e-9, 4.60969054283, 9623.6882766912], + [1.33e-9, 3.30507062245, 154717.6098876827], + [1.66e-9, 6.13191098325, 3.523118349], + [1.81e-9, 1.60715321141, 7.1135470008], + [1.5e-9, 5.28136702046, 13517.8701062334], + [1.42e-9, 0.49788089569, 25158.6017197654], + [1.24e-9, 6.03440459813, 9225.539273283], + [1.24e-9, 0.99251562639, 65147.6197681377], + [1.28e-9, 1.92032744711, 22483.84857449259], + [1.24e-9, 3.99739675184, 4686.8894077068], + [1.21e-9, 2.37814805239, 167283.7615876655], + [1.23e-9, 5.6231511294, 5642.1982426092], + [1.17e-9, 5.81755956156, 12569.6748183318], + [1.57e-9, 3.40236948518, 16496.3613962024], + [1.3e-9, 2.10499918142, 1589.0728952838], + [1.16e-9, 0.55839966736, 5849.3641121146], + [1.23e-9, 5.81645568991, 6282.0955289232], + [1.1e-9, 0.42176497674, 6172.869528772], + [1.5e-9, 4.26279600865, 3128.3887650958], + [1.06e-9, 2.27436561182, 5429.8794682394], + [1.14e-9, 1.52894564202, 12559.038152982], + [1.21e-9, 0.39459045915, 12132.439962106], + [1.04e-9, 2.41845930933, 426.598190876], + [1.09e-9, 5.82786999856, 16858.4825329332], + [1.02e-9, 4.4662648491, 23543.23050468179], + [1e-9, 2.93812275274, 4535.0594369244], + [9.7e-10, 3.97935904984, 6133.5126528568], + [9.8e-10, 0.87616810121, 6525.8044539654], + [1.1e-9, 6.22339014386, 12146.6670561076], + [9.8e-10, 3.17344332543, 10440.2742926036], + [9.6e-10, 2.44128701699, 3097.88382272579], + [9.9e-10, 5.75642493267, 7342.4577801806], + [9e-10, 0.18984343165, 13119.72110282519], + [9.9e-10, 5.58884724219, 2388.8940204492], + [9.1e-10, 6.04278320182, 20426.571092422], + [8e-10, 1.29028142103, 5650.2921106782], + [8.6e-10, 3.94529200528, 10454.5013866052], + [8.5e-10, 1.92836879835, 29088.811415985], + [7.6e-10, 2.70726317966, 143571.32428481648], + [9.1e-10, 5.63859073351, 8827.3902698748], + [7.6e-10, 1.80783856698, 28286.9904848612], + [7.5e-10, 3.40858032804, 5481.2549188676], + [7e-10, 4.53719487231, 17256.6315363414], + [8.9e-10, 1.10064490942, 11769.8536931664], + [6.6e-10, 2.78384937771, 536.8045120954], + [6.8e-10, 3.88199295043, 17260.1546546904], + [8.8e-10, 3.88075269535, 7477.522860216], + [6.1e-10, 6.17558202197, 11087.2851259184], + [6e-10, 4.34824715818, 6206.8097787158], + [8.2e-10, 4.59843208943, 9388.0059094152], + [7.9e-10, 1.63139280394, 4933.2084403326], + [8.1e-10, 1.55550779371, 9380.9596727172], + [7.8e-10, 4.20905757519, 5729.506447149], + [5.8e-10, 5.76889633224, 3634.6210245184], + [6e-10, 0.93813100594, 12721.572099417], + [7.1e-10, 6.11408885148, 8662.240323563], + [5.7e-10, 5.48112524468, 18319.5365848796], + [7e-10, 0.01749174864, 14945.3161735544], + [7.4e-10, 1.0997604582, 16460.33352952499], + [5.6e-10, 1.63036186739, 15720.8387848784], + [5.5e-10, 4.86788348404, 13095.8426650774], + [6e-10, 5.93729841267, 12539.853380183], + [5.4e-10, 0.22608242982, 15110.4661198662], + [5.4e-10, 2.30250047594, 16062.1845261168], + [6.4e-10, 2.13513754101, 7875.6718636242], + [5.9e-10, 5.87963500139, 5331.3574437408], + [5.8e-10, 2.30546168615, 955.5997416086], + [4.9e-10, 1.93839278478, 5333.9002410216], + [5.4e-10, 5.80331607119, 12043.574281889], + [5.4e-10, 4.44671053809, 4701.1165017084], + [4.9e-10, 0.30241161485, 6805.6532680852], + [4.6e-10, 2.76898193028, 6709.6740408674], + [4.6e-10, 3.98449608961, 98068.53671630539], + [4.9e-10, 3.72022009896, 12323.4230960088], + [4.5e-10, 3.30065998328, 22003.9146348698], + [4.8e-10, 0.71071357303, 6303.4311693902], + [6.1e-10, 1.66030429494, 6262.300454499], + [4.7e-10, 1.26317154881, 11919.140866668], + [5.1e-10, 1.08020906825, 10988.808157535], + [4.5e-10, 0.89150445122, 51868.2486621788], + [4.3e-10, 0.57756724285, 24356.7807886416], + [4.3e-10, 1.61526242998, 6277.552925684], + [4.5e-10, 2.96132920534, 8982.810669309], + [4.3e-10, 5.74295325645, 11403.676995575], + [5.5e-10, 3.14274403422, 33019.0211122046], + [5.7e-10, 0.06379726305, 15671.0817594066], + [4.1e-10, 2.53761820726, 6262.7205305926], + [4e-10, 1.53130436944, 18451.07854656599], + [5.2e-10, 1.71451922581, 1551.045222648], + [5.5e-10, 0.89439119424, 11933.3679606696], + [4.5e-10, 3.88495384656, 60530.4889857418], + [4e-10, 4.75740908001, 38526.574350872], + [4e-10, 3.77498297348, 26087.9031415742], + [3.9e-10, 2.97113832621, 2118.7638603784], + [4e-10, 3.36050962605, 10021.8372800994], + [4.7e-10, 1.67051113434, 6303.8512454838], + [5.2e-10, 5.21827368711, 77713.7714681205], + [4.7e-10, 4.26356628717, 21424.4666443034], + [3.7e-10, 1.66712389942, 6819.8803620868], + [3.7e-10, 0.65746800933, 12029.3471878874], + [3.5e-10, 3.36255650927, 24072.9214697764], + [3.6e-10, 0.11087914947, 10344.2950653858], + [4e-10, 4.14725582115, 2787.0430238574], + [3.5e-10, 5.93650887012, 31570.7996493912], + [3.6e-10, 2.15108874765, 30774.5016425748], + [3.6e-10, 1.75078825382, 16207.886271502], + [3.4e-10, 2.75708224536, 12139.5535091068], + [3.4e-10, 6.168913788, 24491.4257925834], + [3.4e-10, 2.31528650443, 55798.4583583984], + [3.2e-10, 4.21446357042, 15664.03552270859], + [3.4e-10, 3.19783054699, 32217.2001810808], + [3.9e-10, 1.24979117796, 6418.1409300268], + [3.8e-10, 5.89832942685, 640.8776073822], + [3.3e-10, 4.80200120107, 16723.350142595], + [3.2e-10, 1.72442327688, 27433.88921587499], + [3.5e-10, 4.44608896525, 18202.21671665939], + [3.1e-10, 4.5279073128, 6702.5604938666], + [3.4e-10, 3.96287980676, 18216.443810661], + [3e-10, 5.06259854444, 226858.23855437007], + [3.4e-10, 1.43910280005, 49515.382508407], + [3e-10, 0.29303163371, 13521.7514415914], + [2.9e-10, 2.0263384022, 11609.8625440122], + [3e-10, 2.5492323024, 9924.8104215106], + [3.2e-10, 4.91793198558, 11300.5842213564], + [3e-10, 0.23284423547, 23581.2581773176], + [2.9e-10, 1.62807736495, 639.897286314], + [2.8e-10, 3.84568936822, 2699.7348193176], + [2.9e-10, 1.83149729794, 29822.7832363242], + [3.3e-10, 4.60320094415, 19004.6479494084], + [2.7e-10, 1.86151121799, 6288.5987742988], + [3e-10, 4.4649407224, 36147.4098773004], + [2.8e-10, 5.19684492912, 5863.5912061162], + [3.5e-10, 4.52695674113, 36949.2308084242], + [2.7e-10, 3.52528177609, 10770.8932562618], + [2.6e-10, 1.48499438453, 11080.1715789176], + [3.5e-10, 2.82154380962, 19402.7969528166], + [2.5e-10, 2.46339998836, 6279.4854213396], + [2.6e-10, 4.97688894643, 16737.5772365966], + [2.7e-10, 0.408271125, 12964.300703391], + [2.9e-10, 4.15148654061, 45892.73043315699], + [2.6e-10, 4.56404104286, 17796.9591667858], + [2.5e-10, 2.89309528854, 6286.6662786432], + [2.6e-10, 4.82914580957, 1066.49547719], + [3.1e-10, 3.93096113738, 29864.334027309], + [2.4e-10, 6.14987193584, 18606.4989460002], + [2.4e-10, 3.74225964547, 29026.48522950779], + [2.5e-10, 5.70460621565, 27707.5424942948], + [2.5e-10, 5.33928840652, 15141.390794312], + [2.3e-10, 2.37624087345, 17996.0311682222], + [2.6e-10, 1.34231351782, 18875.525869774], + [2.2e-10, 5.5079162612, 6245.0481773556], + [2.4e-10, 1.33998410121, 19800.9459562248], + [2.3e-10, 0.2251228089, 6279.7894925736], + [2.2e-10, 1.17576471775, 11925.2740926006], + [2.2e-10, 3.5860360664, 6915.8595893046], + [2.3e-10, 3.21621246666, 6286.3622074092], + [2.9e-10, 2.09564449439, 15265.8865193004], + [2.2e-10, 4.74660932338, 28230.18722269139], + [2.1e-10, 2.30688751432, 5999.2165311262], + [2.8e-10, 3.92087592807, 18208.349942592], + [2.1e-10, 3.22643339385, 25934.1243310894], + [2.1e-10, 3.04956726238, 6566.9351688566], + [2.7e-10, 5.35645770522, 33794.5437235286], + [2.5e-10, 5.91542362188, 6489.2613984286], + [2e-10, 1.52296293311, 135.0650800354], + [1.9e-10, 1.78134428631, 156137.47598479927], + [1.9e-10, 0.34388684087, 5327.4761083828], + [2.6e-10, 3.41701003233, 25287.7237993998], + [1.9e-10, 2.86664271911, 18422.62935909819], + [1.9e-10, 4.71432851499, 77690.75950573849], + [1.9e-10, 2.54227398241, 77736.78343050249], + [2e-10, 5.91915117116, 48739.859897083] + ], + "2": [ + [0.00004359385, 5.78455133808, 6283.0758499914], + [0.00000123633, 5.57935427994, 12566.1516999828], + [1.2342e-7, 3.14159265359, 0], + [8.792e-8, 3.62777893099, 77713.7714681205], + [5.689e-8, 1.86958905084, 5573.1428014331], + [3.302e-8, 5.47034879713, 18849.2275499742], + [1.471e-8, 4.47964125007, 5507.5532386674], + [1.013e-8, 2.81323115556, 5223.6939198022], + [8.54e-9, 3.107765669, 1577.3435424478], + [1.102e-8, 2.84173992403, 161000.6857376741], + [6.48e-9, 5.47348203398, 775.522611324], + [6.08e-9, 1.37894173533, 6438.4962494256], + [4.99e-9, 4.4164924225, 6286.5989683404], + [4.16e-9, 0.90332697974, 10977.078804699], + [4.04e-9, 3.2056726953, 5088.6288397668], + [3.51e-9, 1.81081728907, 5486.777843175], + [4.66e-9, 3.65086758149, 7084.8967811152], + [4.58e-9, 5.38585314743, 149854.4001348079], + [3.04e-9, 3.51015066341, 796.2980068164], + [2.66e-9, 6.17413982699, 6836.6452528338], + [2.81e-9, 1.8387467254, 4694.0029547076], + [2.62e-9, 1.41420110644, 2146.1654164752], + [2.64e-9, 3.14103683911, 71430.69561812909], + [3.19e-9, 5.35037932146, 3154.6870848956], + [2.38e-9, 2.17695432424, 155.4203994342], + [2.29e-9, 4.7596958807, 7234.794256242], + [2.91e-9, 4.61776401638, 4690.4798363586], + [2.11e-9, 0.21864885298, 4705.7323075436], + [2.04e-9, 4.22895113488, 1349.8674096588], + [1.95e-9, 4.58550676556, 529.6909650946], + [2.55e-9, 2.81442711144, 1748.016413067], + [1.82e-9, 5.70454011389, 6040.3472460174], + [1.8e-9, 6.02147727878, 4292.3308329504], + [1.86e-9, 1.58690991244, 6309.3741697912], + [1.67e-9, 2.88802733052, 9437.762934887], + [1.66e-9, 1.99990574734, 8031.0922630584], + [1.6e-9, 0.04412738495, 2544.3144198834], + [1.97e-9, 2.01089431842, 1194.4470102246], + [1.65e-9, 5.78372596774, 83996.84731811189], + [2.14e-9, 3.38300910371, 7632.9432596502], + [1.4e-9, 0.36669664351, 10447.3878396044], + [1.51e-9, 0.95519595275, 6127.6554505572], + [1.36e-9, 1.48417295645, 2352.8661537718], + [1.28e-9, 5.48057748834, 951.7184062506], + [1.26e-9, 5.26866506592, 6279.5527316424], + [1.27e-9, 3.77552907014, 6812.766815086], + [1.03e-9, 4.95897533789, 398.1490034082], + [1.04e-9, 0.70183576826, 1592.5960136328], + [1.01e-9, 1.14481598642, 3894.1818295422], + [1.31e-9, 0.76624310306, 553.5694028424], + [1.09e-9, 5.41063597567, 6256.7775301916], + [7.8e-10, 5.84775340741, 242.728603974], + [9.7e-10, 1.94685257714, 11856.2186514245], + [1e-9, 5.19725292131, 244287.60000722768], + [7.6e-10, 0.70480774041, 8429.2412664666], + [8e-10, 6.18430772683, 1059.3819301892], + [6.8e-10, 5.29561709093, 14143.4952424306], + [8.5e-10, 5.39487308005, 25132.3033999656], + [5.5e-10, 5.16874637579, 7058.5984613154], + [6.3e-10, 0.48494730699, 801.8209311238], + [5.8e-10, 4.07254840265, 13367.9726311066], + [5.1e-10, 3.89696552232, 12036.4607348882], + [5.1e-10, 5.56335232286, 1990.745017041], + [6e-10, 2.2504659671, 8635.9420037632], + [4.9e-10, 5.58163417371, 6290.1893969922], + [5.1e-10, 3.87240194908, 26.2983197998], + [5.1e-10, 4.19300909995, 7860.4193924392], + [4.1e-10, 3.97169191582, 10973.55568635], + [4.1e-10, 3.5708091923, 7079.3738568078], + [5.6e-10, 2.76959005761, 90955.5516944961], + [4.2e-10, 1.91461189163, 7477.522860216], + [4.2e-10, 0.42775891995, 10213.285546211], + [4.2e-10, 1.06925480488, 709.9330485583], + [3.8e-10, 6.17935925345, 9917.6968745098], + [5e-10, 0.81691517401, 11506.7697697936], + [5.3e-10, 1.45828359397, 233141.3144043615], + [3.8e-10, 3.32444534628, 5643.1785636774], + [4.7e-10, 6.21543665927, 6681.2248533996], + [3.7e-10, 0.3635930998, 10177.2576795336], + [4.5e-10, 5.29587706357, 10575.4066829418], + [3.4e-10, 5.63446915337, 6525.8044539654], + [3.4e-10, 5.36385158519, 4933.2084403326], + [3.5e-10, 5.36152295839, 25158.6017197654], + [4.2e-10, 5.08837645072, 11015.1064773348], + [4.2e-10, 4.22496037505, 88860.05707098669], + [3.9e-10, 1.99171699618, 6284.0561710596], + [2.9e-10, 3.1908862817, 11926.2544136688], + [2.9e-10, 0.14996158324, 12168.0026965746], + [3e-10, 1.58346276808, 9779.1086761254], + [2.6e-10, 4.16210340581, 12569.6748183318], + [3.6e-10, 2.74684637873, 3738.761430108], + [2.6e-10, 0.7282491532, 1589.0728952838], + [3.1e-10, 5.34906371821, 143571.32428481648], + [2.5e-10, 0.10240267494, 22483.84857449259], + [3e-10, 3.47110495524, 14945.3161735544], + [2.6e-10, 3.89359701125, 5753.3848848968], + [2.4e-10, 1.18744224678, 4535.0594369244], + [3.3e-10, 2.99317143244, 3930.2096962196], + [2.4e-10, 1.57253767584, 6496.3749454294], + [2.4e-10, 3.47434797542, 4136.9104335162], + [2.2e-10, 3.91230073719, 6275.9623029906], + [2.5e-10, 4.02978941287, 3128.3887650958], + [2.3e-10, 1.07724492065, 12721.572099417], + [2.1e-10, 1.89591807148, 16730.4636895958], + [2.5e-10, 2.42198937013, 5729.506447149], + [2e-10, 1.78163489101, 17789.845619785], + [2.1e-10, 0.49258939822, 29088.811415985], + [2.6e-10, 4.14947806747, 2388.8940204492], + [2.7e-10, 2.54785812264, 3496.032826134], + [2e-10, 4.29944129273, 16858.4825329332], + [2.1e-10, 5.97796936723, 7.1135470008], + [1.9e-10, 0.80292033311, 16062.1845261168], + [2.4e-10, 4.89894141052, 17260.1546546904], + [2.5e-10, 1.37003752175, 6282.0955289232], + [2.2e-10, 4.92663152168, 18875.525869774], + [2.3e-10, 5.68902059771, 16460.33352952499], + [2.3e-10, 3.03021283729, 66567.48586525429], + [1.6e-10, 3.89713736666, 5331.3574437408], + [1.6e-10, 5.68562539832, 12559.038152982], + [1.6e-10, 3.95085099736, 3097.88382272579], + [1.6e-10, 3.99041783945, 6283.14316029419], + [2e-10, 6.106439191, 167283.7615876655], + [1.5e-10, 4.09775914607, 11712.9553182308], + [1.6e-10, 5.717699407, 17298.1823273262], + [1.6e-10, 3.28894009404, 5884.9268465832], + [1.5e-10, 4.4256424368, 13517.8701062334], + [1.6e-10, 4.4345208093, 6283.0085396886], + [1.4e-10, 1.44384279999, 4164.311989613], + [1.4e-10, 4.47380919159, 11790.6290886588], + [1.4e-10, 4.77646531825, 7342.4577801806], + [1.1e-10, 2.56768522896, 5481.2549188676], + [1.1e-10, 1.514433322, 16200.7727245012], + [1.1e-10, 0.88708889185, 21228.3920235458], + [1.4e-10, 4.50116508534, 640.8776073822] + ], + "3": [ + [0.00000144595, 4.27319433901, 6283.0758499914], + [6.729e-8, 3.91706261708, 12566.1516999828], + [7.74e-9, 0, 0], + [2.47e-9, 3.73021571217, 18849.2275499742], + [3.6e-10, 2.8008140905, 6286.5989683404], + [3.3e-10, 5.62990083112, 6127.6554505572], + [1.8e-10, 3.72826142555, 6438.4962494256], + [1.6e-10, 4.26011484232, 6525.8044539654], + [1.4e-10, 3.47817116396, 6256.7775301916], + [1.2e-10, 3.55747379482, 25132.3033999656], + [1e-10, 4.43995693209, 4705.7323075436], + [1e-10, 4.2804525547, 83996.84731811189], + [9e-11, 5.36457057335, 6040.3472460174], + [8e-11, 1.78458957263, 5507.5532386674], + [9e-11, 0.4727519993, 6279.5527316424], + [9e-11, 1.34741231639, 6309.3741697912], + [9e-11, 0.77092900708, 5729.506447149], + [7e-11, 3.50146897332, 7058.5984613154], + [5e-11, 2.890710617, 775.522611324], + [6e-11, 2.36514111314, 6836.6452528338] + ], + "4": [ + [3.858e-8, 2.56389016346, 6283.0758499914], + [3.06e-9, 2.26911740541, 12566.1516999828], + [5.3e-10, 3.44031471924, 5573.1428014331], + [1.5e-10, 2.03136359366, 18849.2275499742], + [1.3e-10, 2.05688873673, 77713.7714681205], + [7e-11, 4.4121885448, 161000.6857376741], + [4e-11, 5.33854414781, 6438.4962494256], + [6e-11, 3.81514213664, 149854.4001348079], + [4e-11, 4.26602478239, 6127.6554505572] + ], + "5": [ + [8.6e-10, 1.21805304895, 6283.0758499914], + [1.2e-10, 0.65572878044, 12566.1516999828] + ] + }, + name: "earth", + type: "B" +}; + +exports["default"] = m; + + +/***/ }), + +/***/ 5503: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var interpolation = __nccwpck_require__(3324); +var deltat$1 = __nccwpck_require__(615); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module deltat + */ + +// avoids ciclic import { LeapYearGregorian } from './julian.js' +function LeapYearGregorian (y) { + return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0 +} + +/** + * deltaT returns the difference ΔT = TD - UT between Dynamical Time TD and + * Univeral Time (GMT+12) in seconds + * + * Polynoms are from + * and + * + * @param {Number} dyear - decimal year + * @returns {Number} ΔT in seconds. + */ +function deltaT (dyear) { + let ΔT; + if (dyear < -500) { + ΔT = base["default"].horner((dyear - 1820) * 0.01, -20, 0, 32); + } else if (dyear < 500) { + ΔT = base["default"].horner(dyear * 0.01, + 10583.6, -1014.41, 33.78311, -5.952053, -0.1798452, 0.022174192, 0.0090316521 + ); + } else if (dyear < 1600) { + ΔT = base["default"].horner((dyear - 1000) * 0.01, + 1574.2, -556.01, 71.23472, 0.319781, -0.8503463, -0.005050998, 0.0083572073 + ); + } else if (dyear < deltat$1["default"].historic.first) { + ΔT = base["default"].horner((dyear - 1600), 120, -0.9808, -0.01532, 1 / 7129); + } else if (dyear < deltat$1["default"].data.first) { + ΔT = interpolate(dyear, deltat$1["default"].historic); + } else if (dyear < deltat$1["default"].data.last - 0.25) { // -0.25 ~= do not consider last 3 months in dataset + ΔT = interpolateData(dyear, deltat$1["default"].data); + } else if (dyear < deltat$1["default"].prediction.last) { + ΔT = interpolate(dyear, deltat$1["default"].prediction); + } else if (dyear < 2050) { + ΔT = base["default"].horner((dyear - 2000) / 100, 62.92, 32.217, 55.89); + } else if (dyear < 2150) { + ΔT = base["default"].horner((dyear - 1820) / 100, -205.72, 56.28, 32); + } else { + const u = (dyear - 1820) / 100; + ΔT = -20 + 32 * u * u; + } + return ΔT +} + +/** + * interpolation of dataset + * @private + * @param {Number} dyear - julian year + * @returns {Number} ΔT in seconds. + */ +function interpolate (dyear, data) { + const d3 = interpolation["default"].len3ForInterpolateX(dyear, + data.first, data.last, data.table + ); + return d3.interpolateX(dyear) +} + +/** + * interpolation of dataset from finals2000A with is one entry per month + * linear interpolation over whole dataset is inaccurate as points per month + * are not equidistant. Therefore points are approximated using 2nd diff. interpolation + * from current month using the following two points + * + * @private + * @param {Number} dyear - julian year + * @returns {Number} ΔT in seconds. + */ +function interpolateData (dyear, data) { + const [fyear, fmonth] = data.firstYM; + const { year, month, first, last } = monthOfYear(dyear); + const pos = 12 * (year - fyear) + (month - fmonth); + const table = data.table.slice(pos, pos + 3); + const d3 = new interpolation["default"].Len3(first, last, table); + return d3.interpolateX(dyear) +} + +/** + * Get month of Year from fraction. Fraction differs at leap years. + * @private + * @param {Number} dyear - decimal year + * @return {Object} `{year: Number, month: Number, first: Number, last}` + */ +function monthOfYear (dyear) { + // if (!monthOfYear.data) { // memoize yearly fractions per month + // monthOfYear.data = { 0: [], 1: [] } + // for (let m = 0; m <= 12; m++) { + // monthOfYear.data[0][m] = new Calendar(1999, m, 1).toYear() - 1999 // non leap year + // monthOfYear.data[1][m] = new Calendar(2000, m, 1).toYear() - 2000 // leap year + // } + // } + // console.log(monthOfYear) + const year = dyear | 0; + const f = dyear - year; + const d = LeapYearGregorian(year) ? 1 : 0; + const data = monthOfYear.data[d]; + + let month = 12; // TODO loop could be improved + while (month > 0 && data[month] > f) { + month--; + } + const first = year + data[month]; + const last = month < 11 ? year + data[month + 2] : year + 1 + data[(month + 2) % 12]; + return { year, month, first, last } +} +/** + monthOfYear.data[0][m] = new Calendar(1999, m, 1).toYear() - 1999 // non leap year + monthOfYear.data[1][m] = new Calendar(2000, m, 1).toYear() - 2000 // leap year + */ +monthOfYear.data = [ + [ // non leap year + 0, + 0, + 0.08493150684921602, + 0.16164383561635987, + 0.24657534246580326, + 0.3287671232876619, + 0.4136986301368779, + 0.4958904109589639, + 0.5808219178081799, + 0.6657534246576233, + 0.747945205479482, + 0.832876712328698, + 0.915068493150784 + ], + [ // leap year + 0, + 0, + 0.08743169398917416, + 0.1639344262296163, + 0.24863387978143692, + 0.3306010928961314, + 0.4153005464481794, + 0.49726775956287383, + 0.5819672131146945, + 0.6666666666667425, + 0.7486338797814369, + 0.8333333333332575, + 0.9153005464481794 + ] +]; + +var deltat = { + deltaT +}; + +exports["default"] = deltat; +exports.deltaT = deltaT; + + +/***/ }), + +/***/ 2193: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var moonphase = __nccwpck_require__(8716); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module eclipse + */ + +/** + * @private + */ +const g = function (k, jm, c1, c2) { // (k, jm, c1, c2 float64) (eclipse bool, jdeMax, γ, u, Mʹ float64) + const ck = 1 / 1236.85; + const p = Math.PI / 180; + const T = k * ck; + const F = base["default"].horner(T, 160.7108 * p, 390.67050284 * p / ck, + -0.0016118 * p, -0.00000227 * p, 0.000000011 * p); + if (Math.abs(Math.sin(F)) > 0.36) { + return [false] // no eclipse + } + const eclipse = true; + const E = base["default"].horner(T, 1, -0.002516, -0.0000074); + const M = base["default"].horner(T, 2.5534 * p, 29.1053567 * p / ck, + -0.0000014 * p, -0.00000011 * p); + const Mʹ = base["default"].horner(T, 201.5643 * p, 385.81693528 * p / ck, + 0.0107582 * p, 0.00001238 * p, -0.000000058 * p); + const Ω = base["default"].horner(T, 124.7746 * p, -1.56375588 * p / ck, + 0.0020672 * p, 0.00000215 * p); + const sΩ = Math.sin(Ω); + const F1 = F - 0.02665 * p * sΩ; + const A1 = base["default"].horner(T, 299.77 * p, 0.107408 * p / ck, -0.009173 * p); + // (54.1) p. 380 + const jdeMax = jm + + c1 * Math.sin(Mʹ) + + c2 * Math.sin(M) * E + + 0.0161 * Math.sin(2 * Mʹ) + + -0.0097 * Math.sin(2 * F1) + + 0.0073 * Math.sin(Mʹ - M) * E + + -0.005 * Math.sin(Mʹ + M) * E + + -0.0023 * Math.sin(Mʹ - 2 * F1) + + 0.0021 * Math.sin(2 * M) * E + + 0.0012 * Math.sin(Mʹ + 2 * F1) + + 0.0006 * Math.sin(2 * Mʹ + M) * E + + -0.0004 * Math.sin(3 * Mʹ) + + -0.0003 * Math.sin(M + 2 * F1) * E + + 0.0003 * Math.sin(A1) + + -0.0002 * Math.sin(M - 2 * F1) * E + + -0.0002 * Math.sin(2 * Mʹ - M) * E + + -0.0002 * sΩ; + const P = 0.207 * Math.sin(M) * E + + 0.0024 * Math.sin(2 * M) * E + + -0.0392 * Math.sin(Mʹ) + + 0.0116 * Math.sin(2 * Mʹ) + + -0.0073 * Math.sin(Mʹ + M) * E + + 0.0067 * Math.sin(Mʹ - M) * E + + 0.0118 * Math.sin(2 * F1); + const Q = 5.2207 + + -0.0048 * Math.cos(M) * E + + 0.002 * Math.cos(2 * M) * E + + -0.3299 * Math.cos(Mʹ) + + -0.006 * Math.cos(Mʹ + M) * E + + 0.0041 * Math.cos(Mʹ - M) * E; + const [sF1, cF1] = base["default"].sincos(F1); + const W = Math.abs(cF1); + const γ = (P * cF1 + Q * sF1) * (1 - 0.0048 * W); + const u = 0.0059 + + 0.0046 * Math.cos(M) * E + + -0.0182 * Math.cos(Mʹ) + + 0.0004 * Math.cos(2 * Mʹ) + + -0.0005 * Math.cos(M + Mʹ); + return [eclipse, jdeMax, γ, u, Mʹ] // (eclipse bool, jdeMax, γ, u, Mʹ float64) +}; + +/** + * Eclipse type identifiers returned from Solar and Lunar. + */ +const TYPE = { + None: 0, + Partial: 1, // for solar eclipses + Annular: 2, // solar + AnnularTotal: 3, // solar + Penumbral: 4, // for lunar eclipses + Umbral: 5, // lunar + Total: 6 // solar or lunar +}; + +/** + * Snap returns k at specified quarter q nearest year y. + * Cut and paste from moonphase. Time corresponding to k needed in these + * algorithms but otherwise not meaningful enough to export from moonphase. + */ +const snap = function (y, q) { // (y, q float64) float64 + const k = (y - 2000) * 12.3685; // (49.2) p. 350 + return Math.floor(k - q + 0.5) + q +}; + +/** + * Solar computes quantities related to solar eclipses. + * + * Argument year is a decimal year specifying a date. + * + * eclipseType will be None, Partial, Annular, AnnularTotal, or Total. + * If None, none of the other return values may be meaningful. + * + * central is true if the center of the eclipse shadow touches the Earth. + * + * jdeMax is the jde when the center of the eclipse shadow is closest to the + * Earth center, in a plane through the center of the Earth. + * + * γ is the distance from the eclipse shadow center to the Earth center + * at time jdeMax. + * + * u is the radius of the Moon's umbral cone in the plane of the Earth. + * + * p is the radius of the penumbral cone. + * + * mag is eclipse magnitude for partial eclipses. It is not valid for other + * eclipse types. + * + * γ, u, and p are in units of equatorial Earth radii. + */ +function solar (year) { // (year float64) (eclipseType int, central bool, jdeMax, γ, u, p, mag float64) + let eclipseType = TYPE.None; + let mag; + + const [e, jdeMax, γ, u, _] = g(snap(year, 0), moonphase["default"].meanNew(year), -0.4075, 0.1721); // eslint-disable-line no-unused-vars + + const p = u + 0.5461; + if (!e) { + return { type: eclipseType } // no eclipse + } + const aγ = Math.abs(γ); + if (aγ > 1.5433 + u) { + return { type: eclipseType } // no eclipse + } + const central = aγ < 0.9972; // eclipse center touches Earth + + if (!central) { + eclipseType = TYPE.Partial; // most common case + if (aγ < 1.026) { // umbral cone may touch earth + if (aγ < 0.9972 + Math.abs(u)) { // total or annular + eclipseType = TYPE.Total; // report total in both cases + } + } + } else if (u < 0) { + eclipseType = TYPE.Total; + } else if (u > 0.0047) { + eclipseType = TYPE.Annular; + } else { + const ω = 0.00464 * Math.sqrt(1 - γ * γ); + if (u < ω) { + eclipseType = TYPE.AnnularTotal; + } else { + eclipseType = TYPE.Annular; + } + } + + if (eclipseType === TYPE.Partial) { + // (54.2) p. 382 + mag = (1.5433 + u - aγ) / (0.5461 + 2 * u); + } + + return { + type: eclipseType, + central, + jdeMax, + magnitude: mag, + distance: γ, + umbral: u, + penumbral: p + } +} + +/** + * Lunar computes quantities related to lunar eclipses. + * + * Argument year is a decimal year specifying a date. + * + * eclipseType will be None, Penumbral, Umbral, or Total. + * If None, none of the other return values may be meaningful. + * + * jdeMax is the jde when the center of the eclipse shadow is closest to the + * Moon center, in a plane through the center of the Moon. + * + * γ is the distance from the eclipse shadow center to the moon center + * at time jdeMax. + * + * σ is the radius of the umbral cone in the plane of the Moon. + * + * ρ is the radius of the penumbral cone. + * + * mag is eclipse magnitude. + * + * sd- return values are semidurations of the phases of the eclipse, in days. + * + * γ, σ, and ρ are in units of equatorial Earth radii. + */ +function lunar (year) { // (year float64) (eclipseType int, jdeMax, γ, ρ, σ, mag, sdTotal, sdPartial, sdPenumbral float64) + let eclipseType = TYPE.None; + let mag; + let sdTotal; + let sdPartial; + let sdPenumbral; + + const [e, jdeMax, γ, u, Mʹ] = g(snap(year, 0.5), + moonphase["default"].meanFull(year), -0.4065, 0.1727); + if (!e) { + return { type: eclipseType } // no eclipse + } + const ρ = 1.2848 + u; + const σ = 0.7403 - u; + const aγ = Math.abs(γ); + mag = (1.0128 - u - aγ) / 0.545; // (54.3) p. 382 + + if (mag > 1) { + eclipseType = TYPE.Total; + } else if (mag > 0) { + eclipseType = TYPE.Umbral; + } else { + mag = (1.5573 + u - aγ) / 0.545; // (54.4) p. 382 + if (mag < 0) { + return { type: eclipseType } // no eclipse + } + eclipseType = TYPE.Penumbral; + } + + const p = 1.0128 - u; + const t = 0.4678 - u; + const n = 0.5458 + 0.04 * Math.cos(Mʹ); + const γ2 = γ * γ; + + /* eslint-disable no-fallthrough */ + switch (eclipseType) { + case TYPE.Total: { + sdTotal = Math.sqrt(t * t - γ2) / n / 24; + } + case TYPE.Umbral: { + sdPartial = Math.sqrt(p * p - γ2) / n / 24; + } + default: { + const h = 1.5573 + u; + sdPenumbral = Math.sqrt(h * h - γ2) / n / 24; + } + } + /* eslint-enable */ + + return { + type: eclipseType, + jdeMax, + magnitude: mag, + distance: γ, + umbral: σ, + penumbral: ρ, + sdTotal, + sdPartial, + sdPenumbral + } +} + +var eclipse = { + TYPE, + solar, + lunar +}; + +exports.TYPE = TYPE; +exports["default"] = eclipse; +exports.lunar = lunar; +exports.solar = solar; + + +/***/ }), + +/***/ 9389: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module elementequinox + */ + +/** + * Elements are the orbital elements of a solar system object which change + * from one equinox to another. + * + * @param {Number} inc - inclination + * @param {Number} node - longitude of ascending node (Ω) + * @param {Number} peri - argument of perihelion (ω) + */ +class Elements { + constructor (inc, node, peri) { + if (typeof inc === 'object') { + node = inc.pode; + peri = inc.peri; + inc = inc.inc; + } + this.inc = inc || 0; + this.node = node || 0; + this.peri = peri || 0; + } +} + +// (24.4) p. 161 +const S = 0.0001139788; +const C = 0.9999999935; +/** + * ReduceB1950ToJ2000 reduces orbital elements of a solar system body from + * equinox B1950 to J2000. + * + * @param {Elements} eFrom + * @returns {Elements} eTo + */ +function reduceB1950ToJ2000 (eFrom) { + const W = eFrom.node - 174.298782 * Math.PI / 180; + const [si, ci] = base["default"].sincos(eFrom.inc); + const [sW, cW] = base["default"].sincos(W); + const A = si * sW; + const B = C * si * cW - S * ci; + const eTo = new Elements(); + eTo.inc = Math.asin(Math.hypot(A, B)); + eTo.node = base["default"].pmod(174.997194 * Math.PI / 180 + Math.atan2(A, B), + 2 * Math.PI); + eTo.peri = base["default"].pmod(eFrom.peri + Math.atan2(-S * sW, C * si - S * ci * cW), + 2 * Math.PI); + return eTo +} + +const Lp = 4.50001688 * Math.PI / 180; +const L = 5.19856209 * Math.PI / 180; +const J = 0.00651966 * Math.PI / 180; + +/** + * ReduceB1950ToJ2000 reduces orbital elements of a solar system body from + * equinox B1950 in the FK4 system to equinox J2000 in the FK5 system. + * + * @param {Elements} eFrom + * @returns {Elements} eTo + */ +function reduceB1950FK4ToJ2000FK5 (eFrom) { + const W = L + eFrom.node; + const [si, ci] = base["default"].sincos(eFrom.inc); + const [sJ, cJ] = base["default"].sincos(J); + const [sW, cW] = base["default"].sincos(W); + const eTo = new Elements(); + eTo.inc = Math.acos(ci * cJ - si * sJ * cW); + eTo.node = base["default"].pmod(Math.atan2(si * sW, ci * sJ + si * cJ * cW) - Lp, + 2 * Math.PI); + eTo.peri = base["default"].pmod(eFrom.peri + Math.atan2(sJ * sW, si * cJ + ci * sJ * cW), + 2 * Math.PI); + return eTo +} + +var elementequinox = { + Elements, + reduceB1950ToJ2000, + reduceB1950FK4ToJ2000FK5 +}; + +exports.Elements = Elements; +exports["default"] = elementequinox; +exports.reduceB1950FK4ToJ2000FK5 = reduceB1950FK4ToJ2000FK5; +exports.reduceB1950ToJ2000 = reduceB1950ToJ2000; + + +/***/ }), + +/***/ 9672: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var apparent = __nccwpck_require__(1141); +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var kepler = __nccwpck_require__(2961); +var nutation = __nccwpck_require__(6723); +var planetposition = __nccwpck_require__(5579); +var solarxyz = __nccwpck_require__(9432); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module elliptic + */ + +/** + * Position returns observed equatorial coordinates of a planet at a given time. + * + * Argument p must be a valid V87Planet object for the observed planet. + * Argument earth must be a valid V87Planet object for Earth. + * + * Results are right ascension and declination, α and δ in radians. + */ +function position (planet, earth, jde) { // (p, earth *pp.V87Planet, jde float64) (α, δ float64) + let x = 0; + let y = 0; + let z = 0; + const posEarth = earth.position(jde); + const [L0, B0, R0] = [posEarth.lon, posEarth.lat, posEarth.range]; + const [sB0, cB0] = base["default"].sincos(B0); + const [sL0, cL0] = base["default"].sincos(L0); + + function pos (τ = 0) { + const pos = planet.position(jde - τ); + const [L, B, R] = [pos.lon, pos.lat, pos.range]; + const [sB, cB] = base["default"].sincos(B); + const [sL, cL] = base["default"].sincos(L); + x = R * cB * cL - R0 * cB0 * cL0; + y = R * cB * sL - R0 * cB0 * sL0; + z = R * sB - R0 * sB0; + } + + pos(); + const Δ = Math.sqrt(x * x + y * y + z * z); // (33.4) p. 224 + const τ = base["default"].lightTime(Δ); + // repeating with jde-τ + pos(τ); + + let λ = Math.atan2(y, x); // (33.1) p. 223 + let β = Math.atan2(z, Math.hypot(x, y)); // (33.2) p. 223 + const [Δλ, Δβ] = apparent["default"].eclipticAberration(λ, β, jde); + const fk5 = planetposition["default"].toFK5(λ + Δλ, β + Δβ, jde); + λ = fk5.lon; + β = fk5.lat; + const [Δψ, Δε] = nutation["default"].nutation(jde); + λ += Δψ; + const ε = nutation["default"].meanObliquity(jde) + Δε; + return new coord["default"].Ecliptic(λ, β).toEquatorial(ε) + // Meeus gives a formula for elongation but doesn't spell out how to + // obtaion term λ0 and doesn't give an example solution. +} + +/** + * Elements holds keplerian elements. + */ +class Elements { + /* + Axis float64 // Semimajor axis, a, in AU + Ecc float64 // Eccentricity, e + Inc float64 // Inclination, i, in radians + ArgP float64 // Argument of perihelion, ω, in radians + Node float64 // Longitude of ascending node, Ω, in radians + TimeP float64 // Time of perihelion, T, as jde + */ + constructor (axis, ecc, inc, argP, node, timeP) { + let o = {}; + if (typeof axis === 'object') { + o = axis; + } + this.axis = o.axis || axis; + this.ecc = o.ecc || ecc; + this.inc = o.inc || inc; + this.argP = o.argP || argP; + this.node = o.node || node; + this.timeP = o.timeP || timeP; + } + + /** + * Position returns observed equatorial coordinates of a body with Keplerian elements. + * + * Argument e must be a valid V87Planet object for Earth. + * + * Results are right ascension and declination α and δ, and elongation ψ, + * all in radians. + */ + position (jde, earth) { // (α, δ, ψ float64) { + // (33.6) p. 227 + const n = base["default"].K / this.axis / Math.sqrt(this.axis); + const sε = base["default"].SOblJ2000; + const cε = base["default"].COblJ2000; + const [sΩ, cΩ] = base["default"].sincos(this.node); + const [si, ci] = base["default"].sincos(this.inc); + // (33.7) p. 228 + const F = cΩ; + const G = sΩ * cε; + const H = sΩ * sε; + const P = -sΩ * ci; + const Q = cΩ * ci * cε - si * sε; + const R = cΩ * ci * sε + si * cε; + // (33.8) p. 229 + const A = Math.atan2(F, P); + const B = Math.atan2(G, Q); + const C = Math.atan2(H, R); + const a = Math.hypot(F, P); + const b = Math.hypot(G, Q); + const c = Math.hypot(H, R); + + const f = (jde) => { // (x, y, z float64) { + const M = n * (jde - this.timeP); + let E; + try { + E = kepler["default"].kepler2b(this.ecc, M, 15); + } catch (e) { + E = kepler["default"].kepler3(this.ecc, M); + } + const ν = kepler["default"].trueAnomaly(E, this.ecc); + const r = kepler["default"].radius(E, this.ecc, this.axis); + // (33.9) p. 229 + const x = r * a * Math.sin(A + this.argP + ν); + const y = r * b * Math.sin(B + this.argP + ν); + const z = r * c * Math.sin(C + this.argP + ν); + return { x, y, z } + }; + return astrometricJ2000(f, jde, earth) + } +} + +/** + * AstrometricJ2000 is a utility function for computing astrometric coordinates. + * + * It is used internally and only exported so that it can be used from + * multiple packages. It is not otherwise expected to be used. + * + * Argument f is a function that returns J2000 equatorial rectangular + * coodinates of a body. + * + * Results are J2000 right ascention, declination, and elongation. + */ +function astrometricJ2000 (f, jde, earth) { // (f func(float64) (x, y, z float64), jde float64, e *pp.V87Planet) (α, δ, ψ float64) + const sol = solarxyz["default"].positionJ2000(earth, jde); + const [X, Y, Z] = [sol.x, sol.y, sol.z]; + let ξ = 0; + let η = 0; + let ζ = 0; + let Δ = 0; + + function fn (τ = 0) { + // (33.10) p. 229 + const { x, y, z } = f(jde - τ); + ξ = X + x; + η = Y + y; + ζ = Z + z; + Δ = Math.sqrt(ξ * ξ + η * η + ζ * ζ); + } + + fn(); + const τ = base["default"].lightTime(Δ); + fn(τ); + + let α = Math.atan2(η, ξ); + if (α < 0) { + α += 2 * Math.PI; + } + const δ = Math.asin(ζ / Δ); + const R0 = Math.sqrt(X * X + Y * Y + Z * Z); + const ψ = Math.acos((ξ * X + η * Y + ζ * Z) / R0 / Δ); + return new base["default"].Coord(α, δ, undefined, ψ) +} + +/** + * Velocity returns instantaneous velocity of a body in elliptical orbit around the Sun. + * + * Argument a is the semimajor axis of the body, r is the instaneous distance + * to the Sun, both in AU. + * + * Result is in Km/sec. + */ +function velocity (a, r) { // (a, r float64) float64 + return 42.1219 * Math.sqrt(1 / r - 0.5 / a) +} + +/** + * Velocity returns the velocity of a body at aphelion. + * + * Argument a is the semimajor axis of the body in AU, e is eccentricity. + * + * Result is in Km/sec. + */ +function vAphelion (a, e) { // (a, e float64) float64 + return 29.7847 * Math.sqrt((1 - e) / (1 + e) / a) +} + +/** + * Velocity returns the velocity of a body at perihelion. + * + * Argument a is the semimajor axis of the body in AU, e is eccentricity. + * + * Result is in Km/sec. + */ +function vPerihelion (a, e) { // (a, e float64) float64 + return 29.7847 * Math.sqrt((1 + e) / (1 - e) / a) +} + +/** + * Length1 returns Ramanujan's approximation for the length of an elliptical + * orbit. + * + * Argument a is semimajor axis, e is eccentricity. + * + * Result is in units used for semimajor axis, typically AU. + */ +function length1 (a, e) { // (a, e float64) float64 + const b = a * Math.sqrt(1 - e * e); + return Math.PI * (3 * (a + b) - Math.sqrt((a + 3 * b) * (3 * a + b))) +} + +/** + * Length2 returns an alternate approximation for the length of an elliptical + * orbit. + * + * Argument a is semimajor axis, e is eccentricity. + * + * Result is in units used for semimajor axis, typically AU. + */ +function length2 (a, e) { // (a, e float64) float64 + const b = a * Math.sqrt(1 - e * e); + const s = a + b; + const p = a * b; + const A = s * 0.5; + const G = Math.sqrt(p); + const H = 2 * p / s; + return Math.PI * (21 * A - 2 * G - 3 * H) * 0.125 +} + +/** + * Length3 returns the length of an elliptical orbit. + * + * Argument a is semimajor axis, e is eccentricity. + * + * Result is exact, and in units used for semimajor axis, typically AU. + */ +/* As Meeus notes, Length4 converges faster. There is no reason to use +this function +export function length3 (a, e) { // (a, e float64) float64 + const sum0 = 1.0 + const e2 = e * e + const term = e2 * 0.25 + const sum1 = 1.0 - term + const nf = 1.0 + const df = 2.0 + while (sum1 !== sum0) { + term *= nf + nf += 2 + df += 2 + term *= nf * e2 / (df * df) + sum0 = sum1 + sum1 -= term + } + return 2 * Math.PI * a * sum0 +} */ + +/** + * Length4 returns the length of an elliptical orbit. + * + * Argument a is semimajor axis, e is eccentricity. + * + * Result is exact, and in units used for semimajor axis, typically AU. + */ +function length4 (a, e) { // (a, e float64) float64 + const b = a * Math.sqrt(1 - e * e); + const m = (a - b) / (a + b); + const m2 = m * m; + let sum0 = 1.0; + let term = m2 * 0.25; + let sum1 = 1.0 + term; + let nf = -1.0; + let df = 2.0; + while (sum1 !== sum0) { + nf += 2; + df += 2; + term *= nf * nf * m2 / (df * df); + sum0 = sum1; + sum1 += term; + } + return 2 * Math.PI * a * sum0 / (1 + m) +} + +var elliptic = { + position, + Elements, + astrometricJ2000, + velocity, + vAphelion, + vPerihelion, + length1, + length2, + // length3, + length4 +}; + +exports.Elements = Elements; +exports.astrometricJ2000 = astrometricJ2000; +exports["default"] = elliptic; +exports.length1 = length1; +exports.length2 = length2; +exports.length4 = length4; +exports.position = position; +exports.vAphelion = vAphelion; +exports.vPerihelion = vPerihelion; +exports.velocity = velocity; + + +/***/ }), + +/***/ 4696: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2020 mdmunir + * @copyright 2020 commenthol + * @license MIT + * @module elp + */ + +const SEC2RAD = 1 / 3600 * Math.PI / 180; + +function sum (T, series) { + const coeffs = []; + Object.keys(series).forEach((x) => { + coeffs[x] = 0.0; + let y = series[x].length - 1; + for (y; y >= 0; y--) { + // A, t0, t1, t2, t3, t4 + const row = series[x][y]; + const φ = base["default"].horner(T, row.slice(1)); + coeffs[x] += row[0] * Math.sin(φ); + } + }); + return base["default"].horner(T, ...coeffs) +} + +/** + * + */ +class Moon { + /** + * ELP representation of a Moon + * @constructs Moon + * @param {object} data - elp data series + * @example + * ```js + * // for use in browser + * import {data} from 'astronomia.js' + * const moon = new elp.Moon(data.elpMppDe) + * ``` + */ + constructor (data) { + if (typeof data !== 'object') throw new TypeError('need Elp data') + this.series = data; + } + + _calcLBR (T) { + const L = base["default"].horner(T, this.series.W1) + sum(T, this.series.L) * SEC2RAD; + const B = sum(T, this.series.B) * SEC2RAD; + const R = sum(T, this.series.R); + return { L: base["default"].pmod(L, 2 * Math.PI), B, R } + } + + /** + * Position returns rectangular coordinates referred to the inertial mean ecliptic and equinox of J2000. + * @param {Number} jde - Julian ephemeris day + * @return {object} rectangular coordinates + * {Number} x + * {Number} y + * {Number} z + */ + positionXYZ (jde) { + const T = base["default"].J2000Century(jde); + const { L, B, R } = this._calcLBR(T); + + const x = R * Math.cos(L) * Math.cos(B); + const y = R * Math.sin(L) * Math.cos(B); + const z = R * Math.sin(B); + + const P = base["default"].horner(T, 0, 0.10180391e-4, 0.47020439e-6, -0.5417367e-9, -0.2507948e-11, 0.463486e-14); + const Q = base["default"].horner(T, 0, -0.113469002e-3, 0.12372674e-6, 0.12654170e-8, -0.1371808e-11, -0.320334e-14); + const sq = Math.sqrt(1 - P * P - Q * Q); + const p11 = 1 - 2 * P * P; + const p12 = 2 * P * Q; + const p13 = 2 * P * sq; + const p21 = 2 * P * Q; + const p22 = 1 - 2 * Q * Q; + const p23 = -2 * Q * sq; + const p31 = -2 * P * sq; + const p32 = 2 * Q * sq; + const p33 = 1 - 2 * P * P - 2 * Q * Q; + + const result = { + x: p11 * x + p12 * y + p13 * z, + y: p21 * x + p22 * y + p23 * z, + z: p31 * x + p32 * y + p33 * z + }; + return result + } + + /** + * Delay effect of light time + * + * @param {Number} jde - Julian ephemeris day + * @returns {Number} Delay time in days + */ + lightTime (jde) { + const T = base["default"].J2000Century(jde); + const R = sum(T, this.series.R); + return base["default"].lightTime(R / base["default"].AU) + } + + /** + * Position returns ecliptic position of moon at equinox and ecliptic of date. + * + * @param {Number} jde - the date for which positions are desired. + * @returns {Coord} Results are positions consistent with those elp data, + * that is, at equinox and ecliptic of date. + * {Number} lon - geocentric longitude in radians. + * {Number} lat - geocentric latitude in radians. + * {Number} range - geocentric range in KM. + */ + position (jde) { + const T = base["default"].J2000Century(jde); + const { L, B, R } = this._calcLBR(T); + + // precession + const pA = base["default"].horner(T, 0, 5029.0966 - 0.29965, 1.1120, 0.000077, -0.00002353) * SEC2RAD; + return new base.Coord( + base["default"].pmod(L + pA, 2 * Math.PI), + B, + R) + } +} + +/** + * Position returns the true geometric position of the moon as ecliptic coordinates. + * + * Result computed by Elp theory. Result is at equator and equinox + * of date in the FK5 frame. It does not include nutation or aberration. + * + * @param {Object} elpData + * @param {Number} jde - Julian ephemeris day + * @returns {Object} + * {Number} lon - ecliptic longitude in radians + * {Number} lat - ecliptic latitude in radians + * {Number} range - range in KM + */ +function position (elpData, jde) { + const moon = new Moon(elpData); + return moon.position(jde) +} + +var elp = { + Moon, + position +}; + +exports.Moon = Moon; +exports["default"] = elp; +exports.position = position; + + +/***/ }), + +/***/ 6695: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var nutation = __nccwpck_require__(6723); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module eqtime + */ +const { cos, sin, tan } = Math; + +/** + * e computes the "equation of time" for the given JDE. + * + * Parameter planet must be a planetposition.Planet object for Earth obtained + * with `new planetposition.Planet('earth')`. + * + * @param {Number} jde - Julian ephemeris day + * @param {planetposition.Planet} earth - VSOP87 planet + * @returns {Number} equation of time as an hour angle in radians. + */ +function e (jde, earth) { + const τ = base["default"].J2000Century(jde) * 0.1; + const L0 = l0(τ); + // code duplicated from solar.ApparentEquatorialVSOP87 so that + // we can keep Δψ and cε + const { lon, lat, range } = solar["default"].trueVSOP87(earth, jde); + const [Δψ, Δε] = nutation["default"].nutation(jde); + const a = -20.4898 / 3600 * Math.PI / 180 / range; + const λ = lon + Δψ + a; + const ε = nutation["default"].meanObliquity(jde) + Δε; + const eq = new coord["default"].Ecliptic(λ, lat).toEquatorial(ε); + // (28.1) p. 183 + const E = L0 - 0.0057183 * Math.PI / 180 - eq.ra + Δψ * cos(ε); + return base["default"].pmod(E + Math.PI, 2 * Math.PI) - Math.PI +} + +/** + * (28.2) p. 183 + */ +const l0 = function (τ) { + return base["default"].horner(τ, 280.4664567, 360007.6982779, 0.03032028, + 1.0 / 49931, -1.0 / 15300, -1.0 / 2000000) * Math.PI / 180 +}; + +/** + * eSmart computes the "equation of time" for the given JDE. + * + * Result is less accurate that e() but the function has the advantage + * of not requiring the V87Planet object. + * + * @param {Number} jde - Julian ephemeris day + * @returns {Number} equation of time as an hour angle in radians. + */ +function eSmart (jde) { + const ε = nutation["default"].meanObliquity(jde); + const t = tan(ε * 0.5); + const y = t * t; + const T = base["default"].J2000Century(jde); + const L0 = l0(T * 0.1); + const e = solar["default"].eccentricity(T); + const M = solar["default"].meanAnomaly(T); + const [sin2L0, cos2L0] = base["default"].sincos(2 * L0); + const sinM = sin(M); + // (28.3) p. 185 + return y * sin2L0 - 2 * e * sinM + 4 * e * y * sinM * cos2L0 - + y * y * sin2L0 * cos2L0 - 1.25 * e * e * sin(2 * M) +} + +var eqtime = { + e, + eSmart +}; + +exports["default"] = eqtime; +exports.e = e; +exports.eSmart = eSmart; + + +/***/ }), + +/***/ 9454: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module fit + */ +/** + * Fit: Chapter 4, Curve Fitting. + */ + +/** + * Linear fits a line to sample data. + * + * Argument p is a list of data points. Results a and b are coefficients + * of the best fit line y = ax + b. + */ +function linear (points) { // (p []struct{ X, Y float64 }) (a, b float64) + let sx = 0; + let sy = 0; + let sx2 = 0; + let sxy = 0; + for (const p of points) { + const x = p.x; + const y = p.y; + sx += x; + sy += y; + sx2 += x * x; + sxy += x * y; + } + const n = points.length; + const d = n * sx2 - sx * sx; + // (4.2) p. 36 + const a = (n * sxy - sx * sy) / d; + const b = (sy * sx2 - sx * sxy) / d; + return [a, b] +} + +/** + * CorrelationCoefficient returns a correlation coefficient for sample data. + */ +function correlationCoefficient (points) { // (p []struct{ X, Y float64 }) float64 + let sx = 0; + let sy = 0; + let sx2 = 0; + let sy2 = 0; + let sxy = 0; + for (const p of points) { + const x = p.x; + const y = p.y; + sx += x; + sy += y; + sx2 += x * x; + sy2 += y * y; + sxy += x * y; + } + const n = points.length; + // (4.3) p. 38 + return (n * sxy - sx * sy) / (Math.sqrt(n * sx2 - sx * sx) * Math.sqrt(n * sy2 - sy * sy)) +} + +/** + * Quadratic fits y = ax² + bx + c to sample data. + * + * Argument p is a list of data points. Results a, b, and c are coefficients + * of the best fit quadratic y = ax² + bx + c. + */ +function quadratic (points) { + let P = 0; + let Q = 0; + let R = 0; + let S = 0; + let T = 0; + let U = 0; + let V = 0; + for (const p of points) { + const x = p.x; + const y = p.y; + const x2 = x * x; + P += x; + Q += x2; + R += x * x2; + S += x2 * x2; + T += y; + U += x * y; + V += x2 * y; + } + const N = points.length; + // (4.5) p. 43 + const D = N * Q * S + 2 * P * Q * R - Q * Q * Q - P * P * S - N * R * R; + // (4.6) p. 43 + const a = (N * Q * V + P * R * T + P * Q * U - Q * Q * T - P * P * V - N * R * U) / D; + const b = (N * S * U + P * Q * V + Q * R * T - Q * Q * U - P * S * T - N * R * V) / D; + const c = (Q * S * T + Q * R * U + P * R * V - Q * Q * V - P * S * U - R * R * T) / D; + return [a, b, c] +} + +/** + * Func3 implements multiple linear regression for a linear combination + * of three functions. + * + * Given sample data and three functions in x, Func3 returns coefficients + * a, b, and c fitting y = aƒ₀(x) + bƒ₁(x) + cƒ₂(x) to sample data. + */ +function func3 (points, f0, f1, f2) { + let M = 0; + let P = 0; + let Q = 0; + let R = 0; + let S = 0; + let T = 0; + let U = 0; + let V = 0; + let W = 0; + for (const p of points) { + const x = p.x; + const y = p.y; + const y0 = f0(x); + const y1 = f1(x); + const y2 = f2(x); + M += y0 * y0; + P += y0 * y1; + Q += y0 * y2; + R += y1 * y1; + S += y1 * y2; + T += y2 * y2; + U += y * y0; + V += y * y1; + W += y * y2; + } + // (4.7) p. 44 + const D = M * R * T + 2 * P * Q * S - M * S * S - R * Q * Q - T * P * P; + const a = (U * (R * T - S * S) + V * (Q * S - P * T) + W * (P * S - Q * R)) / D; + const b = (U * (S * Q - P * T) + V * (M * T - Q * Q) + W * (P * Q - M * S)) / D; + const c = (U * (P * S - R * Q) + V * (P * Q - M * S) + W * (M * R - P * P)) / D; + return [a, b, c] +} + +/** + * Func1 fits a linear multiple of a function to sample data. + * + * Given sample data and a function in x, Func1 returns coefficient + * a fitting y = aƒ(x). + */ +function func1 (points, f) { + let syf = 0; + let sf2 = 0; + // (4.8) p. 45 + for (const p of points) { + const fx = f(p.x); + const y = p.y; + syf += y * fx; + sf2 += fx * fx; + } + return syf / sf2 +} + +var fit = { + linear, + correlationCoefficient, + quadratic, + func3, + func1 +}; + +exports.correlationCoefficient = correlationCoefficient; +exports["default"] = fit; +exports.func1 = func1; +exports.func3 = func3; +exports.linear = linear; +exports.quadratic = quadratic; + + +/***/ }), + +/***/ 9310: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module globe + */ +/** + * Globe: Chapter 11, The Earth's Globe. + * + * Globe contains functions concerning the surface of the Earth idealized as + * an ellipsoid of revolution. + */ + +/** + * Ellipsoid represents an ellipsoid of revolution. */ +class Ellipsoid { + /** + * @param {number} radius - equatorial radius + * @param {number} flat - ellipsiod flattening + */ + constructor (radius, flat) { + this.radius = radius; + this.flat = flat; + } + + /** A is a common identifier for equatorial radius. */ + A () { + return this.radius + } + + /** B is a common identifier for polar radius. */ + B () { + return this.radius * (1 - this.flat) + } + + /** eccentricity of a meridian. */ + eccentricity () { + return Math.sqrt((2 - this.flat) * this.flat) + } + + /** + * parallaxConstants computes parallax constants ρ sin φ′ and ρ cos φ′. + * + * Arguments are geographic latitude φ in radians and height h + * in meters above the ellipsoid. + * + * @param {number} φ - geographic latitude in radians + * @param {number} h - height in meters above the ellipsoid + * @return {number[]} [ρ sin φ′, ρ cos φ] parallax constants [ρsφ, ρcφ] + */ + parallaxConstants (φ, h) { + const boa = 1 - this.flat; + const su = Math.sin(Math.atan(boa * Math.tan(φ))); + const cu = Math.cos(Math.atan(boa * Math.tan(φ))); + const s = Math.sin(φ); + const c = Math.cos(φ); + const hoa = h * 1e-3 / this.radius; + // (s, c float) + const ρsφ = su * boa + hoa * s; + const ρcφ = cu + hoa * c; + return [ρsφ, ρcφ] + } + + /** + * rho is distance from Earth center to a point on the ellipsoid. + * + * Result unit is fraction of the equatorial radius. + * @param {number} φ - geographic latitude in radians + * @returns {number} // TODO + */ + rho (φ) { + // Magic numbers... + return 0.9983271 + 0.0016764 * Math.cos(2 * φ) - 0.0000035 * Math.cos(4 * φ) + } + + /** + * radiusAtLatitude returns the radius of the circle that is the parallel of + * latitude at φ. + * + * Result unit is Km. + * + * @param {number} φ + * @return {number} radius in km + */ + radiusAtLatitude (φ) { + const s = Math.sin(φ); + const c = Math.cos(φ); + return this.A() * c / Math.sqrt(1 - (2 - this.flat) * this.flat * s * s) + } + + /** + * radiusOfCurvature of meridian at latitude φ. + * + * Result unit is Km. + * + * @param {number} φ + * @return {number} radius in km + */ + radiusOfCurvature (φ) { + const s = Math.sin(φ); + const e2 = (2 - this.flat) * this.flat; + return this.A() * (1 - e2) / Math.pow(1 - e2 * s * s, 1.5) + } + + /** + * distance is distance between two points measured along the surface + * of an ellipsoid. + * + * Accuracy is much better than that of approxAngularDistance or + * approxLinearDistance. + * + * Result unit is Km. + * + * @param {Coord} c1 + * @param {Coord} c2 + * @return {number} radius in km + */ + distance (c1, c2) { + // From AA, ch 11, p 84. + const [s2f, c2f] = sincos2((c1.lat + c2.lat) / 2); + const [s2g, c2g] = sincos2((c1.lat - c2.lat) / 2); + const [s2λ, c2λ] = sincos2((c1.lon - c2.lon) / 2); + const s = s2g * c2λ + c2f * s2λ; + const c = c2g * c2λ + s2f * s2λ; + const ω = Math.atan(Math.sqrt(s / c)); + const r = Math.sqrt(s * c) / ω; + const d = 2 * ω * this.radius; + const h1 = (3 * r - 1) / (2 * c); + const h2 = (3 * r + 1) / (2 * s); + return d * (1 + this.flat * (h1 * s2f * c2g - h2 * c2f * s2g)) + } +} + +/** IAU 1976 values. Radius in Km. */ +const Earth76 = new Ellipsoid(6378.14, 1 / 298.257); + +/** + * RotationRate1996_5 is the rotational angular velocity of the Earth + * with respect to the stars at the epoch 1996.5. + * + * Unit is radian/second. + */ +const RotationRate1996_5 = 7.292114992e-5; // eslint-disable-line camelcase + +/** + * oneDegreeOfLongitude returns the length of one degree of longitude. + * + * Argument `rp` is the radius in Km of a circle that is a parallel of latitude + * (as returned by Ellipsoid.radiusAtLatitude.) + * Result is distance in Km along one degree of the circle. + * + * @param {number} rp + * @return {number} distance in Km + */ +function oneDegreeOfLongitude (rp) { + return rp * Math.PI / 180 +} + +/** + * oneDegreeOfLatitude returns the length of one degree of latitude. + * + * Argument `rm` is the radius in Km of curvature along a meridian. + * (as returned by Ellipsoid.radiusOfCurvature.) + * Result is distance in Km along one degree of the meridian. + * + * @param {number} rm + * @return {number} distance in Km + */ +function oneDegreeOfLatitude (rm) { + return rm * Math.PI / 180 +} + +/** + * geocentricLatitudeDifference returns geographic latitude - geocentric + * latitude (φ - φ′) with given geographic latitude (φ). + * + * Units are radians. + * @param {number} φ + * @returns {number} difference in Deg + */ +function geocentricLatitudeDifference (φ) { + // This appears to be an approximation with hard coded magic numbers. + // No explanation is given in the text. The ellipsoid is not specified. + // Perhaps the approximation works well enough for all ellipsoids? + return (692.73 * Math.sin(2 * φ) - 1.16 * Math.sin(4 * φ)) * Math.PI / (180 * 3600) +} + +/** + * Coord represents geographic coordinates on the Earth. + * + * Longitude is measured positively westward from the Greenwich meridian. + */ +class Coord { + /** + * @param {number} lat - latitude (φ) in radians + * @param {number} lon - longitude (ψ, or L) in radians (measured positively westward) + */ + constructor (lat = 0, lon = 0) { + this.lat = lat; + this.lon = lon; + } +} + +/** + * approxAngularDistance returns the cosine of the angle between two points. + * + * The accuracy deteriorates at small angles. + * + * @param {Coord} p1 - Point 1 + * @param {Coord} p2 - Point 2 + * @returns {number} cosine `cos` of the angle between two points. + * Use `d = Math.acos(cos)` to obtain geocentric angular distance in radians + */ +function approxAngularDistance (p1, p2) { + const s1 = Math.sin(p1.lat); + const c1 = Math.cos(p1.lat); + const s2 = Math.sin(p2.lat); + const c2 = Math.cos(p2.lat); + return s1 * s2 + c1 * c2 * Math.cos(p1.lon - p2.lon) +} + +/** + * approxLinearDistance computes a distance across the surface of the Earth. + * + * Approximating the Earth as a sphere, the function takes a geocentric angular + * distance in radians and returns the corresponding linear distance in Km. + * + * @param {number} d - geocentric angular distance in radians + * @returns linear distance in Km + */ +function approxLinearDistance (d) { + return 6371 * d +} + +/** + * @private + */ +function sincos2 (x) { + const s = Math.sin(x); + const c = Math.cos(x); + return [s * s, c * c] +} + +var globe = { + Ellipsoid, + Earth76, + // eslint-disable-next-line camelcase + RotationRate1996_5, + oneDegreeOfLongitude, + oneDegreeOfLatitude, + geocentricLatitudeDifference, + Coord, + approxAngularDistance, + approxLinearDistance +}; + +exports.Coord = Coord; +exports.Earth76 = Earth76; +exports.Ellipsoid = Ellipsoid; +exports.RotationRate1996_5 = RotationRate1996_5; +exports.approxAngularDistance = approxAngularDistance; +exports.approxLinearDistance = approxLinearDistance; +exports["default"] = globe; +exports.geocentricLatitudeDifference = geocentricLatitudeDifference; +exports.oneDegreeOfLatitude = oneDegreeOfLatitude; +exports.oneDegreeOfLongitude = oneDegreeOfLongitude; + + +/***/ }), + +/***/ 8650: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module illum + */ + +const { toDeg } = base["default"]; +const D2R = Math.PI / 180; + +/** + * PhaseAngle computes the phase angle of a planet. + * + * Argument r is planet's distance to Sun, Δ its distance to Earth, and R + * the distance from Sun to Earth. All distances in AU. + * + * Result in radians. + */ +function phaseAngle (r, Δ, R) { // (r, Δ, R float64) float64 + return Math.acos((r * r + Δ * Δ - R * R) / (2 * r * Δ)) +} + +/** + * Fraction computes the illuminated fraction of the disk of a planet. + * + * Argument r is planet's distance to Sun, Δ its distance to Earth, and R + * the distance from Sun to Earth. All distances in AU. + */ +function fraction (r, Δ, R) { // (r, Δ, R float64) float64 + // (41.2) p. 283 + const s = r + Δ; + return (s * s - R * R) / (4 * r * Δ) +} + +/** + * PhaseAngle2 computes the phase angle of a planet. + * + * Arguments L, B, R are heliocentric ecliptical coordinates of the planet. + * L0, R0 are longitude and radius for Earth, Δ is distance from Earth to + * the planet. All distances in AU, angles in radians. + * + * The phase angle result is in radians. + */ +function phaseAngle2 (L, B, R, L0, R0, Δ) { // (L, B, R, L0, R0, Δ float64) float64 + // (41.3) p. 283 + return Math.acos((R - R0 * Math.cos(B) * Math.cos(L - L0)) / Δ) +} + +/** + * PhaseAngle3 computes the phase angle of a planet. + * + * Arguments L, B are heliocentric ecliptical longitude and latitude of the + * planet. x, y, z are cartesian coordinates of the planet, Δ is distance + * from Earth to the planet. All distances in AU, angles in radians. + * + * The phase angle result is in radians. + */ +function phaseAngle3 (L, B, x, y, z, Δ) { // (L, B, x, y, z, Δ float64) float64 + // (41.4) p. 283 + const [sL, cL] = base["default"].sincos(L); + const [sB, cB] = base["default"].sincos(B); + return Math.acos((x * cB * cL + y * cB * sL + z * sB) / Δ) +} + +/** + * FractionVenus computes an approximation of the illumanted fraction of Venus. + */ +function fractionVenus (jde) { // (jde float64) float64 + const T = base["default"].J2000Century(jde); + const V = (261.51 + 22518.443 * T) * D2R; + const M = (177.53 + 35999.05 * T) * D2R; + const N = (50.42 + 58517.811 * T) * D2R; + const W = V + (1.91 * Math.sin(M) + 0.78 * Math.sin(N)) * D2R; + const Δ = Math.sqrt(1.52321 + 1.44666 * Math.cos(W)); + const s = 0.72333 + Δ; + return (s * s - 1) / 2.89332 / Δ +} + +/** + * Mercury computes the visual magnitude of Mercury. + * Formula by G. Müller + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function mercury (r, Δ, i) { // (r, Δ, i float64) float64 + const s = toDeg(i) - 50; + return 1.16 + 5 * Math.log10(r * Δ) + (0.02838 + 0.0001023 * s) * s +} + +/** + * Venus computes the visual magnitude of Venus. + * Formula by G. Müller + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function venus (r, Δ, i) { // (r, Δ, i float64) float64 + const iDeg = toDeg(i); + return -4 + 5 * Math.log10(r * Δ) + (0.01322 + 0.0000004247 * iDeg * iDeg) * iDeg +} + +/** + * Mars computes the visual magnitude of Mars. + * Formula by G. Müller + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function mars (r, Δ, i) { // (r, Δ, i float64) float64 + return -1.3 + 5 * Math.log10(r * Δ) + 0.01486 * toDeg(i) +} + +/** + * Jupiter computes the visual magnitude of Jupiter. + * Formula by G. Müller + * Effect of phase not considered + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function jupiter (r, Δ) { // (r, Δ float64) float64 + return -8.93 + 5 * Math.log10(r * Δ) +} + +/** + * Saturn computes the visual magnitude of Saturn. + * Formula by G. Müller + * Sun's altitude above the plane of the ring is not considered. + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + * B is the Saturnicentric latitude of the Earth referred to the plane of + * Saturn's ring. + * ΔU (in radians) is the difference between the Saturnicentric longitudes + * of the Sun and the Earth, measured in the plane of the ring. + * You can use saturndisk.Disk() to obtain B and ΔU. + */ +function saturn (r, Δ, B, ΔU) { // (r, Δ, B, ΔU float64) float64 + const s = Math.sin(Math.abs(B)); + return -8.68 + 5 * Math.log10(r * Δ) + 0.044 * Math.abs(toDeg(ΔU)) - 2.6 * s + 1.25 * s * s +} + +/** + * Uranus computes the visual magnitude of Uranus. + * Formula by G. Müller + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function uranus (r, Δ) { // (r, Δ float64) float64 + return -6.85 + 5 * Math.log10(r * Δ) +} + +/** + * Neptune computes the visual magnitude of Neptune. + * Formulae by G. Müller + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function neptune (r, Δ) { // (r, Δ float64) float64 + return -7.05 + 5 * Math.log10(r * Δ) +} + +/** + * Mercury84 computes the visual magnitude of Mercury. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function mercury84 (r, Δ, i) { // (r, Δ, i float64) float64 + return base["default"].horner(toDeg(i), -0.42 + 5 * Math.log10(r * Δ), + 0.038, -0.000273, 0.000002) +} + +/** + * Venus84 computes the visual magnitude of Venus. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function venus84 (r, Δ, i) { // (r, Δ, i float64) float64 + return base["default"].horner(toDeg(i), -4.4 + 5 * Math.log10(r * Δ), + 0.0009, 0.000239, -0.00000065) +} + +/** + * Mars84 computes the visual magnitude of Mars. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function mars84 (r, Δ, i) { // (r, Δ, i float64) float64 + return -1.52 + 5 * Math.log10(r * Δ) + 0.016 * toDeg(i) +} + +/** + * Jupiter84 computes the visual magnitude of Jupiter. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth, + * and i the phase angle in radians. + */ +function jupiter84 (r, Δ, i) { // (r, Δ, i float64) float64 + return -9.4 + 5 * Math.log10(r * Δ) + 0.005 * toDeg(i) +} + +/** + * Saturn84 computes the visual magnitude of Saturn. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + * B is the Saturnicentric latitude of the Earth referred to the plane of + * Saturn's ring. + * ΔU (in radians) is the difference between the Saturnicentric longitudes + * of the Sun and the Earth, measured in the plane of the ring. + */ +function saturn84 (r, Δ, B, ΔU) { // (r, Δ, B, ΔU float64) float64 + const s = Math.sin(Math.abs(B)); + return -8.88 + 5 * Math.log10(r * Δ) + 0.044 * Math.abs(toDeg(ΔU)) - 2.6 * s + 1.25 * s * s +} + +/** + * Uranus84 computes the visual magnitude of Uranus. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function uranus84 (r, Δ) { // (r, Δ float64) float64 + return -7.19 + 5 * Math.log10(r * Δ) +} + +/** + * Neptune84 computes the visual magnitude of Neptune. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function neptune84 (r, Δ) { // (r, Δ float64) float64 + return -6.87 + 5 * Math.log10(r * Δ) +} + +/** + * Pluto84 computes the visual magnitude of Pluto. + * The formula is that adopted in "Astronomical Almanac" in 1984.0 + * + * Argument r is the planet's distance from the Sun, Δ the distance from Earth. + */ +function pluto84 (r, Δ) { // (r, Δ float64) float64 + return -1 + 5 * Math.log10(r * Δ) +} + +var illum = { + phaseAngle, + fraction, + phaseAngle2, + phaseAngle3, + fractionVenus, + mercury, + venus, + mars, + jupiter, + saturn, + uranus, + neptune, + mercury84, + venus84, + mars84, + jupiter84, + saturn84, + uranus84, + neptune84, + pluto84 +}; + +exports["default"] = illum; +exports.fraction = fraction; +exports.fractionVenus = fractionVenus; +exports.jupiter = jupiter; +exports.jupiter84 = jupiter84; +exports.mars = mars; +exports.mars84 = mars84; +exports.mercury = mercury; +exports.mercury84 = mercury84; +exports.neptune = neptune; +exports.neptune84 = neptune84; +exports.phaseAngle = phaseAngle; +exports.phaseAngle2 = phaseAngle2; +exports.phaseAngle3 = phaseAngle3; +exports.pluto84 = pluto84; +exports.saturn = saturn; +exports.saturn84 = saturn84; +exports.uranus = uranus; +exports.uranus84 = uranus84; +exports.venus = venus; +exports.venus84 = venus84; + + +/***/ }), + +/***/ 4072: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var angle = __nccwpck_require__(4344); +var apparent = __nccwpck_require__(1141); +var apsis = __nccwpck_require__(7475); +var base = __nccwpck_require__(3823); +var binary = __nccwpck_require__(7120); +var coord = __nccwpck_require__(8566); +var conjunction = __nccwpck_require__(7743); +var circle = __nccwpck_require__(5132); +var deltat = __nccwpck_require__(5503); +var elementequinox = __nccwpck_require__(9389); +var elliptic = __nccwpck_require__(9672); +var eclipse = __nccwpck_require__(2193); +var elp = __nccwpck_require__(4696); +var eqtime = __nccwpck_require__(6695); +var fit = __nccwpck_require__(9454); +var globe = __nccwpck_require__(9310); +var illum = __nccwpck_require__(8650); +var interpolation = __nccwpck_require__(3324); +var iterate = __nccwpck_require__(6571); +var jm = __nccwpck_require__(1730); +var julian = __nccwpck_require__(5246); +var jupiter = __nccwpck_require__(5392); +var jupitermoons = __nccwpck_require__(351); +var kepler = __nccwpck_require__(2961); +var line = __nccwpck_require__(9585); +var nearparabolic = __nccwpck_require__(8168); +var node = __nccwpck_require__(1504); +var nutation = __nccwpck_require__(6723); +var mars = __nccwpck_require__(267); +var moon = __nccwpck_require__(9360); +var moonillum = __nccwpck_require__(4937); +var moonmaxdec = __nccwpck_require__(7507); +var moonnode = __nccwpck_require__(1810); +var moonphase = __nccwpck_require__(8716); +var moonposition = __nccwpck_require__(1610); +var parabolic = __nccwpck_require__(8686); +var parallax = __nccwpck_require__(4526); +var parallactic = __nccwpck_require__(978); +var perihelion = __nccwpck_require__(9537); +var planetary = __nccwpck_require__(1725); +var planetposition = __nccwpck_require__(5579); +var planetelements = __nccwpck_require__(3169); +var pluto = __nccwpck_require__(6505); +var precess = __nccwpck_require__(3598); +var refraction = __nccwpck_require__(8696); +var rise = __nccwpck_require__(4824); +var saturnmoons = __nccwpck_require__(7163); +var saturnring = __nccwpck_require__(9636); +var sexagesimal = __nccwpck_require__(2038); +var sidereal = __nccwpck_require__(29); +var solar = __nccwpck_require__(2332); +var solardisk = __nccwpck_require__(9599); +var solarxyz = __nccwpck_require__(9432); +var solstice = __nccwpck_require__(1368); +var stellar = __nccwpck_require__(3159); +var sundial = __nccwpck_require__(379); +var sunrise = __nccwpck_require__(3110); + + + +exports.angle = angle["default"]; +exports.apparent = apparent["default"]; +exports.apsis = apsis["default"]; +exports.base = base["default"]; +exports.binary = binary["default"]; +exports.coord = coord["default"]; +exports.conjunction = conjunction["default"]; +exports.circle = circle["default"]; +exports.deltat = deltat["default"]; +exports.elementequinox = elementequinox["default"]; +exports.elliptic = elliptic["default"]; +exports.eclipse = eclipse["default"]; +exports.elp = elp["default"]; +exports.eqtime = eqtime["default"]; +exports.fit = fit["default"]; +exports.globe = globe["default"]; +exports.illum = illum["default"]; +exports.interpolation = interpolation["default"]; +exports.iterate = iterate["default"]; +exports.jm = jm["default"]; +exports.julian = julian["default"]; +exports.jupiter = jupiter["default"]; +exports.jupitermoons = jupitermoons["default"]; +exports.kepler = kepler["default"]; +exports.line = line["default"]; +exports.nearparabolic = nearparabolic["default"]; +exports.node = node["default"]; +exports.nutation = nutation["default"]; +exports.mars = mars["default"]; +exports.moon = moon["default"]; +exports.moonillum = moonillum["default"]; +exports.moonmaxdec = moonmaxdec["default"]; +exports.moonnode = moonnode["default"]; +exports.moonphase = moonphase["default"]; +exports.moonposition = moonposition["default"]; +exports.parabolic = parabolic["default"]; +exports.parallax = parallax["default"]; +exports.parallactic = parallactic["default"]; +exports.perihelion = perihelion["default"]; +exports.planetary = planetary["default"]; +exports.planetposition = planetposition["default"]; +exports.planetelements = planetelements["default"]; +exports.pluto = pluto["default"]; +exports.precess = precess["default"]; +exports.refraction = refraction["default"]; +exports.rise = rise["default"]; +exports.saturnmoons = saturnmoons["default"]; +exports.saturnring = saturnring["default"]; +exports.sexagesimal = sexagesimal["default"]; +exports.sidereal = sidereal["default"]; +exports.solar = solar["default"]; +exports.solardisk = solardisk["default"]; +exports.solarxyz = solarxyz["default"]; +exports.solstice = solstice["default"]; +exports.stellar = stellar["default"]; +exports.sundial = sundial["default"]; +exports.sunrise = sunrise["default"]; + + +/***/ }), + +/***/ 3324: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module interpolation + */ + +const int = Math.trunc; + +/** + * Error values returned by functions and methods in this package. + * Defined here to help testing for specific errors. + */ +const errorNot3 = new Error('Argument y must be length 3'); +const errorNot4 = new Error('Argument y must be length 4'); +const errorNot5 = new Error('Argument y must be length 5'); +const errorNoXRange = new Error('Argument x3 (or x5) cannot equal x1'); +const errorNOutOfRange = new Error('Interpolating factor n must be in range -1 to 1'); +const errorNoExtremum = new Error('No extremum in table'); +const errorExtremumOutside = new Error('Extremum falls outside of table'); +const errorZeroOutside = new Error('Zero falls outside of table'); +const errorNoConverge = new Error('Failure to converge'); + +/** + * Len3 allows second difference interpolation. + */ +class Len3 { + /** + * NewLen3 prepares a Len3 object from a table of three rows of x and y values. + * + * X values must be equally spaced, so only the first and last are supplied. + * X1 must not equal to x3. Y must be a slice of three y values. + * + * @throws Error + * @param {Number} x1 - is the x value corresponding to the first y value of the table. + * @param {Number} x3 - is the x value corresponding to the last y value of the table. + * @param {Number[]} y - is all y values in the table. y.length should be >= 3.0 + */ + constructor (x1, x3, y) { + if (y.length !== 3) { + throw errorNot3 + } + if (x3 === x1) { + throw errorNoXRange + } + this.x1 = x1; + this.x3 = x3; + this.y = y; + // differences. (3.1) p. 23 + this.a = y[1] - y[0]; + this.b = y[2] - y[1]; + this.c = this.b - this.a; + // other intermediate values + this.abSum = this.a + this.b; + this.xSum = x3 + x1; + this.xDiff = x3 - x1; + } + + /** + * InterpolateX interpolates for a given x value. + */ + interpolateX (x) { + const n = (2 * x - this.xSum) / this.xDiff; + return this.interpolateN(n) + } + + /** + * InterpolateXStrict interpolates for a given x value, + * restricting x to the range x1 to x3 given to the constructor NewLen3. + */ + interpolateXStrict (x) { + const n = (2 * x - this.xSum) / this.xDiff; + const y = this.interpolateNStrict(n); + return y + } + + /** + * InterpolateN interpolates for (a given interpolating factor n. + * + * This is interpolation formula (3.3) + * + * @param n - The interpolation factor n is x-x2 in units of the tabular x interval. + * (See Meeus p. 24.) + * @return {number} interpolation value + */ + interpolateN (n) { + return this.y[1] + n * 0.5 * (this.abSum + n * this.c) + } + + /** + * InterpolateNStrict interpolates for (a given interpolating factor n. + * + * @param {number} n - n is restricted to the range [-1..1] corresponding to the range x1 to x3 + * given to the constructor of Len3. + * @return {number} interpolation value + */ + interpolateNStrict (n) { + if (n < -1 || n > 1) { + throw errorNOutOfRange + } + return this.interpolateN(n) + } + + /** + * Extremum returns the x and y values at the extremum. + * + * Results are restricted to the range of the table given to the constructor + * new Len3. + */ + extremum () { + if (this.c === 0) { + throw errorNoExtremum + } + const n = this.abSum / (-2 * this.c); // (3.5), p. 25 + if (n < -1 || n > 1) { + throw errorExtremumOutside + } + const x = 0.5 * (this.xSum + this.xDiff * n); + const y = this.y[1] - (this.abSum * this.abSum) / (8 * this.c); // (3.4), p. 25 + return [x, y] + } + + /** + * Len3Zero finds a zero of the quadratic function represented by the table. + * + * That is, it returns an x value that yields y=0. + * + * Argument strong switches between two strategies for the estimation step. + * when iterating to converge on the zero. + * + * Strong=false specifies a quick and dirty estimate that works well + * for gentle curves, but can work poorly or fail on more dramatic curves. + * + * Strong=true specifies a more sophisticated and thus somewhat more + * expensive estimate. However, if the curve has quick changes, This estimate + * will converge more reliably and in fewer steps, making it a better choice. + * + * Results are restricted to the range of the table given to the constructor + * NewLen3. + */ + zero (strong) { + let f; + if (strong) { + // (3.7), p. 27 + f = (n0) => { + return n0 - (2 * this.y[1] + n0 * (this.abSum + this.c * n0)) / + (this.abSum + 2 * this.c * n0) + }; + } else { + // (3.6), p. 26 + f = (n0) => { + return -2 * this.y[1] / (this.abSum + this.c * n0) + }; + } + const [n0, ok] = iterate(0, f); + if (!ok) { + throw errorNoConverge + } + if (n0 > 1 || n0 < -1) { + throw errorZeroOutside + } + return 0.5 * (this.xSum + this.xDiff * n0) // success + } +} + +/** + * Len3ForInterpolateX is a special purpose Len3 constructor. + * + * Like NewLen3, it takes a table of x and y values, but it is not limited + * to tables of 3 rows. An X value is also passed that represents the + * interpolation target x value. Len3ForInterpolateX will locate the + * appropriate three rows of the table for interpolating for x, and initialize + * the Len3 object for those rows. + * + * @param {Number} x - is the target for interpolation + * @param {Number} x1 - is the x value corresponding to the first y value of the table. + * @param {Number} xN - is the x value corresponding to the last y value of the table. + * @param {Number[]} y - is all y values in the table. y.length should be >= 3.0 + * @returns {Len3} interpolation value + */ +function len3ForInterpolateX (x, x1, xN, y) { + let y3 = y; + if (y.length > 3) { + const interval = (xN - x1) / (y.length - 1); + if (interval === 0) { + throw errorNoXRange + } + let nearestX = int((x - x1) / interval + 0.5); + if (nearestX < 1) { + nearestX = 1; + } else if (nearestX > y.length - 2) { + nearestX = y.length - 2; + } + y3 = y.slice(nearestX - 1, nearestX + 2); + xN = x1 + (nearestX + 1) * interval; + x1 = x1 + (nearestX - 1) * interval; + } + return new Len3(x1, xN, y3) +} + +/** + * @private + * @param {Number} n0 + * @param {Function} f + * @returns {Array} + * {Number} n1 + * {Boolean} ok - if `false` failure to converge + */ +const iterate = function (n0, f) { + for (let limit = 0; limit < 50; limit++) { + const n1 = f(n0); + if (!isFinite(n1) || isNaN(n1)) { + break // failure to converge + } + if (Math.abs((n1 - n0) / n0) < 1e-15) { + return [n1, true] // success + } + n0 = n1; + } + return [0, false] // failure to converge +}; + +/** + * Len4Half interpolates a center value from a table of four rows. + * @param {Number[]} y - 4 values + * @returns {Number} interpolation result + */ +function len4Half (y) { + if (y.length !== 4) { + throw errorNot4 + } + // (3.12) p. 32 + return (9 * (y[1] + y[2]) - y[0] - y[3]) / 16 +} + +/** + * Len5 allows fourth Difference interpolation. + */ +class Len5 { + /** + * NewLen5 prepares a Len5 object from a table of five rows of x and y values. + * + * X values must be equally spaced, so only the first and last are suppliethis. + * X1 must not equal x5. Y must be a slice of five y values. + */ + constructor (x1, x5, y) { + if (y.length !== 5) { + throw errorNot5 + } + if (x5 === x1) { + throw errorNoXRange + } + this.x1 = x1; + this.x5 = x5; + this.y = y; + this.y3 = y[2]; + // differences + this.a = y[1] - y[0]; + this.b = y[2] - y[1]; + this.c = y[3] - y[2]; + this.d = y[4] - y[3]; + + this.e = this.b - this.a; + this.f = this.c - this.b; + this.g = this.d - this.c; + + this.h = this.f - this.e; + this.j = this.g - this.f; + + this.k = this.j - this.h; + // other intermediate values + this.xSum = x5 + x1; + this.xDiff = x5 - x1; + this.interpCoeff = [ // (3.8) p. 28 + this.y3, + (this.b + this.c) / 2 - (this.h + this.j) / 12, + this.f / 2 - this.k / 24, + (this.h + this.j) / 12, + this.k / 24 + ]; + } + + /** + * InterpolateX interpolates for (a given x value. + */ + interpolateX (x) { + const n = (4 * x - 2 * this.xSum) / this.xDiff; + return this.interpolateN(n) + } + + /** + * InterpolateXStrict interpolates for a given x value, + * restricting x to the range x1 to x5 given to the the constructor NewLen5. + */ + interpolateXStrict (x) { + const n = (4 * x - 2 * this.xSum) / this.xDiff; + const y = this.interpolateNStrict(n); + return y + } + + /** + * InterpolateN interpolates for (a given interpolating factor n. + * + * The interpolation factor n is x-x3 in units of the tabular x interval. + * (See Meeus p. 28.) + */ + interpolateN (n) { + return base["default"].horner(n, ...this.interpCoeff) + } + + /** + * InterpolateNStrict interpolates for (a given interpolating factor n. + * + * N is restricted to the range [-1..1]. This is only half the range given + * to the constructor NewLen5, but is the recommendation given on p. 31.0 + */ + interpolateNStrict (n) { + if (n < -1 || n > 1) { + throw errorNOutOfRange + } + return base["default"].horner(n, ...this.interpCoeff) + } + + /** + * Extremum returns the x and y values at the extremum. + * + * Results are restricted to the range of the table given to the constructor + * NewLen5. (Meeus actually recommends restricting the range to one unit of + * the tabular interval, but that seems a little harsh.) + */ + extremum () { + // (3.9) p. 29 + const nCoeff = [ + 6 * (this.b + this.c) - this.h - this.j, + 0, + 3 * (this.h + this.j), + 2 * this.k + ]; + const den = this.k - 12 * this.f; + if (den === 0) { + throw errorExtremumOutside + } + const [n0, ok] = iterate(0, function (n0) { + return base["default"].horner(n0, ...nCoeff) / den + }); + if (!ok) { + throw errorNoConverge + } + if (n0 < -2 || n0 > 2) { + throw errorExtremumOutside + } + const x = 0.5 * this.xSum + 0.25 * this.xDiff * n0; + const y = base["default"].horner(n0, ...this.interpCoeff); + return [x, y] + } + + /** + * Len5Zero finds a zero of the quartic function represented by the table. + * + * That is, it returns an x value that yields y=0. + * + * Argument strong switches between two strategies for the estimation step. + * when iterating to converge on the zero. + * + * Strong=false specifies a quick and dirty estimate that works well + * for gentle curves, but can work poorly or fail on more dramatic curves. + * + * Strong=true specifies a more sophisticated and thus somewhat more + * expensive estimate. However, if the curve has quick changes, This estimate + * will converge more reliably and in fewer steps, making it a better choice. + * + * Results are restricted to the range of the table given to the constructor + * NewLen5. + */ + zero (strong) { + let f; + if (strong) { + // (3.11), p. 29 + const M = this.k / 24; + const N = (this.h + this.j) / 12; + const P = this.f / 2 - M; + const Q = (this.b + this.c) / 2 - N; + const numCoeff = [this.y3, Q, P, N, M]; + const denCoeff = [Q, 2 * P, 3 * N, 4 * M]; + f = function (n0) { + return n0 - + base["default"].horner(n0, ...numCoeff) / base["default"].horner(n0, ...denCoeff) + }; + } else { + // (3.10), p. 29 + const numCoeff = [ + -24 * this.y3, + 0, + this.k - 12 * this.f, + -2 * (this.h + this.j), + -this.k + ]; + const den = 12 * (this.b + this.c) - 2 * (this.h + this.j); + f = function (n0) { + return base["default"].horner(n0, ...numCoeff) / den + }; + } + const [n0, ok] = iterate(0, f); + if (!ok) { + throw errorNoConverge + } + if (n0 > 2 || n0 < -2) { + throw errorZeroOutside + } + const x = 0.5 * this.xSum + 0.25 * this.xDiff * n0; + return x + } +} + +/** + * Lagrange performs interpolation with unequally-spaced abscissae. + * + * Given a table of X and Y values, interpolate a new y value for argument x. + * + * X values in the table do not have to be equally spaced; they do not even + * have to be in order. They must however, be distinct. + * + * @param {Number} x - x-value of interpolation + * @param {Array} table - `[[x0, y0], ... [xN, yN]]` of x, y values + * @returns {Number} interpolation result `y` of `x` + */ +function lagrange (x, table) { + // method of BASIC program, p. 33.0 + let sum = 0; + table.forEach((ti, i) => { + const xi = ti[0]; + let prod = 1.0; + table.forEach((tj, j) => { + if (i !== j) { + const xj = tj[0]; + prod *= (x - xj) / (xi - xj); + } + }); + sum += ti[1] * prod; + }); + return sum +} + +/** + * LagrangePoly uses the formula of Lagrange to produce an interpolating + * polynomial. + * + * X values in the table do not have to be equally spaced; they do not even + * have to be in order. They must however, be distinct. + * + * The returned polynomial will be of degree n-1 where n is the number of rows + * in the table. It can be evaluated for x using base.horner. + * + * @param {Array} table - `[[x0, y0], ... [xN, yN]]` + * @returns {Array} - polynomial array + */ +function lagrangePoly (table) { + // Method not fully described by Meeus, but needed for (numerical solution + // to Example 3.g. + const sum = new Array(table.length).fill(0); + const prod = new Array(table.length).fill(0); + const last = table.length - 1; + for (let i = 0; i < table.length; i++) { + const xi = table[i][0] || table[i].x || 0; + const yi = table[i][1] || table[i].y || 0; + prod[last] = 1; + let den = 1.0; + let n = last; + for (let j = 0; j < table.length; j++) { + if (i !== j) { + const xj = table[j][0] || table[j].x || 0; + prod[n - 1] = prod[n] * -xj; + for (let k = n; k < last; k++) { + prod[k] -= prod[k + 1] * xj; + } + n--; + den *= (xi - xj); + } + } + prod.forEach((pj, j) => { + sum[j] += yi * pj / den; + }); + } + return sum +} + +/** + * Linear Interpolation of x + */ +function linear (x, x1, xN, y) { + const interval = (xN - x1) / (y.length - 1); + if (interval === 0) { + throw errorNoXRange + } + let nearestX = Math.floor((x - x1) / interval); + if (nearestX < 0) { + nearestX = 0; + } else if (nearestX > y.length - 2) { + nearestX = y.length - 2; + } + const y2 = y.slice(nearestX, nearestX + 2); + const x01 = x1 + nearestX * interval; + return y2[0] + (y[1] - y[0]) * (x - x01) / interval +} + +var interp = { + errorNot3, + errorNot4, + errorNot5, + errorNoXRange, + errorNOutOfRange, + errorNoExtremum, + errorExtremumOutside, + errorZeroOutside, + errorNoConverge, + Len3, + len3ForInterpolateX, + iterate, + len4Half, + Len5, + lagrange, + lagrangePoly, + linear +}; + +exports.Len3 = Len3; +exports.Len5 = Len5; +exports["default"] = interp; +exports.errorExtremumOutside = errorExtremumOutside; +exports.errorNOutOfRange = errorNOutOfRange; +exports.errorNoConverge = errorNoConverge; +exports.errorNoExtremum = errorNoExtremum; +exports.errorNoXRange = errorNoXRange; +exports.errorNot3 = errorNot3; +exports.errorNot4 = errorNot4; +exports.errorNot5 = errorNot5; +exports.errorZeroOutside = errorZeroOutside; +exports.iterate = iterate; +exports.lagrange = lagrange; +exports.lagrangePoly = lagrangePoly; +exports.len3ForInterpolateX = len3ForInterpolateX; +exports.len4Half = len4Half; +exports.linear = linear; + + +/***/ }), + +/***/ 6571: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module iterate + */ +/** + * Iterate: Chapter 5, Iteration. + * + * This package is best considered illustrative. While the functions are + * usable, they are minimal in showing the points of the chapter text. More + * robust functions would handle more cases of overflow, loss of precision, + * and divergence. + */ + +/** + * decimalPlaces iterates to a fixed number of decimal places. + * + * Inputs are an improvement function, a starting value, the number of + * decimal places desired in the result, and an iteration limit. + * + * @throws Error + * @param {Function} better + * @param {Number} start - (float) + * @param {Number} places - (int) + * @param {Number} maxIterations - (int) + * @returns {Number} + */ +function decimalPlaces (better, start, places, maxIterations) { + const d = Math.pow(10, -places); + for (let i = 0; i < maxIterations; i++) { + const n = better(start); + if (Math.abs(n - start) < d) { + return n + } + start = n; + } + throw new Error('Maximum iterations reached') +} + +/** + * fullPrecison iterates to (nearly) the full precision of a float64. + * + * To allow for a little bit of floating point jitter, FullPrecision iterates + * to 15 significant figures, which is the maximum number of full significant + * figures representable in a float64, but still a couple of bits shy of the + * full representable precision. + * + * @throws Error + * @param {Function} better + * @param {Number} start - (float) + * @param {Number} maxIterations - (int) + * @returns {Number} + */ +function fullPrecision (better, start, maxIterations) { + for (let i = 0; i < maxIterations; i++) { + const n = better(start); + if (Math.abs((n - start) / n) < 1e-15) { + return n + } + start = n; + } + throw new Error('Maximum iterations reached') +} + +/** + * binaryRoot finds a root between given bounds by binary search. + * + * Inputs are a function on x and the bounds on x. A root must exist between + * the given bounds, otherwise the result is not meaningful. + * + * @param {Function} f - root function + * @param {Number} lower - (float) + * @param {Number} upper - (float) + * @returns {Number} + */ +function binaryRoot (f, lower, upper) { + let yLower = f(lower); + let mid = 0; + for (let j = 0; j < 52; j++) { + mid = (lower + upper) / 2; + const yMid = f(mid); + if (yMid === 0) { + break + } + if (signbit(yLower) === signbit(yMid)) { + lower = mid; + yLower = yMid; + } else { + upper = mid; + } + } + return mid +} + +function signbit (v) { + return (v < 0) +} + +var iterate = { + decimalPlaces, + fullPrecision, + binaryRoot +}; + +exports.binaryRoot = binaryRoot; +exports.decimalPlaces = decimalPlaces; +exports["default"] = iterate; +exports.fullPrecision = fullPrecision; + + +/***/ }), + +/***/ 1730: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var julian = __nccwpck_require__(5246); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module jm + */ + +const int = Math.trunc; + +/** + * JewishCalendar returns interesting dates and facts about a given year. + * + * Input is a Julian or Gregorian year. + * + * Outputs: + * A: (int) Year number in the Jewish Calendar + * mP: (int) Month number of Pesach. + * dP: (int) Day number of Pesach. + * mNY: (int) Month number of the Jewish new year. + * dNY: (int) Day number of the Jewish new year. + * months: (int) Number of months in this year. + * days: (int) Number of days in this year. + */ +function JewishCalendar (y) { + const A = y + 3760; + const D = bigD(y); + let mP = 3; + let dP = D; + if (dP > 31) { + mP++; + dP -= 31; + } + // A simplification of Meeus's rule to add 163 days. Months of Pesach + // are either March or April with D based off of March. Months of New + // year are either September or August so D+163-(days from March to + // September == 184) = D-21 must be based off of September. + let mNY = 9; + let dNY = D - 21; + if (dNY > 30) { + mNY++; + dNY -= 30; + } + let months = 12; + switch (A % 19) { + case 0: + case 3: + case 6: + case 8: + case 11: + case 14: + case 17: + months++; + break + } + // Similarly, A simplification of Meeus's rule to take the difference + // in calendar days from NY of one year to NY of the next. NY is based + // on D, so difference in D is difference in day numbers of year. Result + // is sum of this number and the number of days in the Western calandar + // year. + const y1 = y + 1; + let lf = julian["default"].LeapYearGregorian; + if (y1 < 1583) { + lf = julian["default"].LeapYearJulian; + } + let days = 365; + if (lf(y1)) { + days++; + } + days += bigD(y1) - D; + return [A, mP, dP, mNY, dNY, months, days] +} + +const bigD = function (y) { // (y int) int + const C = base["default"].floorDiv(y, 100); + // const S int + let S = 0; + if (y >= 1583) { + S = int(base["default"].floorDiv(3 * C - 5, 4)); + } + const a = (12 * y + 12) % 19; + const b = y % 4; + const Q = -1.904412361576 + 1.554241796621 * (a) + 0.25 * (b) - + 0.003177794022 * (y) + (S); + const fq = Math.floor(Q); + const iq = int(fq); + const j = (iq + 3 * y + 5 * b + 2 - S) % 7; + const r = Q - fq; + // const D int + let D; + if (j === 2 || j === 4 || j === 6) { + D = iq + 23; + } else if (j === 1 && a > 6 && r >= 0.63287037) { + D = iq + 24; + } else if (j === 0 && a > 11 && r >= 0.897723765) { + D = iq + 23; + } else { + D = iq + 22; + } + return int(D) +}; + +/** + * MoslemToJD converts a Moslem calendar date to a Julian Day. + * @param {Number} y - year in moslem calendar + * @param {Number} m - month + * @param {Number} d - day + * @returns {Number} jd - Julian day + */ +function MoslemToJD (y, m, d) { // (y, m, d int) (jY, jDN int) + const N = d + base["default"].floorDiv(295001 * (m - 1) + 9900, 10000); + const Q = base["default"].floorDiv(y, 30); + const R = y % 30; + const A = base["default"].floorDiv(11 * R + 3, 30); + const W = 404 * Q + 354 * R + 208 + A; + const Q1 = base["default"].floorDiv(W, 1461); + const Q2 = W % 1461; + const G = 621 + 28 * Q + 4 * Q1; + const K = base["default"].floorDiv(Q2 * 10000, 3652422); + const E = base["default"].floorDiv(3652422 * K, 10000); + let J = Q2 - E + N - 1; + let X = G + K; + if (J > 366 && X % 4 === 0) { + J -= 366; + X++; + } else if (J > 365 && X % 4 > 0) { + J -= 365; + X++; + } + const jd = base["default"].floorDiv(36525 * (X - 1), 100) + 1721423 + J; + return jd +} + +/** + * MoslemLeapYear returns true if year y of the Moslem calendar is a leap year. + * @param {Number} year + * @returns {Boolean} true if leap year + */ +function MoslemLeapYear (year) { // (y int) bool + const R = year % 30; + return (11 * R + 3) % 30 > 18 +} + +/** + * @typedef {object} DateObj + * @property {number} year + * @property {number} month + * @property {number} day + */ + +/** + * JulianToMoslem takes a year, month, and day of the Julian calendar and returns the equivalent year, month, and day of the Moslem calendar. + * + * @param {Number} y - julian year + * @param {Number} m - julian month + * @param {Number} d - julian day + * @returns {DateObj} + */ +function JulianToMoslem (y, m, d) { // (y, m, d int) (my, mm, md int) + let W = 2; + if (y % 4 === 0) { + W = 1; + } + const N = base["default"].floorDiv(275 * m, 9) - W * base["default"].floorDiv(m + 9, 12) + d - 30; + const A = int(y - 623); + const B = base["default"].floorDiv(A, 4); + const C2 = (function (A) { + const C = A % 4; + const C1 = 365.25001 * (C); + const C2 = Math.floor(C1); + if (C1 - C2 > 0.5) { + return int(C2) + 1 + } + return int(C2) + })(A); + const Dp = 1461 * B + 170 + C2; + const Q = base["default"].floorDiv(Dp, 10631); + const R = Dp % 10631; + const J = base["default"].floorDiv(R, 354); + const K = R % 354; + const O = base["default"].floorDiv(11 * J + 14, 30); + let my = 30 * Q + J + 1; + let JJ = K - O + N - 1; + let days = 354; + if (MoslemLeapYear(y)) { + days++; + } + if (JJ > days) { + JJ -= days; + my++; + } + let mm; + let md; + if (JJ === 355) { + mm = 12; + md = 30; + } else { + const S = base["default"].floorDiv((JJ - 1) * 10, 295); + mm = 1 + S; + md = base["default"].floorDiv(10 * JJ - 295 * S, 10); + } + return { year: my, month: mm, day: md } +} + +/** + * An MMonth specifies a month of the Moslum Calendar (Muharram = 1, ...). + * + * Upgraded to Unicode from the spellings given by Meeus. + * Source: http://en.wikipedia.org/wiki/Islamic_calendar. + */ +const mmonths = [ + '', + 'Muḥarram', + 'Ṣafar', + 'Rabīʿ I', + 'Rabīʿ II', + 'Jumādā I', + 'Jumādā II', + 'Rajab', + 'Shaʿbān', + 'Ramaḍān', + 'Shawwāl', + 'Dhū al-Qaʿda', + 'Dhū al-Ḥijja' +]; + +/** + * String returns the Romanization of the month ("Muḥarram", "Ṣafar", ...). + */ +function moslemMonth (m) { + return mmonths[m] +} + +var jm = { + JewishCalendar, + MoslemToJD, + MoslemLeapYear, + JulianToMoslem, + moslemMonth +}; + +exports.JewishCalendar = JewishCalendar; +exports.JulianToMoslem = JulianToMoslem; +exports.MoslemLeapYear = MoslemLeapYear; +exports.MoslemToJD = MoslemToJD; +exports["default"] = jm; +exports.moslemMonth = moslemMonth; + + +/***/ }), + +/***/ 5246: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var sexagesimal = __nccwpck_require__(2038); +var deltat = __nccwpck_require__(5503); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module julian + */ + +const int = Math.trunc; + +/** 1582-10-05 Julian Date is 1st Gregorian Date (1582-10-15) */ +const GREGORIAN0JD = 2299160.5; + +const DAYS_OF_YEAR = [0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]; +const SECS_OF_DAY = 86400; // 24 * 60 * 60 + +/** + * Base class for CalendarJulian and CalendarGregorian + * Respects the start of the Gregorian Calendar at `GREGORIAN0JD` + */ +class Calendar { + /** + * @param {number|Date} [year] - If `Date` is given then year, month, day is taken from that. Shortcut to `new Calendar().fromDate(date)` + * @param {number} [month] + * @param {number} [day] + */ + constructor (year, month = 1, day = 1) { + if (year instanceof Date) { + this.fromDate(year); + } else { + this.year = year; + this.month = month; + this.day = day; + } + } + + getDate () { + return { + year: this.year, + month: this.month, + day: Math.floor(this.day) + } + } + + getTime () { + const t = new sexagesimal["default"].Time(this.day * SECS_OF_DAY); + const [neg, h, m, _s] = t.toHMS(); // eslint-disable-line no-unused-vars + let [s, ms] = base["default"].modf(_s); + ms = Math.trunc(ms * 1000); + return { + hour: h % 24, + minute: m, + second: s, + millisecond: ms + } + } + + toISOString () { + const { year, month, day } = this.getDate(); + const { hour, minute, second, millisecond } = this.getTime(); + return `${pad(year, 4)}-${pad(month)}-${pad(day)}T` + + `${pad(hour)}:${pad(minute)}:${pad(second)}.${pad(millisecond, 3)}Z` + } + + isGregorian () { + return isCalendarGregorian(this.year, this.month, this.day) + } + + /** + * Note: Take care for dates < GREGORIAN0JD as `date` is always within the + * proleptic Gregorian Calender + * @param {Date} date - proleptic Gregorian date + */ + fromDate (date) { + this.year = date.getUTCFullYear(); + this.month = date.getUTCMonth() + 1; + const day = date.getUTCDate(); + const hour = date.getUTCHours(); + const minute = date.getUTCMinutes(); + const second = date.getUTCSeconds(); + const ms = date.getMilliseconds(); + this.day = day + (hour + ((minute + ((second + ms / 1000) / 60)) / 60)) / 24; + return this + } + + /** + * Note: Take care for dates < GREGORIAN0JD as `date` is always within the + * proleptic Gregorian Calender + * @returns {Date} proleptic Gregorian date + */ + toDate () { + const [day, fhour] = base["default"].modf(this.day); + const [hour, fminute] = base["default"].modf(fhour * 24); + const [minute, fsecond] = base["default"].modf(fminute * 60); + const [second, fms] = base["default"].modf(fsecond * 60); + const date = new Date(Date.UTC( + this.year, this.month - 1, day, hour, minute, second, Math.round(fms * 1000) + )); + date.setUTCFullYear(this.year); + return date + } + + /** + * converts a calendar date to decimal year + * @returns {number} decimal year + */ + toYear () { + const [d, f] = base["default"].modf(this.day); // eslint-disable-line no-unused-vars + const n = this.dayOfYear() - 1 + f; + const days = this.isLeapYear() ? 366 : 365; + const decYear = this.year + (n / days); + return decYear + } + + /** + * converts a decimal year to a calendar date + * @param {number} year - decimal year + */ + fromYear (year) { + const [y, f] = base["default"].modf(year); + this.year = y; + const days = this.isLeapYear() ? 366 : 365; + const dayOfYear = base["default"].round(f * days, 5); + let m = 12; + while (m > 0 && DAYS_OF_YEAR[m] > dayOfYear) { + m--; + } + this.month = m; + this.day = 1 + dayOfYear - DAYS_OF_YEAR[this.month]; + return this + } + + isLeapYear () { + if (this.isGregorian()) { + return LeapYearGregorian(this.year) + } else { + return LeapYearJulian(this.year) + } + } + + toJD () { + return CalendarToJD(this.year, this.month, this.day, !this.isGregorian()) + } + + fromJD (jd) { + const isJulian = !isJDCalendarGregorian(jd); + const { year, month, day } = JDToCalendar(jd, isJulian); + this.year = year; + this.month = month; + this.day = day; + return this + } + + fromJDE (jde) { + this.fromJD(jde); + const dT = deltat["default"].deltaT(this.toYear()); // in seconds + this.day -= dT / 86400; + return this + } + + toJDE () { + const dT = deltat["default"].deltaT(this.toYear()); // in seconds + this.day += dT / 86400; + return this.toJD() + } + + /** + * set date to midnight UTC + */ + midnight () { + this.day = Math.floor(this.day); + return this + } + + /** + * set date to noon UTC + */ + noon () { + this.day = Math.floor(this.day) + 0.5; + return this + } + + /** + * @param {Boolean} td - if `true` calendar instance is in TD; date gets converted to UT + * true - `UT = TD - ΔT` + * false - `TD = UT + ΔT` + */ + deltaT (td) { + const dT = deltat["default"].deltaT(this.toYear()); // in seconds + if (td) { + this.day -= dT / 86400; + } else { + this.day += dT / 86400; + } + return this + } + + dayOfWeek () { + return DayOfWeek(this.toJD()) + } + + dayOfYear () { + if (this.isGregorian()) { + return DayOfYearGregorian(this.year, this.month, this.day) + } else { + return DayOfYearJulian(this.year, this.month, this.day) + } + } +} + +class CalendarJulian extends Calendar { + toJD () { + return CalendarJulianToJD(this.year, this.month, this.day) + } + + fromJD (jd) { + const { year, month, day } = JDToCalendarJulian(jd); + this.year = year; + this.month = month; + this.day = day; + return this + } + + isLeapYear () { + return LeapYearJulian(this.year) + } + + dayOfYear () { + return DayOfYearJulian(this.year, this.month, this.day) + } + + /** + * toGregorian converts a Julian calendar date to a year, month, and day + * in the Gregorian calendar. + * @returns {CalendarGregorian} + */ + toGregorian () { + const jd = this.toJD(); + return new CalendarGregorian().fromJD(jd) + } +} + +class CalendarGregorian extends Calendar { + toJD () { + return CalendarGregorianToJD(this.year, this.month, this.day) + } + + fromJD (jd) { + const { year, month, day } = JDToCalendarGregorian(jd); + this.year = year; + this.month = month; + this.day = day; + return this + } + + isLeapYear () { + return LeapYearGregorian(this.year) + } + + dayOfYear () { + return DayOfYearGregorian(this.year, this.month, this.day) + } + + /* + * toJulian converts a Gregorian calendar date to a year, month, and day + * in the Julian calendar. + * @returns {CalendarJulian} + */ + toJulian () { + const jd = this.toJD(); + return new CalendarJulian().fromJD(jd) + } +} + +// ----------------------------------------------------------------------------- + +/** + * base conversion from calendar date to julian day + */ +function CalendarToJD (y, m, d, isJulian) { + let b = 0; + if (m < 3) { + y--; + m += 12; + } + if (!isJulian) { + const a = base["default"].floorDiv(y, 100); + b = 2 - a + base["default"].floorDiv(a, 4); + } + // (7.1) p. 61 + const jd = (base["default"].floorDiv(36525 * (int(y + 4716)), 100)) + + (base["default"].floorDiv(306 * (m + 1), 10) + b) + d - 1524.5; + return jd +} + +/** + * CalendarGregorianToJD converts a Gregorian year, month, and day of month + * to Julian day. + * + * Negative years are valid, back to JD 0. The result is not valid for + * dates before JD 0. + * @param {number} y - year (int) + * @param {number} m - month (int) + * @param {number} d - day (float) + * @returns {number} jd - Julian day (float) + */ +function CalendarGregorianToJD (y, m, d) { + return CalendarToJD(y, m, d, false) +} + +/** + * CalendarJulianToJD converts a Julian year, month, and day of month to Julian day. + * + * Negative years are valid, back to JD 0. The result is not valid for + * dates before JD 0. + * @param {number} y - year (int) + * @param {number} m - month (int) + * @param {number} d - day (float) + * @returns {number} jd - Julian day (float) + */ +function CalendarJulianToJD (y, m, d) { + return CalendarToJD(y, m, d, true) +} + +/** + * LeapYearJulian returns true if year y in the Julian calendar is a leap year. + * @param {number} y - year (int) + * @returns {boolean} true if leap year in Julian Calendar + */ +function LeapYearJulian (y) { + return y % 4 === 0 +} + +/** + * LeapYearGregorian returns true if year y in the Gregorian calendar is a leap year. + * @param {number} y - year (int) + * @returns {boolean} true if leap year in Gregorian Calendar + */ +function LeapYearGregorian (y) { + return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0 +} + +/** + * JDToCalendar returns the calendar date for the given jd. + * + * Note that this function returns a date in either the Julian or Gregorian + * Calendar, as appropriate. + * @param {number} jd - Julian day (float) + * @param {boolean} isJulian - set true for Julian Calendar, otherwise Gregorian is used + * @returns {object} `{ (int) year, (int) month, (float) day }` + */ +function JDToCalendar (jd, isJulian) { + const [z, f] = base["default"].modf(jd + 0.5); + let a = z; + if (!isJulian) { + const α = base["default"].floorDiv(z * 100 - 186721625, 3652425); + a = z + 1 + α - base["default"].floorDiv(α, 4); + } + const b = a + 1524; + const c = base["default"].floorDiv(b * 100 - 12210, 36525); + const d = base["default"].floorDiv(36525 * c, 100); + const e = int(base["default"].floorDiv((b - d) * 1e4, 306001)); + // compute return values + let year; + let month; + const day = (int(b - d) - base["default"].floorDiv(306001 * e, 1e4)) + f; + if (e === 14 || e === 15) { + month = e - 13; + } else { + month = e - 1; + } + if (month < 3) { + year = int(c) - 4715; + } else { + year = int(c) - 4716; + } + return { year, month, day } +} + +/** + * JDToCalendarGregorian returns the calendar date for the given jd in the Gregorian Calendar. + * + * @param {number} jd - Julian day (float) + * @returns {object} `{ (int) year, (int) month, (float) day }` + */ +function JDToCalendarGregorian (jd) { + return JDToCalendar(jd, false) +} + +/** + * JDToCalendarJulian returns the calendar date for the given jd in the Julian Calendar. + * + * @param {number} jd - Julian day (float) + * @returns {object} { (int) year, (int) month, (float) day } + */ +function JDToCalendarJulian (jd) { + return JDToCalendar(jd, true) +} + +/** + * isJDCalendarGregorian tests if Julian day `jd` falls into the Gregorian calendar + * @param {number} jd - Julian day (float) + * @returns {boolean} true for Gregorian, false for Julian calendar + */ +function isJDCalendarGregorian (jd) { + return (jd >= GREGORIAN0JD) +} + +/** + * isCalendarGregorian tests if date falls into the Gregorian calendar + * @param {number} year - julian/gregorian year + * @param {number} [month] - month of julian/gregorian year + * @param {number} [day] - day of julian/gregorian year + * @returns {boolean} true for Gregorian, false for Julian calendar + */ +function isCalendarGregorian (year, month = 1, day = 1) { + return (year > 1582 || + (year === 1582 && month > 10) || + (year === 1582 && month === 10 && day >= 15) + ) +} + +/** + * JDToDate converts a Julian day `jd` to a Date Object (Gregorian Calendar) + * + * Note: Javascript uses the the ISO-8601 calendar, which is a proleptic Gregorian + * calendar, i.e. it acts as if this calendar was always in effect, even before + * its year of introduction in 1582. Therefore dates between 1582-10-05 and + * 1582-10-14 exists. + * + * @param {number} jd - Julian day (float) + * @returns {Date} + */ +function JDToDate (jd) { + return new CalendarGregorian().fromJD(jd).toDate() +} + +/** + * DateToJD converts a proleptic Gregorian Date into a Julian day `jd` + * @param {Date} date + * @returns {number} jd - Julian day (float) + */ +function DateToJD (date) { + return new CalendarGregorian().fromDate(date).toJD() +} + +/** + * JDEToDate converts a Julian ephemeris day `jde` to a Date Object (Gregorian Calendar) + * To obtain "Universal Time" (UT) from "Dynamical Time" (TD) the correction ΔT (in seconds) gets applied + * ``` + * UT = TD - ΔT + * ``` + * If your use case does not require such accuracy converting `jde` using `JDToDate` is fine. + * + * Note: Javascript uses the the ISO-8601 calendar, which is a proleptic Gregorian + * calendar, i.e. it acts as if this calendar was always in effect, even before + * its year of introduction in 1582. Therefore dates between 1582-10-05 and + * 1582-10-14 exists. + * + * @param {number} jde - Julian ephemeris day + * @returns {Date} Javascript Date Object + */ +function JDEToDate (jde) { + return new CalendarGregorian().fromJDE(jde).toDate() +} + +/** + * DateToJDE converts a Date Object (Gregorian Calendar) to a Julian ephemeris day `jde` + * To obtain "Dynamical Time" (TD) from "Universal Time" (UT) the correction ΔT (in seconds) gets applied + * ``` + * TD = UT + ΔT + * ``` + * If your use case does not require such accuracy converting `Date` using `DateToJD` is fine. + * + * @param {Date} date - Javascript Date Object + * @returns {number} jde - Julian ephemeris day (float) + */ +function DateToJDE (date) { + return new CalendarGregorian().fromDate(date).toJDE() +} + +/** + * converts Modified Julian Day `mjd` to Julian Day `jd` + * @param {Number} mjd - Modified Julian Day + * @returns {Number} jd - Julian Day + */ +function MJDToJD (mjd) { + return mjd + base["default"].JMod +} + +/** + * converts Julian Day `jd` to Modified Julian Day `mjd` + * The MJD sometimes appear when mentioning orbital elements of artificial satellites. + * Contrary to JD the MJD begins at Greenwich mean midnight. + * @param {Number} jd - Julian Day + * @returns {Number} mjd - Modified Julian Day MJD + */ +function JDToMJD (jd) { + return jd - base["default"].JMod +} + +/** + * DayOfWeek determines the day of the week for a given JD. + * + * The value returned is an integer in the range 0 to 6, where 0 represents + * Sunday. This is the same convention followed in the time package of the + * Javascript standard library. + * @param {number} jd - Julian day (float) + * @returns {number} (int) 0 == sunday; ...; 6 == saturday + */ +function DayOfWeek (jd) { + return int(jd + 1.5) % 7 +} + +/** + * DayOfYearGregorian computes the day number within the year of the Gregorian + * calendar. + * @param {number} y - year (int) + * @param {number} m - month (int) + * @param {number} d - day (float) + * @returns {number} day of year + */ +function DayOfYearGregorian (y, m, d) { + return DayOfYear(y, m, int(d), LeapYearGregorian(y)) +} + +/** + * DayOfYearJulian computes the day number within the year of the Julian + * calendar. + * @param {number} y - year (int) + * @param {number} m - month (int) + * @param {number} d - day (float) + * @returns {number} day of year + */ +function DayOfYearJulian (y, m, d) { + return DayOfYear(y, m, int(d), LeapYearJulian(y)) +} + +/** + * DayOfYear computes the day number within the year. + * + * This form of the function is not specific to the Julian or Gregorian + * calendar, but you must tell it whether the year is a leap year. + * @param {number} y - year (int) + * @param {number} m - month (int) + * @param {number} d - day (float) + * @param {boolean} leap - set `true` if `y` is leap year + * @returns {number} day of year + */ +function DayOfYear (y, m, d, leap) { + let k = 0; + if (leap && m > 1) { + k = 1; + } + return k + DAYS_OF_YEAR[m] + int(d) +} + +/** + * DayOfYearToCalendar returns the calendar month and day for a given + * day of year and leap year status. + * @param {number} n - day of year (int) + * @param {boolean} leap - set `true` if `y` is leap year + * @returns {object} `{ (int) month, (float) day }` + */ +function DayOfYearToCalendar (n, leap) { + let month; + let k = 0; + if (leap) { + k = 1; + } + for (month = 1; month <= 12; month++) { + if (k + DAYS_OF_YEAR[month] > n) { + month = month - 1; + break + } + } + const day = n - k - DAYS_OF_YEAR[month]; + return { month, day } +} + +/** + * DayOfYearToCalendarGregorian returns the calendar month and day for a given + * day of year. + * @param {number} year + * @param {number} n - day of year (int) + * @returns {CalendarGregorian} { (int) year, (int) month, (float) day } + */ +function DayOfYearToCalendarGregorian (year, n) { + const { month, day } = DayOfYearToCalendar(n, LeapYearGregorian(year)); + return new CalendarGregorian(year, month, day) +} + +/** + * DayOfYearToCalendarJulian returns the calendar month and day for a given + * day of year. + * @param {number} year + * @param {number} n - day of year (int) + * @returns {CalendarJulian} { (int) year, (int) month, (float) day } + */ +function DayOfYearToCalendarJulian (year, n) { + const { month, day } = DayOfYearToCalendar(n, LeapYearJulian(year)); + return new CalendarJulian(year, month, day) +} + +function pad (num, len) { + len = len || 2; + const neg = num < 0 ? '-' : ''; + num = Math.abs(num); + const padded = ('0000' + num); + return neg + padded.substr(padded.length - len, len) +} + +var julian = { + GREGORIAN0JD, + Calendar, + CalendarJulian, + CalendarGregorian, + CalendarToJD, + CalendarGregorianToJD, + CalendarJulianToJD, + LeapYearJulian, + LeapYearGregorian, + JDToCalendar, + JDToCalendarGregorian, + JDToCalendarJulian, + isJDCalendarGregorian, + isCalendarGregorian, + JDToDate, + DateToJD, + JDEToDate, + DateToJDE, + MJDToJD, + JDToMJD, + DayOfWeek, + DayOfYearGregorian, + DayOfYearJulian, + DayOfYear, + DayOfYearToCalendar, + DayOfYearToCalendarGregorian, + DayOfYearToCalendarJulian +}; + +exports.Calendar = Calendar; +exports.CalendarGregorian = CalendarGregorian; +exports.CalendarGregorianToJD = CalendarGregorianToJD; +exports.CalendarJulian = CalendarJulian; +exports.CalendarJulianToJD = CalendarJulianToJD; +exports.CalendarToJD = CalendarToJD; +exports.DateToJD = DateToJD; +exports.DateToJDE = DateToJDE; +exports.DayOfWeek = DayOfWeek; +exports.DayOfYear = DayOfYear; +exports.DayOfYearGregorian = DayOfYearGregorian; +exports.DayOfYearJulian = DayOfYearJulian; +exports.DayOfYearToCalendar = DayOfYearToCalendar; +exports.DayOfYearToCalendarGregorian = DayOfYearToCalendarGregorian; +exports.DayOfYearToCalendarJulian = DayOfYearToCalendarJulian; +exports.GREGORIAN0JD = GREGORIAN0JD; +exports.JDEToDate = JDEToDate; +exports.JDToCalendar = JDToCalendar; +exports.JDToCalendarGregorian = JDToCalendarGregorian; +exports.JDToCalendarJulian = JDToCalendarJulian; +exports.JDToDate = JDToDate; +exports.JDToMJD = JDToMJD; +exports.LeapYearGregorian = LeapYearGregorian; +exports.LeapYearJulian = LeapYearJulian; +exports.MJDToJD = MJDToJD; +exports["default"] = julian; +exports.isCalendarGregorian = isCalendarGregorian; +exports.isJDCalendarGregorian = isJDCalendarGregorian; + + +/***/ }), + +/***/ 5392: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var nutation = __nccwpck_require__(6723); +var planetposition = __nccwpck_require__(5579); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module jupiter + */ + +/** + * Physical computes quantities for physical observations of Jupiter. + * + * All angular results in radians. + * + * @param {number} jde - Julian ephemeris day + * @param {Planet} earth + * @param {Planet} jupiter + * @return {Array} + * {number} DS - Planetocentric declination of the Sun. + * {number} DE - Planetocentric declination of the Earth. + * {number} ω1 - Longitude of the System I central meridian of the illuminated disk, + * as seen from Earth. + * {number} ω2 - Longitude of the System II central meridian of the illuminated disk, + * as seen from Earth. + * {number} P - Geocentric position angle of Jupiter's northern rotation pole. + */ +function physical (jde, earth, jupiter) { // (jde float64, earth, jupiter *pp.V87Planet) (DS, DE, ω1, ω2, P float64) + // Step 1.0 + const d = jde - 2433282.5; + const T1 = d / base["default"].JulianCentury; + const p = Math.PI / 180; + const α0 = 268 * p + 0.1061 * p * T1; + const δ0 = 64.5 * p - 0.0164 * p * T1; + // Step 2.0 + const W1 = 17.71 * p + 877.90003539 * p * d; + const W2 = 16.838 * p + 870.27003539 * p * d; + // Step 3.0 + const pos = earth.position(jde); + let [l0, b0, R] = [pos.lon, pos.lat, pos.range]; + const fk5 = planetposition["default"].toFK5(l0, b0, jde); + l0 = fk5.lon; + b0 = fk5.lat; + // Steps 4-7. + const [sl0, cl0] = base["default"].sincos(l0); + const sb0 = Math.sin(b0); + let Δ = 4.0; // surely better than 0.0 + + let l = 0; + let b = 0; + let r = 0; + let x = 0; + let y = 0; + let z = 0; + + const f = function () { + const τ = base["default"].lightTime(Δ); + const pos = jupiter.position(jde - τ); + l = pos.lon; + b = pos.lat; + r = pos.range; + const fk5 = planetposition["default"].toFK5(l, b, jde); + l = fk5.lon; + b = fk5.lat; + const [sb, cb] = base["default"].sincos(b); + const [sl, cl] = base["default"].sincos(l); + // (42.2) p. 289 + x = r * cb * cl - R * cl0; + y = r * cb * sl - R * sl0; + z = r * sb - R * sb0; + // (42.3) p. 289 + Δ = Math.sqrt(x * x + y * y + z * z); + }; + f(); + f(); + + // Step 8.0 + const ε0 = nutation["default"].meanObliquity(jde); + // Step 9.0 + const [sε0, cε0] = base["default"].sincos(ε0); + const [sl, cl] = base["default"].sincos(l); + const [sb, cb] = base["default"].sincos(b); + const αs = Math.atan2(cε0 * sl - sε0 * sb / cb, cl); + const δs = Math.asin(cε0 * sb + sε0 * cb * sl); + // Step 10.0 + const [sδs, cδs] = base["default"].sincos(δs); + const [sδ0, cδ0] = base["default"].sincos(δ0); + const DS = Math.asin(-sδ0 * sδs - cδ0 * cδs * Math.cos(α0 - αs)); + // Step 11.0 + const u = y * cε0 - z * sε0; + const v = y * sε0 + z * cε0; + let α = Math.atan2(u, x); + let δ = Math.atan(v / Math.hypot(x, u)); + const [sδ, cδ] = base["default"].sincos(δ); + const [sα0α, cα0α] = base["default"].sincos(α0 - α); + const ζ = Math.atan2(sδ0 * cδ * cα0α - sδ * cδ0, cδ * sα0α); + // Step 12.0 + const DE = Math.asin(-sδ0 * sδ - cδ0 * cδ * Math.cos(α0 - α)); + // Step 13.0 + let ω1 = W1 - ζ - 5.07033 * p * Δ; + let ω2 = W2 - ζ - 5.02626 * p * Δ; + // Step 14.0 + let C = (2 * r * Δ + R * R - r * r - Δ * Δ) / (4 * r * Δ); + if (Math.sin(l - l0) < 0) { + C = -C; + } + ω1 = base["default"].pmod(ω1 + C, 2 * Math.PI); + ω2 = base["default"].pmod(ω2 + C, 2 * Math.PI); + // Step 15.0 + const [Δψ, Δε] = nutation["default"].nutation(jde); + const ε = ε0 + Δε; + // Step 16.0 + const [sε, cε] = base["default"].sincos(ε); + const [sα, cα] = base["default"].sincos(α); + α += 0.005693 * p * (cα * cl0 * cε + sα * sl0) / cδ; + δ += 0.005693 * p * (cl0 * cε * (sε / cε * cδ - sα * sδ) + cα * sδ * sl0); + // Step 17.0 + const tδ = sδ / cδ; + const Δα = (cε + sε * sα * tδ) * Δψ - cα * tδ * Δε; + const Δδ = sε * cα * Δψ + sα * Δε; + const αʹ = α + Δα; + const δʹ = δ + Δδ; + const [sα0, cα0] = base["default"].sincos(α0); + const tδ0 = sδ0 / cδ0; + const Δα0 = (cε + sε * sα0 * tδ0) * Δψ - cα0 * tδ0 * Δε; + const Δδ0 = sε * cα0 * Δψ + sα0 * Δε; + const α0ʹ = α0 + Δα0; + const δ0ʹ = δ0 + Δδ0; + // Step 18.0 + const [sδʹ, cδʹ] = base["default"].sincos(δʹ); + const [sδ0ʹ, cδ0ʹ] = base["default"].sincos(δ0ʹ); + const [sα0ʹαʹ, cα0ʹαʹ] = base["default"].sincos(α0ʹ - αʹ); + // (42.4) p. 290 + let P = Math.atan2(cδ0ʹ * sα0ʹαʹ, sδ0ʹ * cδʹ - cδ0ʹ * sδʹ * cα0ʹαʹ); + if (P < 0) { + P += 2 * Math.PI; + } + return [DS, DE, ω1, ω2, P] +} + +/** + * Physical2 computes quantities for physical observations of Jupiter. + * + * Results are less accurate than with Physical(). + * All angular results in radians. + * + * @param {number} jde - Julian ephemeris day + * @return {Array} + * {number} DS - Planetocentric declination of the Sun. + * {number} DE - Planetocentric declination of the Earth. + * {number} ω1 - Longitude of the System I central meridian of the illuminated disk, + * as seen from Earth. + * {number} ω2 - Longitude of the System II central meridian of the illuminated disk, + * as seen from Earth. + */ +function physical2 (jde) { // (jde float64) (DS, DE, ω1, ω2 float64) + const d = jde - base["default"].J2000; + const p = Math.PI / 180; + const V = 172.74 * p + 0.00111588 * p * d; + const M = 357.529 * p + 0.9856003 * p * d; + const sV = Math.sin(V); + const N = 20.02 * p + 0.0830853 * p * d + 0.329 * p * sV; + const J = 66.115 * p + 0.9025179 * p * d - 0.329 * p * sV; + const [sM, cM] = base["default"].sincos(M); + const [sN, cN] = base["default"].sincos(N); + const [s2M, c2M] = base["default"].sincos(2 * M); + const [s2N, c2N] = base["default"].sincos(2 * N); + const A = 1.915 * p * sM + 0.02 * p * s2M; + const B = 5.555 * p * sN + 0.168 * p * s2N; + const K = J + A - B; + const R = 1.00014 - 0.01671 * cM - 0.00014 * c2M; + const r = 5.20872 - 0.25208 * cN - 0.00611 * c2N; + const [sK, cK] = base["default"].sincos(K); + const Δ = Math.sqrt(r * r + R * R - 2 * r * R * cK); + const ψ = Math.asin(R / Δ * sK); + const dd = d - Δ / 173; + let ω1 = 210.98 * p + 877.8169088 * p * dd + ψ - B; + let ω2 = 187.23 * p + 870.1869088 * p * dd + ψ - B; + let C = Math.sin(ψ / 2); + C *= C; + if (sK > 0) { + C = -C; + } + ω1 = base["default"].pmod(ω1 + C, 2 * Math.PI); + ω2 = base["default"].pmod(ω2 + C, 2 * Math.PI); + const λ = 34.35 * p + 0.083091 * p * d + 0.329 * p * sV + B; + const DS = 3.12 * p * Math.sin(λ + 42.8 * p); + const DE = DS - 2.22 * p * Math.sin(ψ) * Math.cos(λ + 22 * p) - + 1.3 * p * (r - Δ) / Δ * Math.sin(λ - 100.5 * p); + return [DS, DE, ω1, ω2] +} + +var jupiter = { + physical, + physical2 +}; + +exports["default"] = jupiter; +exports.physical = physical; +exports.physical2 = physical2; + + +/***/ }), + +/***/ 351: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var planetelements = __nccwpck_require__(3169); +var solar = __nccwpck_require__(2332); +__nccwpck_require__(8566); +__nccwpck_require__(6723); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module jupitermoons + */ + +// Moon names in order of position in Array +const io = 0; +const europa = 1; +const ganymede = 2; +const callisto = 3; + +const k = [17295, 21819, 27558, 36548]; + +/** + * XY used for returning coordinates of moons. + * @param {number} x - in units of Jupiter radii + * @param {number} y - in units of Jupiter radii + */ +function XY (x, y) { + this.x = x; + this.y = y; +} + +/** + * Positions computes positions of moons of Jupiter. + * + * Returned coordinates are in units of Jupiter radii. + * + * @param {Number} jde - Julian ephemeris day + * @return {Array} x, y - coordinates of the 4 Satellites of jupiter + */ +function positions (jde) { + const d = jde - base["default"].J2000; + const p = Math.PI / 180; + const V = 172.74 * p + 0.00111588 * p * d; + const M = 357.529 * p + 0.9856003 * p * d; + const sV = Math.sin(V); + const N = 20.02 * p + 0.0830853 * p * d + 0.329 * p * sV; + const J = 66.115 * p + 0.9025179 * p * d - 0.329 * p * sV; + const [sM, cM] = base["default"].sincos(M); + const [sN, cN] = base["default"].sincos(N); + const [s2M, c2M] = base["default"].sincos(2 * M); + const [s2N, c2N] = base["default"].sincos(2 * N); + const A = 1.915 * p * sM + 0.02 * p * s2M; + const B = 5.555 * p * sN + 0.168 * p * s2N; + const K = J + A - B; + const R = 1.00014 - 0.01671 * cM - 0.00014 * c2M; + const r = 5.20872 - 0.25208 * cN - 0.00611 * c2N; + const [sK, cK] = base["default"].sincos(K); + const Δ = Math.sqrt(r * r + R * R - 2 * r * R * cK); + const ψ = Math.asin(R / Δ * sK); + const λ = 34.35 * p + 0.083091 * p * d + 0.329 * p * sV + B; + const DS = 3.12 * p * Math.sin(λ + 42.8 * p); + const DE = DS - 2.22 * p * Math.sin(ψ) * Math.cos(λ + 22 * p) - + 1.3 * p * (r - Δ) / Δ * Math.sin(λ - 100.5 * p); + const dd = d - Δ / 173; + const u1 = 163.8069 * p + 203.4058646 * p * dd + ψ - B; + const u2 = 358.414 * p + 101.2916335 * p * dd + ψ - B; + const u3 = 5.7176 * p + 50.234518 * p * dd + ψ - B; + const u4 = 224.8092 * p + 21.48798 * p * dd + ψ - B; + const G = 331.18 * p + 50.310482 * p * dd; + const H = 87.45 * p + 21.569231 * p * dd; + const [s212, c212] = base["default"].sincos(2 * (u1 - u2)); + const [s223, c223] = base["default"].sincos(2 * (u2 - u3)); + const [sG, cG] = base["default"].sincos(G); + const [sH, cH] = base["default"].sincos(H); + const c1 = 0.473 * p * s212; + const c2 = 1.065 * p * s223; + const c3 = 0.165 * p * sG; + const c4 = 0.843 * p * sH; + const r1 = 5.9057 - 0.0244 * c212; + const r2 = 9.3966 - 0.0882 * c223; + const r3 = 14.9883 - 0.0216 * cG; + const r4 = 26.3627 - 0.1939 * cH; + const sDE = Math.sin(DE); + const xy = function (u, r) { + const [su, cu] = base["default"].sincos(u); + return new XY(r * su, -r * cu * sDE) + }; + return [xy(u1 + c1, r1), xy(u2 + c2, r2), xy(u3 + c3, r3), xy(u4 + c4, r4)] +} + +/** + * Positions computes positions of moons of Jupiter. + * + * High accuracy method based on theory "E5" Results returned in + * argument pos, which must not be undefined. Returned coordinates in units + * of Jupiter radii. + * + * @param {Number} jde - Julian ephemeris day + * @param {Planet} earth - VSOP87 Planet earth + * @param {Planet} jupiter - VSOP87 Planet jupiter + * @param {Array} [pos] - reference to array of positions (same as return value) + * @return {Array} x, y - coordinates of the 4 Satellites of jupiter + */ +function e5 (jde, earth, jupiter, pos) { + pos = pos || new Array(4); + + // variables assigned in following block + let λ0, β0, t; + let Δ = 5.0 + + ;(function () { + const { lon, lat, range } = solar["default"].trueVSOP87(earth, jde); + const [s, β, R] = [lon, lat, range]; + const [ss, cs] = base["default"].sincos(s); + const sβ = Math.sin(β); + let τ = base["default"].lightTime(Δ); + let x = 0; + let y = 0; + let z = 0; + + function f () { + const { lon, lat, range } = jupiter.position(jde - τ); + const [sl, cl] = base["default"].sincos(lon); + const [sb, cb] = base["default"].sincos(lat); + x = range * cb * cl + R * cs; + y = range * cb * sl + R * ss; + z = range * sb + R * sβ; + Δ = Math.sqrt(x * x + y * y + z * z); + τ = base["default"].lightTime(Δ); + } + + f(); + f(); + + λ0 = Math.atan2(y, x); + β0 = Math.atan(z / Math.hypot(x, y)); + t = jde - 2443000.5 - τ; + })(); + + const p = Math.PI / 180; + const l1 = 106.07719 * p + 203.48895579 * p * t; + const l2 = 175.73161 * p + 101.374724735 * p * t; + const l3 = 120.55883 * p + 50.317609207 * p * t; + const l4 = 84.44459 * p + 21.571071177 * p * t; + const π1 = 97.0881 * p + 0.16138586 * p * t; + const π2 = 154.8663 * p + 0.04726307 * p * t; + const π3 = 188.184 * p + 0.00712734 * p * t; + const π4 = 335.2868 * p + 0.00184 * p * t; + const ω1 = 312.3346 * p - 0.13279386 * p * t; + const ω2 = 100.4411 * p - 0.03263064 * p * t; + const ω3 = 119.1942 * p - 0.00717703 * p * t; + const ω4 = 322.6186 * p - 0.00175934 * p * t; + const Γ = 0.33033 * p * Math.sin(163.679 * p + 0.0010512 * p * t) + + 0.03439 * p * Math.sin(34.486 * p - 0.0161731 * p * t); + const Φλ = 199.6766 * p + 0.1737919 * p * t; + let ψ = 316.5182 * p - 0.00000208 * p * t; + const G = 30.23756 * p + 0.0830925701 * p * t + Γ; + const Gʹ = 31.97853 * p + 0.0334597339 * p * t; + const Π = 13.469942 * p; + + const Σ1 = 0.47259 * p * Math.sin(2 * (l1 - l2)) + + -0.03478 * p * Math.sin(π3 - π4) + + 0.01081 * p * Math.sin(l2 - 2 * l3 + π3) + + 0.00738 * p * Math.sin(Φλ) + + 0.00713 * p * Math.sin(l2 - 2 * l3 + π2) + + -0.00674 * p * Math.sin(π1 + π3 - 2 * Π - 2 * G) + + 0.00666 * p * Math.sin(l2 - 2 * l3 + π4) + + 0.00445 * p * Math.sin(l1 - π3) + + -0.00354 * p * Math.sin(l1 - l2) + + -0.00317 * p * Math.sin(2 * ψ - 2 * Π) + + 0.00265 * p * Math.sin(l1 - π4) + + -0.00186 * p * Math.sin(G) + + 0.00162 * p * Math.sin(π2 - π3) + + 0.00158 * p * Math.sin(4 * (l1 - l2)) + + -0.00155 * p * Math.sin(l1 - l3) + + -0.00138 * p * Math.sin(ψ + ω3 - 2 * Π - 2 * G) + + -0.00115 * p * Math.sin(2 * (l1 - 2 * l2 + ω2)) + + 0.00089 * p * Math.sin(π2 - π4) + + 0.00085 * p * Math.sin(l1 + π3 - 2 * Π - 2 * G) + + 0.00083 * p * Math.sin(ω2 - ω3) + + 0.00053 * p * Math.sin(ψ - ω2); + const Σ2 = 1.06476 * p * Math.sin(2 * (l2 - l3)) + + 0.04256 * p * Math.sin(l1 - 2 * l2 + π3) + + 0.03581 * p * Math.sin(l2 - π3) + + 0.02395 * p * Math.sin(l1 - 2 * l2 + π4) + + 0.01984 * p * Math.sin(l2 - π4) + + -0.01778 * p * Math.sin(Φλ) + + 0.01654 * p * Math.sin(l2 - π2) + + 0.01334 * p * Math.sin(l2 - 2 * l3 + π2) + + 0.01294 * p * Math.sin(π3 - π4) + + -0.01142 * p * Math.sin(l2 - l3) + + -0.01057 * p * Math.sin(G) + + -0.00775 * p * Math.sin(2 * (ψ - Π)) + + 0.00524 * p * Math.sin(2 * (l1 - l2)) + + -0.0046 * p * Math.sin(l1 - l3) + + 0.00316 * p * Math.sin(ψ - 2 * G + ω3 - 2 * Π) + + -0.00203 * p * Math.sin(π1 + π3 - 2 * Π - 2 * G) + + 0.00146 * p * Math.sin(ψ - ω3) + + -0.00145 * p * Math.sin(2 * G) + + 0.00125 * p * Math.sin(ψ - ω4) + + -0.00115 * p * Math.sin(l1 - 2 * l3 + π3) + + -0.00094 * p * Math.sin(2 * (l2 - ω2)) + + 0.00086 * p * Math.sin(2 * (l1 - 2 * l2 + ω2)) + + -0.00086 * p * Math.sin(5 * Gʹ - 2 * G + 52.225 * p) + + -0.00078 * p * Math.sin(l2 - l4) + + -0.00064 * p * Math.sin(3 * l3 - 7 * l4 + 4 * π4) + + 0.00064 * p * Math.sin(π1 - π4) + + -0.00063 * p * Math.sin(l1 - 2 * l3 + π4) + + 0.00058 * p * Math.sin(ω3 - ω4) + + 0.00056 * p * Math.sin(2 * (ψ - Π - G)) + + 0.00056 * p * Math.sin(2 * (l2 - l4)) + + 0.00055 * p * Math.sin(2 * (l1 - l3)) + + 0.00052 * p * Math.sin(3 * l3 - 7 * l4 + π3 + 3 * π4) + + -0.00043 * p * Math.sin(l1 - π3) + + 0.00041 * p * Math.sin(5 * (l2 - l3)) + + 0.00041 * p * Math.sin(π4 - Π) + + 0.00032 * p * Math.sin(ω2 - ω3) + + 0.00032 * p * Math.sin(2 * (l3 - G - Π)); + const Σ3 = 0.1649 * p * Math.sin(l3 - π3) + + 0.09081 * p * Math.sin(l3 - π4) + + -0.06907 * p * Math.sin(l2 - l3) + + 0.03784 * p * Math.sin(π3 - π4) + + 0.01846 * p * Math.sin(2 * (l3 - l4)) + + -0.0134 * p * Math.sin(G) + + -0.01014 * p * Math.sin(2 * (ψ - Π)) + + 0.00704 * p * Math.sin(l2 - 2 * l3 + π3) + + -0.0062 * p * Math.sin(l2 - 2 * l3 + π2) + + -0.00541 * p * Math.sin(l3 - l4) + + 0.00381 * p * Math.sin(l2 - 2 * l3 + π4) + + 0.00235 * p * Math.sin(ψ - ω3) + + 0.00198 * p * Math.sin(ψ - ω4) + + 0.00176 * p * Math.sin(Φλ) + + 0.0013 * p * Math.sin(3 * (l3 - l4)) + + 0.00125 * p * Math.sin(l1 - l3) + + -0.00119 * p * Math.sin(5 * Gʹ - 2 * G + 52.225 * p) + + 0.00109 * p * Math.sin(l1 - l2) + + -0.001 * p * Math.sin(3 * l3 - 7 * l4 + 4 * π4) + + 0.00091 * p * Math.sin(ω3 - ω4) + + 0.0008 * p * Math.sin(3 * l3 - 7 * l4 + π3 + 3 * π4) + + -0.00075 * p * Math.sin(2 * l2 - 3 * l3 + π3) + + 0.00072 * p * Math.sin(π1 + π3 - 2 * Π - 2 * G) + + 0.00069 * p * Math.sin(π4 - Π) + + -0.00058 * p * Math.sin(2 * l3 - 3 * l4 + π4) + + -0.00057 * p * Math.sin(l3 - 2 * l4 + π4) + + 0.00056 * p * Math.sin(l3 + π3 - 2 * Π - 2 * G) + + -0.00052 * p * Math.sin(l2 - 2 * l3 + π1) + + -0.00050 * p * Math.sin(π2 - π3) + + 0.00048 * p * Math.sin(l3 - 2 * l4 + π3) + + -0.00045 * p * Math.sin(2 * l2 - 3 * l3 + π4) + + -0.00041 * p * Math.sin(π2 - π4) + + -0.00038 * p * Math.sin(2 * G) + + -0.00037 * p * Math.sin(π3 - π4 + ω3 - ω4) + + -0.00032 * p * Math.sin(3 * l3 - 7 * l4 + 2 * π3 + 2 * π4) + + 0.0003 * p * Math.sin(4 * (l3 - l4)) + + 0.00029 * p * Math.sin(l3 + π4 - 2 * Π - 2 * G) + + -0.00028 * p * Math.sin(ω3 + ψ - 2 * Π - 2 * G) + + 0.00026 * p * Math.sin(l3 - Π - G) + + 0.00024 * p * Math.sin(l2 - 3 * l3 + 2 * l4) + + 0.00021 * p * Math.sin(2 * (l3 - Π - G)) + + -0.00021 * p * Math.sin(l3 - π2) + + 0.00017 * p * Math.sin(2 * (l3 - π3)); + const Σ4 = 0.84287 * p * Math.sin(l4 - π4) + + 0.03431 * p * Math.sin(π4 - π3) + + -0.03305 * p * Math.sin(2 * (ψ - Π)) + + -0.03211 * p * Math.sin(G) + + -0.01862 * p * Math.sin(l4 - π3) + + 0.01186 * p * Math.sin(ψ - ω4) + + 0.00623 * p * Math.sin(l4 + π4 - 2 * G - 2 * Π) + + 0.00387 * p * Math.sin(2 * (l4 - π4)) + + -0.00284 * p * Math.sin(5 * Gʹ - 2 * G + 52.225 * p) + + -0.00234 * p * Math.sin(2 * (ψ - π4)) + + -0.00223 * p * Math.sin(l3 - l4) + + -0.00208 * p * Math.sin(l4 - Π) + + 0.00178 * p * Math.sin(ψ + ω4 - 2 * π4) + + 0.00134 * p * Math.sin(π4 - Π) + + 0.00125 * p * Math.sin(2 * (l4 - G - Π)) + + -0.00117 * p * Math.sin(2 * G) + + -0.00112 * p * Math.sin(2 * (l3 - l4)) + + 0.00107 * p * Math.sin(3 * l3 - 7 * l4 + 4 * π4) + + 0.00102 * p * Math.sin(l4 - G - Π) + + 0.00096 * p * Math.sin(2 * l4 - ψ - ω4) + + 0.00087 * p * Math.sin(2 * (ψ - ω4)) + + -0.00085 * p * Math.sin(3 * l3 - 7 * l4 + π3 + 3 * π4) + + 0.00085 * p * Math.sin(l3 - 2 * l4 + π4) + + -0.00081 * p * Math.sin(2 * (l4 - ψ)) + + 0.00071 * p * Math.sin(l4 + π4 - 2 * Π - 3 * G) + + 0.00061 * p * Math.sin(l1 - l4) + + -0.00056 * p * Math.sin(ψ - ω3) + + -0.00054 * p * Math.sin(l3 - 2 * l4 + π3) + + 0.00051 * p * Math.sin(l2 - l4) + + 0.00042 * p * Math.sin(2 * (ψ - G - Π)) + + 0.00039 * p * Math.sin(2 * (π4 - ω4)) + + 0.00036 * p * Math.sin(ψ + Π - π4 - ω4) + + 0.00035 * p * Math.sin(2 * Gʹ - G + 188.37 * p) + + -0.00035 * p * Math.sin(l4 - π4 + 2 * Π - 2 * ψ) + + -0.00032 * p * Math.sin(l4 + π4 - 2 * Π - G) + + 0.0003 * p * Math.sin(2 * Gʹ - 2 * G + 149.15 * p) + + 0.00029 * p * Math.sin(3 * l3 - 7 * l4 + 2 * π3 + 2 * π4) + + 0.00028 * p * Math.sin(l4 - π4 + 2 * ψ - 2 * Π) + + -0.00028 * p * Math.sin(2 * (l4 - ω4)) + + -0.00027 * p * Math.sin(π3 - π4 + ω3 - ω4) + + -0.00026 * p * Math.sin(5 * Gʹ - 3 * G + 188.37 * p) + + 0.00025 * p * Math.sin(ω4 - ω3) + + -0.00025 * p * Math.sin(l2 - 3 * l3 + 2 * l4) + + -0.00023 * p * Math.sin(3 * (l3 - l4)) + + 0.00021 * p * Math.sin(2 * l4 - 2 * Π - 3 * G) + + -0.00021 * p * Math.sin(2 * l3 - 3 * l4 + π4) + + 0.00019 * p * Math.sin(l4 - π4 - G) + + -0.00019 * p * Math.sin(2 * l4 - π3 - π4) + + -0.00018 * p * Math.sin(l4 - π4 + G) + + -0.00016 * p * Math.sin(l4 + π3 - 2 * Π - 2 * G); + const L1 = l1 + Σ1; + const L2 = l2 + Σ2; + const L3 = l3 + Σ3; + const L4 = l4 + Σ4; + + // variables assigned in following block + let I; + const X = new Array(5).fill(0); + const Y = new Array(5).fill(0); + const Z = new Array(5).fill(0); + let R + + ;(function () { + const L = [L1, L2, L3, L4]; + const B = [ + Math.atan(0.0006393 * Math.sin(L1 - ω1) + + 0.0001825 * Math.sin(L1 - ω2) + + 0.0000329 * Math.sin(L1 - ω3) + + -0.0000311 * Math.sin(L1 - ψ) + + 0.0000093 * Math.sin(L1 - ω4) + + 0.0000075 * Math.sin(3 * L1 - 4 * l2 - 1.9927 * Σ1 + ω2) + + 0.0000046 * Math.sin(L1 + ψ - 2 * Π - 2 * G)), + Math.atan(0.0081004 * Math.sin(L2 - ω2) + + 0.0004512 * Math.sin(L2 - ω3) + + -0.0003284 * Math.sin(L2 - ψ) + + 0.0001160 * Math.sin(L2 - ω4) + + 0.0000272 * Math.sin(l1 - 2 * l3 + 1.0146 * Σ2 + ω2) + + -0.0000144 * Math.sin(L2 - ω1) + + 0.0000143 * Math.sin(L2 + ψ - 2 * Π - 2 * G) + + 0.0000035 * Math.sin(L2 - ψ + G) + + -0.0000028 * Math.sin(l1 - 2 * l3 + 1.0146 * Σ2 + ω3)), + Math.atan(0.0032402 * Math.sin(L3 - ω3) + + -0.0016911 * Math.sin(L3 - ψ) + + 0.0006847 * Math.sin(L3 - ω4) + + -0.0002797 * Math.sin(L3 - ω2) + + 0.0000321 * Math.sin(L3 + ψ - 2 * Π - 2 * G) + + 0.0000051 * Math.sin(L3 - ψ + G) + + -0.0000045 * Math.sin(L3 - ψ - G) + + -0.0000045 * Math.sin(L3 + ψ - 2 * Π) + + 0.0000037 * Math.sin(L3 + ψ - 2 * Π - 3 * G) + + 0.000003 * Math.sin(2 * l2 - 3 * L3 + 4.03 * Σ3 + ω2) + + -0.0000021 * Math.sin(2 * l2 - 3 * L3 + 4.03 * Σ3 + ω3)), + Math.atan(-0.0076579 * Math.sin(L4 - ψ) + + 0.0044134 * Math.sin(L4 - ω4) + + -0.0005112 * Math.sin(L4 - ω3) + + 0.0000773 * Math.sin(L4 + ψ - 2 * Π - 2 * G) + + 0.0000104 * Math.sin(L4 - ψ + G) + + -0.0000102 * Math.sin(L4 - ψ - G) + + 0.0000088 * Math.sin(L4 + ψ - 2 * Π - 3 * G) + + -0.0000038 * Math.sin(L4 + ψ - 2 * Π - G)) + ]; + R = [ + 5.90569 * (1 + + -0.0041339 * Math.cos(2 * (l1 - l2)) + + -0.0000387 * Math.cos(l1 - π3) + + -0.0000214 * Math.cos(l1 - π4) + + 0.000017 * Math.cos(l1 - l2) + + -0.0000131 * Math.cos(4 * (l1 - l2)) + + 0.0000106 * Math.cos(l1 - l3) + + -0.0000066 * Math.cos(l1 + π3 - 2 * Π - 2 * G)), + 9.39657 * (1 + + 0.0093848 * Math.cos(l1 - l2) + + -0.0003116 * Math.cos(l2 - π3) + + -0.0001744 * Math.cos(l2 - π4) + + -0.0001442 * Math.cos(l2 - π2) + + 0.0000553 * Math.cos(l2 - l3) + + 0.0000523 * Math.cos(l1 - l3) + + -0.0000290 * Math.cos(2 * (l1 - l2)) + + 0.0000164 * Math.cos(2 * (l2 - ω2)) + + 0.0000107 * Math.cos(l1 - 2 * l3 + π3) + + -0.0000102 * Math.cos(l2 - π1) + + -0.0000091 * Math.cos(2 * (l1 - l3))), + 14.98832 * (1 + + -0.0014388 * Math.cos(l3 - π3) + + -0.0007917 * Math.cos(l3 - π4) + + 0.0006342 * Math.cos(l2 - l3) + + -0.0001761 * Math.cos(2 * (l3 - l4)) + + 0.0000294 * Math.cos(l3 - l4) + + -0.0000156 * Math.cos(3 * (l3 - l4)) + + 0.0000156 * Math.cos(l1 - l3) + + -0.0000153 * Math.cos(l1 - l2) + + 0.000007 * Math.cos(2 * l2 - 3 * l3 + π3) + + -0.0000051 * Math.cos(l3 + π3 - 2 * Π - 2 * G)), + 26.36273 * (1 + + -0.0073546 * Math.cos(l4 - π4) + + 0.0001621 * Math.cos(l4 - π3) + + 0.0000974 * Math.cos(l3 - l4) + + -0.0000543 * Math.cos(l4 + π4 - 2 * Π - 2 * G) + + -0.0000271 * Math.cos(2 * (l4 - π4)) + + 0.0000182 * Math.cos(l4 - Π) + + 0.0000177 * Math.cos(2 * (l3 - l4)) + + -0.0000167 * Math.cos(2 * l4 - ψ - ω4) + + 0.0000167 * Math.cos(ψ - ω4) + + -0.0000155 * Math.cos(2 * (l4 - Π - G)) + + 0.0000142 * Math.cos(2 * (l4 - ψ)) + + 0.0000105 * Math.cos(l1 - l4) + + 0.0000092 * Math.cos(l2 - l4) + + -0.0000089 * Math.cos(l4 - Π - G) + + -0.0000062 * Math.cos(l4 + π4 - 2 * Π - 3 * G) + + 0.0000048 * Math.cos(2 * (l4 - ω4))) + ]; + // p. 311 + const T0 = (jde - 2433282.423) / base["default"].JulianCentury; + const P = (1.3966626 * p + 0.0003088 * p * T0) * T0; + for (const i in L) { + L[i] += P; + } + ψ += P; + const T = (jde - base["default"].J1900) / base["default"].JulianCentury; + I = 3.120262 * p + 0.0006 * p * T; + for (const i in L) { + const [sLψ, cLψ] = base["default"].sincos(L[i] - ψ); + const [sB, cB] = base["default"].sincos(B[i]); + X[i] = R[i] * cLψ * cB; + Y[i] = R[i] * sLψ * cB; + Z[i] = R[i] * sB; + } + })(); + + Z[4] = 1; + // p. 312 + const A = new Array(5).fill(0); + const B = new Array(5).fill(0); + const C = new Array(5).fill(0); + const [sI, cI] = base["default"].sincos(I); + const Ω = planetelements["default"].node(planetelements["default"].jupiter, jde); + const [sΩ, cΩ] = base["default"].sincos(Ω); + const [sΦ, cΦ] = base["default"].sincos(ψ - Ω); + const [si, ci] = base["default"].sincos(planetelements["default"].inc(planetelements["default"].jupiter, jde)); + const [sλ0, cλ0] = base["default"].sincos(λ0); + const [sβ0, cβ0] = base["default"].sincos(β0); + + for (const i in A) { + let a0; + // step 1 + let a = X[i]; + let b = Y[i] * cI - Z[i] * sI; + let c = Y[i] * sI + Z[i] * cI; + // step 2 + a0 = a * cΦ - b * sΦ; + b = a * sΦ + b * cΦ; + a = a0; + // step 3 + const b0 = b * ci - c * si; + c = b * si + c * ci; + b = b0; + // step 4 + a0 = a * cΩ - b * sΩ; + b = a * sΩ + b * cΩ; + a = a0; + // step 5 + a0 = a * sλ0 - b * cλ0; + b = a * cλ0 + b * sλ0; + a = a0; + // step 6 + A[i] = a; + B[i] = c * sβ0 + b * cβ0; + C[i] = c * cβ0 - b * sβ0; + } + const [sD, cD] = base["default"].sincos(Math.atan2(A[4], C[4])); + // p. 313 + for (let i = 0; i < 4; i++) { + let x = A[i] * cD - C[i] * sD; + const y = A[i] * sD + C[i] * cD; + const z = B[i]; + // differential light time + const d = x / R[i]; + x += Math.abs(z) / k[i] * Math.sqrt(1 - d * d); + // perspective effect + const W = Δ / (Δ + z / 2095); + pos[i] = new XY(x * W, y * W); + } + return pos +} + +var jupitermoons = { + io, + europa, + ganymede, + callisto, + positions, + e5 +}; + +exports.callisto = callisto; +exports["default"] = jupitermoons; +exports.e5 = e5; +exports.europa = europa; +exports.ganymede = ganymede; +exports.io = io; +exports.positions = positions; + + +/***/ }), + +/***/ 2961: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var iterate = __nccwpck_require__(6571); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module kepler + */ + +/** + * True returns true anomaly ν for given eccentric anomaly E. + * + * @param {number} e - eccentricity + * @param {number} E - eccentric anomaly in radians. + * @return true anomaly ν in radians. + */ +function trueAnomaly (E, e) { + // (30.1) p. 195 + return 2 * Math.atan(Math.sqrt((1 + e) / (1 - e)) * Math.tan(E * 0.5)) +} + +/** + * Radius returns radius distance r for given eccentric anomaly E. + * + * Result unit is the unit of semimajor axis a (typically AU.) + * + * @param {number} e - eccentricity + * @param {number} E - eccentric anomaly in radians + * @param {number} a - semimajor axis + * @return {number} radius distance in unit of `a` + */ +function radius (E, e, a) { // (E, e, a float64) float64 + // (30.2) p. 195 + return a * (1 - e * Math.cos(E)) +} + +/** + * Kepler1 solves Kepler's equation by iteration. + * + * The iterated formula is + * + * E1 = m + e * sin(E0) + * + * For some vaues of e and M it will fail to converge and the + * function will return an error. + * + * @throws Error + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @param {number} places - (int) desired number of decimal places in the result + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler1 (e, m, places) { + const f = function (E0) { + return m + e * Math.sin(E0) // (30.5) p. 195 + }; + return iterate["default"].decimalPlaces(f, m, places, places * 5) +} + +/** + * Kepler2 solves Kepler's equation by iteration. + * + * The iterated formula is + * + * E1 = E0 + (m + e * sin(E0) - E0) / (1 - e * cos(E0)) + * + * The function converges over a wider range of inputs than does Kepler1 + * but it also fails to converge for some values of e and M. + * + * @throws Error + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @param {number} places - (int) desired number of decimal places in the result + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler2 (e, m, places) { // (e, M float64, places int) (E float64, err error) + const f = function (E0) { + const [se, ce] = base["default"].sincos(E0); + return E0 + (m + e * se - E0) / (1 - e * ce) // (30.7) p. 199 + }; + return iterate["default"].decimalPlaces(f, m, places, places) +} + +/** + * Kepler2a solves Kepler's equation by iteration. + * + * The iterated formula is the same as in Kepler2 but a limiting function + * avoids divergence. + * + * @throws Error + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @param {number} places - (int) desired number of decimal places in the result + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler2a (e, m, places) { // (e, M float64, places int) (E float64, err error) + const f = function (E0) { + const [se, ce] = base["default"].sincos(E0); + // method of Leingärtner, p. 205 + return E0 + Math.asin(Math.sin((m + e * se - E0) / (1 - e * ce))) + }; + return iterate["default"].decimalPlaces(f, m, places, places * 5) +} + +/** + * Kepler2b solves Kepler's equation by iteration. + * + * The iterated formula is the same as in Kepler2 but a (different) limiting + * function avoids divergence. + * + * @throws Error + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @param {number} places - (int) desired number of decimal places in the result + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler2b (e, m, places) { // (e, M float64, places int) (E float64, err error) + const f = function (E0) { + const [se, ce] = base["default"].sincos(E0); + let d = (m + e * se - E0) / (1 - e * ce); + // method of Steele, p. 205 + if (d > 0.5) { + d = 0.5; + } else if (d < -0.5) { + d = -0.5; + } + return E0 + d + }; + return iterate["default"].decimalPlaces(f, m, places, places) +} + +/** + * Kepler3 solves Kepler's equation by binary search. + * + * @throws Error + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler3 (e, m) { // (e, m float64) (E float64) + // adapted from BASIC, p. 206 + m = base["default"].pmod(m, 2 * Math.PI); + let f = 1; + if (m > Math.PI) { + f = -1; + m = 2 * Math.PI - m; + } + let E0 = Math.PI * 0.5; + let d = Math.PI * 0.25; + for (let i = 0; i < 53; i++) { + const M1 = E0 - e * Math.sin(E0); + if (m - M1 < 0) { + E0 -= d; + } else { + E0 += d; + } + d *= 0.5; + } + if (f < 0) { + return -E0 + } + return E0 +} + +/** + * Kepler4 returns an approximate solution to Kepler's equation. + * + * It is valid only for small values of e. + * + * @param {number} e - eccentricity + * @param {number} m - mean anomaly in radians + * @return {number} eccentric anomaly `E` in radians. + */ +function kepler4 (e, m) { // (e, m float64) (E float64) + const [sm, cm] = base["default"].sincos(m); + return Math.atan2(sm, cm - e) // (30.8) p. 206 +} + +var kepler = { + trueAnomaly, + true: trueAnomaly, // BACKWARDS-COMPATIBILITY + radius, + kepler1, + kepler2, + kepler2a, + kepler2b, + kepler3, + kepler4 +}; + +exports["default"] = kepler; +exports.kepler1 = kepler1; +exports.kepler2 = kepler2; +exports.kepler2a = kepler2a; +exports.kepler2b = kepler2b; +exports.kepler3 = kepler3; +exports.kepler4 = kepler4; +exports.radius = radius; +exports.trueAnomaly = trueAnomaly; + + +/***/ }), + +/***/ 9585: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var interpolation = __nccwpck_require__(3324); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module line + */ + +/** + * Time computes the time at which a moving body is on a straight line (great + * circle) between two fixed points, such as stars. + * + * Coordinates may be right ascensions and declinations or longitudes and + * latitudes. Fixed points are r1, d1, r2, d2. Moving body is an ephemeris + * of 5 rows, r3, d3, starting at time t1 and ending at time t5. Time scale + * is arbitrary. + * + * @throws Error + * @param {Number} r1 - right ascension Coordinate 1 + * @param {Number} d1 - declination Coordinate 1 + * @param {Number} r2 - right ascension Coordinate 2 + * @param {Number} d2 - declination Coordinate 2 + * @param {Number[]} r3 - right ascension Coordinate 3 + * @param {Number[]} d3 - declination Coordinate 3 + * @param {Number} t1 - time in Julian Days + * @param {Number} t5 - time in Julian Days + * @returns {Number} time of alignment in Julian Days + */ +function time (r1, d1, r2, d2, r3, d3, t1, t5) { // (r1, d1, r2, d2 float64, r3, d3 []float64, t1, t5 float64) (float64, error) + if (r3.length !== 5 || d3.length !== 5) { + throw new Error('r3, d3 must be length 5') + } + const gc = new Array(5); + r3.forEach((r3i, i) => { + // (19.1) p. 121 + gc[i] = Math.tan(d1) * Math.sin(r2 - r3i) + + Math.tan(d2) * Math.sin(r3i - r1) + + Math.tan(d3[i]) * Math.sin(r1 - r2); + }); + const l5 = new interpolation["default"].Len5(t1, t5, gc); + return l5.zero(false) +} + +/** + * Angle returns the angle between great circles defined by three points. + * + * Coordinates may be right ascensions and declinations or longitudes and + * latitudes. If r1, d1, r2, d2 defines one line and r2, d2, r3, d3 defines + * another, the result is the angle between the two lines. + * + * Algorithm by Meeus. + */ +function angle (r1, d1, r2, d2, r3, d3) { // (r1, d1, r2, d2, r3, d3 float64) float64 + const [sd2, cd2] = base["default"].sincos(d2); + const [sr21, cr21] = base["default"].sincos(r2 - r1); + const [sr32, cr32] = base["default"].sincos(r3 - r2); + const C1 = Math.atan2(sr21, cd2 * Math.tan(d1) - sd2 * cr21); + const C2 = Math.atan2(sr32, cd2 * Math.tan(d3) - sd2 * cr32); + return C1 + C2 +} + +/** + * Error returns an error angle of three nearly co-linear points. + * + * For the line defined by r1, d1, r2, d2, the result is the anglular distance + * between that line and r0, d0. + * + * Algorithm by Meeus. + */ +function error (r1, d1, r2, d2, r0, d0) { // (r1, d1, r2, d2, r0, d0 float64) float64 + const [sr1, cr1] = base["default"].sincos(r1); + const [sd1, cd1] = base["default"].sincos(d1); + const [sr2, cr2] = base["default"].sincos(r2); + const [sd2, cd2] = base["default"].sincos(d2); + const X1 = cd1 * cr1; + const X2 = cd2 * cr2; + const Y1 = cd1 * sr1; + const Y2 = cd2 * sr2; + const Z1 = sd1; + const Z2 = sd2; + const A = Y1 * Z2 - Z1 * Y2; + const B = Z1 * X2 - X1 * Z2; + const C = X1 * Y2 - Y1 * X2; + const m = Math.tan(r0); + const n = Math.tan(d0) / Math.cos(r0); + return Math.asin((A + B * m + C * n) / + (Math.sqrt(A * A + B * B + C * C) * Math.sqrt(1 + m * m + n * n))) +} + +/** + * AngleError returns both an angle as in the function Angle, and an error + * as in the function Error. + * + * The algorithm is by B. Pessens. + * + * @returns {Number[]} [ψ, ω] + * {Number} ψ - angle between great circles defined by three points. + * {Number} ω - error angle of three nearly co-linear points + */ +function angleError (r1, d1, r2, d2, r3, d3) { + const [sr1, cr1] = base["default"].sincos(r1); + const [c1, cd1] = base["default"].sincos(d1); + const [sr2, cr2] = base["default"].sincos(r2); + const [c2, cd2] = base["default"].sincos(d2); + const [sr3, cr3] = base["default"].sincos(r3); + const [c3, cd3] = base["default"].sincos(d3); + const a1 = cd1 * cr1; + const a2 = cd2 * cr2; + const a3 = cd3 * cr3; + const b1 = cd1 * sr1; + const b2 = cd2 * sr2; + const b3 = cd3 * sr3; + const l1 = b1 * c2 - b2 * c1; + const l2 = b2 * c3 - b3 * c2; + const l3 = b1 * c3 - b3 * c1; + const m1 = c1 * a2 - c2 * a1; + const m2 = c2 * a3 - c3 * a2; + const m3 = c1 * a3 - c3 * a1; + const n1 = a1 * b2 - a2 * b1; + const n2 = a2 * b3 - a3 * b2; + const n3 = a1 * b3 - a3 * b1; + const ψ = Math.acos((l1 * l2 + m1 * m2 + n1 * n2) / + (Math.sqrt(l1 * l1 + m1 * m1 + n1 * n1) * Math.sqrt(l2 * l2 + m2 * m2 + n2 * n2))); + const ω = Math.asin((a2 * l3 + b2 * m3 + c2 * n3) / + (Math.sqrt(a2 * a2 + b2 * b2 + c2 * c2) * Math.sqrt(l3 * l3 + m3 * m3 + n3 * n3))); + return [ψ, ω] +} + +var line = { + time, + angle, + error, + angleError +}; + +exports.angle = angle; +exports.angleError = angleError; +exports["default"] = line; +exports.error = error; +exports.time = time; + + +/***/ }), + +/***/ 267: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var illum = __nccwpck_require__(8650); +var nutation = __nccwpck_require__(6723); +var planetposition = __nccwpck_require__(5579); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module mars + */ + +/** + * Physical computes quantities for physical observations of Mars. + * + * Results: + * DE planetocentric declination of the Earth. + * DS planetocentric declination of the Sun. + * ω Areographic longitude of the central meridian, as seen from Earth. + * P Geocentric position angle of Mars' northern rotation pole. + * Q Position angle of greatest defect of illumination. + * d Apparent diameter of Mars. + * k Illuminated fraction of the disk. + * q Greatest defect of illumination. + * + * All angular results (all results except k) are in radians. + * + * @param {number} jde - Julian ephemeris day + * @param {Planet} earth + * @param {Planet} mars + */ +function physical (jde, earth, mars) { // (jde float64, earth, mars *pp.V87Planet) (DE, DS, ω, P, Q, d, k, q float64) + // Step 1.0 + const T = base["default"].J2000Century(jde); + const p = Math.PI / 180; + // (42.1) p. 288 + let λ0 = 352.9065 * p + 1.1733 * p * T; + const β0 = 63.2818 * p - 0.00394 * p * T; + // Step 2.0 + const earthPos = earth.position(jde); + const R = earthPos.range; + const fk5 = planetposition["default"].toFK5(earthPos.lon, earthPos.lat, jde); + const [l0, b0] = [fk5.lon, fk5.lat]; + // Steps 3, 4.0 + const [sl0, cl0] = base["default"].sincos(l0); + const sb0 = Math.sin(b0); + let Δ = 0.5; // surely better than 0.0 + let τ = base["default"].lightTime(Δ); + let l = 0; + let b = 0; + let r = 0; + let x = 0; + let y = 0; + let z = 0; + + function f () { + const marsPos = mars.position(jde - τ); + r = marsPos.range; + const fk5 = planetposition["default"].toFK5(marsPos.lon, marsPos.lat, jde); + l = fk5.lon; + b = fk5.lat; + const [sb, cb] = base["default"].sincos(b); + const [sl, cl] = base["default"].sincos(l); + // (42.2) p. 289 + x = r * cb * cl - R * cl0; + y = r * cb * sl - R * sl0; + z = r * sb - R * sb0; + // (42.3) p. 289 + Δ = Math.sqrt(x * x + y * y + z * z); + τ = base["default"].lightTime(Δ); + } + + f(); + f(); + // Step 5.0 + let λ = Math.atan2(y, x); + let β = Math.atan(z / Math.hypot(x, y)); + // Step 6.0 + const [sβ0, cβ0] = base["default"].sincos(β0); + const [sβ, cβ] = base["default"].sincos(β); + const DE = Math.asin(-sβ0 * sβ - cβ0 * cβ * Math.cos(λ0 - λ)); + // Step 7.0 + const N = 49.5581 * p + 0.7721 * p * T; + const lʹ = l - 0.00697 * p / r; + const bʹ = b - 0.000225 * p * Math.cos(l - N) / r; + // Step 8.0 + const [sbʹ, cbʹ] = base["default"].sincos(bʹ); + const DS = Math.asin(-sβ0 * sbʹ - cβ0 * cbʹ * Math.cos(λ0 - lʹ)); + // Step 9.0 + const W = 11.504 * p + 350.89200025 * p * (jde - τ - 2433282.5); + // Step 10.0 + const ε0 = nutation["default"].meanObliquity(jde); + const [sε0, cε0] = base["default"].sincos(ε0); + let eq = new coord["default"].Ecliptic(λ0, β0).toEquatorial(ε0); + const [α0, δ0] = [eq.ra, eq.dec]; + // Step 11.0 + const u = y * cε0 - z * sε0; + const v = y * sε0 + z * cε0; + const α = Math.atan2(u, x); + const δ = Math.atan(v / Math.hypot(x, u)); + const [sδ, cδ] = base["default"].sincos(δ); + const [sδ0, cδ0] = base["default"].sincos(δ0); + const [sα0α, cα0α] = base["default"].sincos(α0 - α); + const ζ = Math.atan2(sδ0 * cδ * cα0α - sδ * cδ0, cδ * sα0α); + // Step 12.0 + const ω = base["default"].pmod(W - ζ, 2 * Math.PI); + // Step 13.0 + const [Δψ, Δε] = nutation["default"].nutation(jde); + // Step 14.0 + const [sl0λ, cl0λ] = base["default"].sincos(l0 - λ); + λ += 0.005693 * p * cl0λ / cβ; + β += 0.005693 * p * sl0λ * sβ; + // Step 15.0 + λ0 += Δψ; + λ += Δψ; + const ε = ε0 + Δε; + // Step 16.0 + const [sε, cε] = base["default"].sincos(ε); + eq = new coord["default"].Ecliptic(λ0, β0).toEquatorial(ε); + const [α0ʹ, δ0ʹ] = [eq.ra, eq.dec]; + eq = new coord["default"].Ecliptic(λ, β).toEquatorial(ε); + const [αʹ, δʹ] = [eq.ra, eq.dec]; + // Step 17.0 + const [sδ0ʹ, cδ0ʹ] = base["default"].sincos(δ0ʹ); + const [sδʹ, cδʹ] = base["default"].sincos(δʹ); + const [sα0ʹαʹ, cα0ʹαʹ] = base["default"].sincos(α0ʹ - αʹ); + // (42.4) p. 290 + let P = Math.atan2(cδ0ʹ * sα0ʹαʹ, sδ0ʹ * cδʹ - cδ0ʹ * sδʹ * cα0ʹαʹ); + if (P < 0) { + P += 2 * Math.PI; + } + // Step 18.0 + const s = l0 + Math.PI; + const [ss, cs] = base["default"].sincos(s); + const αs = Math.atan2(cε * ss, cs); + const δs = Math.asin(sε * ss); + const [sδs, cδs] = base["default"].sincos(δs); + const [sαsα, cαsα] = base["default"].sincos(αs - α); + const χ = Math.atan2(cδs * sαsα, sδs * cδ - cδs * sδ * cαsα); + const Q = χ + Math.PI; + // Step 19.0 + const d = 9.36 / 60 / 60 * Math.PI / 180 / Δ; + const k = illum["default"].fraction(r, Δ, R); + const q = (1 - k) * d; + return [DE, DS, ω, P, Q, d, k, q] +} + +var mars = { + physical +}; + +exports["default"] = mars; +exports.physical = physical; + + +/***/ }), + +/***/ 9360: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var moonposition = __nccwpck_require__(1610); +var nutation = __nccwpck_require__(6723); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moon + */ + +const { sin, cos, asin, atan2 } = Math; +const D2R = Math.PI / 180; +const _I = 1.54242 * D2R; // IAU value of inclination of mean lunar equator + +const [sI, cI] = base["default"].sincos(_I); + +/** + * Physical returns quantities useful for physical observation of the Moon. + * + * Returned l, b are librations in selenographic longitude and latitude. + * They represent combined optical and physical librations. Topocentric + * librations are not considered. + * + * Returned P is the the position angle of the Moon's axis of rotation. + * + * Returned l0, b0 are the selenographic coordinates of the Sun. + * + * Returned values all in radians. + + * @param {number} jde - Julian ephemeris day + * @param {Planet} earth - VSOP87 Planet Earth + * @return {Array} + * {base.Coord} cMoon - selenographic longitude, latitude of the Moon + * {number} P - position angle of the Moon's axis of rotation + * {base.Coord} cSun - selenographic longitude, latitude of the Sun. + */ +function physical (jde, earth) { + const { lon, lat, range } = moonposition["default"].position(jde); // (λ without nutation) + // [λ, β, Δ] + const m = new Moon(jde); + const [l, b] = m.lib(lon, lat); + const P = m.pa(lon, lat, b); + const [l0, b0] = m.sun(lon, lat, range, earth); + const cMoon = new base["default"].Coord(l, b); + const cSun = new base["default"].Coord(l0, b0); + return [cMoon, P, cSun] +} + +/** + * Quantities computed for a jde and used in computing return values of + * physical(). Computations are broken into several methods to organize + * the code. + */ +class Moon { + constructor (jde) { + this.jde = jde; + // Δψ, F, Ω, p. 372.0 + const [Δψ, Δε] = nutation["default"].nutation(jde); + this.Δψ = Δψ; + const T = base["default"].J2000Century(jde); + const F = this.F = base["default"].horner(T, 93.272095 * D2R, 483202.0175233 * D2R, -0.0036539 * D2R, -D2R / 3526000, D2R / 863310000); + this.Ω = base["default"].horner(T, 125.0445479 * D2R, -1934.1362891 * D2R, 0.0020754 * D2R, + D2R / 467441, -D2R / 60616000); + // true ecliptic + this.ε = nutation["default"].meanObliquity(jde) + Δε; + this.sε = sin(this.ε); + this.cε = cos(this.ε); + // ρ, σ, τ, p. 372,373 + const D = base["default"].horner(T, 297.8501921 * D2R, 445267.1114034 * D2R, -0.0018819 * D2R, D2R / 545868, -D2R / 113065000); + const M = base["default"].horner(T, 357.5291092 * D2R, 35999.0502909 * D2R, -0.0001536 * D2R, D2R / 24490000); + const M_ = base["default"].horner(T, 134.9633964 * D2R, 477198.8675055 * D2R, + 0.0087414 * D2R, D2R / 69699, -D2R / 14712000); + const E = base["default"].horner(T, 1, -0.002516, -0.0000074); + const K1 = 119.75 * D2R + 131.849 * D2R * T; + const K2 = 72.56 * D2R + 20.186 * D2R * T; + this.ρ = -0.02752 * D2R * cos(M_) + + -0.02245 * D2R * sin(F) + + 0.00684 * D2R * cos(M_ - 2 * F) + + -0.00293 * D2R * cos(2 * F) + + -0.00085 * D2R * cos(2 * (F - D)) + + -0.00054 * D2R * cos(M_ - 2 * D) + + -0.0002 * D2R * sin(M_ + F) + + -0.0002 * D2R * cos(M_ + 2 * F) + + -0.0002 * D2R * cos(M_ - F) + + 0.00014 * D2R * cos(M_ + 2 * (F - D)); + this.σ = -0.02816 * D2R * sin(M_) + + 0.02244 * D2R * cos(F) + + -0.00682 * D2R * sin(M_ - 2 * F) + + -0.00279 * D2R * sin(2 * F) + + -0.00083 * D2R * sin(2 * (F - D)) + + 0.00069 * D2R * sin(M_ - 2 * D) + + 0.0004 * D2R * cos(M_ + F) + + -0.00025 * D2R * sin(2 * M_) + + -0.00023 * D2R * sin(M_ + 2 * F) + + 0.0002 * D2R * cos(M_ - F) + + 0.00019 * D2R * sin(M_ - F) + + 0.00013 * D2R * sin(M_ + 2 * (F - D)) + + -0.0001 * D2R * cos(M_ - 3 * F); + this.τ = 0.0252 * D2R * sin(M) * E + + 0.00473 * D2R * sin(2 * (M_ - F)) + + -0.00467 * D2R * sin(M_) + + 0.00396 * D2R * sin(K1) + + 0.00276 * D2R * sin(2 * (M_ - D)) + + 0.00196 * D2R * sin(this.Ω) + + -0.00183 * D2R * cos(M_ - F) + + 0.00115 * D2R * sin(M_ - 2 * D) + + -0.00096 * D2R * sin(M_ - D) + + 0.00046 * D2R * sin(2 * (F - D)) + + -0.00039 * D2R * sin(M_ - F) + + -0.00032 * D2R * sin(M_ - M - D) + + 0.00027 * D2R * sin(2 * (M_ - D) - M) + + 0.00023 * D2R * sin(K2) + + -0.00014 * D2R * sin(2 * D) + + 0.00014 * D2R * cos(2 * (M_ - F)) + + -0.00012 * D2R * sin(M_ - 2 * F) + + -0.00012 * D2R * sin(2 * M_) + + 0.00011 * D2R * sin(2 * (M_ - M - D)); + } + + /** + * lib() curiously serves for computing both librations and solar coordinates, + * depending on the coordinates λ, β passed in. Quantity A not described in + * the book, but clearly depends on the λ, β of the current context and so + * does not belong in the moon struct. Instead just return it from optical + * and pass it along to physical. + */ + lib (λ, β) { + const [l_, b_, A] = this.optical(λ, β); + const [l$, b$] = this.physical(A, b_); + let l = l_ + l$; + if (l > Math.PI) { + l -= 2 * Math.PI; + } + const b = b_ + b$; + return [l, b] + } + + optical (λ, β) { + // (53.1) p. 372 + const W = λ - this.Ω; // (λ without nutation) + const [sW, cW] = base["default"].sincos(W); + const [sβ, cβ] = base["default"].sincos(β); + const A = atan2(sW * cβ * cI - sβ * sI, cW * cβ); + const l_ = base["default"].pmod(A - this.F, 2 * Math.PI); + const b_ = asin(-sW * cβ * sI - sβ * cI); + return [l_, b_, A] + } + + physical (A, b_) { + // (53.2) p. 373 + const [sA, cA] = base["default"].sincos(A); + const l$ = -this.τ + (this.ρ * cA + this.σ * sA) * Math.tan(b_); + const b$ = this.σ * cA - this.ρ * sA; + return [l$, b$] + } + + pa (λ, β, b) { + const V = this.Ω + this.Δψ + this.σ / sI; + const [sV, cV] = base["default"].sincos(V); + const [sIρ, cIρ] = base["default"].sincos(_I + this.ρ); + const X = sIρ * sV; + const Y = sIρ * cV * this.cε - cIρ * this.sε; + const ω = Math.atan2(X, Y); + const ecl = new coord["default"].Ecliptic(λ + this.Δψ, β).toEquatorial(this.ε); // eslint-disable-line no-unused-vars + let P = asin(Math.hypot(X, Y) * cos(ecl.ra - ω) / cos(b)); + if (P < 0) { + P += 2 * Math.PI; + } + return P + } + + sun (λ, β, Δ, earth) { + const { lon, lat, range } = solar["default"].apparentVSOP87(earth, this.jde); // eslint-disable-line no-unused-vars + const ΔR = Δ / (range * base["default"].AU); + const λH = lon + Math.PI + 57.296 * D2R * ΔR * cos(β) * sin(lon - λ); + const βH = ΔR * β; + return this.lib(λH, βH) + } +} + +/* commented out for lack of test data +export function Topocentric (jde, ρsφ_, ρcφ_, L) { // (jde, ρsφ_, ρcφ_, L float64) (l, b, P float64) + λ, β, Δ := moonposition.Position(jde) // (λ without nutation) + Δψ, Δε := nutation.Nutation(jde) + sε, cε := base.sincos(nutation.MeanObliquity(jde) + Δε) + α, δ := coord.EclToEq(λ+Δψ, β, sε, cε) + α, δ = parallax.Topocentric(α, δ, Δ/base.AU, ρsφ_, ρcφ_, L, jde) + λ, β = coord.EqToEcl(α, δ, sε, cε) + const m = newMoon(jde) + l, b = m.lib(λ, β) + P = m.pa(λ, β, b) + return +} + +export function TopocentricCorrections (jde, b, P, φ, δ, H, π) { // (jde, b, P, φ, δ, H, π float64) (Δl, Δb, ΔP float64) + sφ, cφ := base.sincos(φ) + sH, cH := base.sincos(H) + sδ, cδ := base.sincos(δ) + const Q = Math.atan(cφ * sH / (cδ*sφ - sδ*cφ*cH)) + const z = Math.acos(sδ*sφ + cδ*cφ*cH) + const π_ = π * (sin(z) + 0.0084*sin(2*z)) + sQP, cQP := base.sincos(Q - P) + Δl = -π_ * sQP / cos(b) + Δb = π_ * cQP + ΔP = Δl*sin(b+Δb) - π_*sin(Q)*Math.tan(δ) + return +} +*/ + +/** + * SunAltitude returns altitude of the Sun above the lunar horizon. + * + * @param {Coord} cOnMoon - selenographic longitude and latitude of a site on the Moon + * @param {Coord} cSun - selenographic coordinates of the Sun (as returned by physical(), for example.) + * @return altitude in radians. + */ +function sunAltitude (cOnMoon, cSun) { // (η, θ, l0, b0 float64) float64 + const c0 = Math.PI / 2 - cSun.lon; + const [sb0, cb0] = base["default"].sincos(cSun.lat); + const [sθ, cθ] = base["default"].sincos(cOnMoon.lat); + return asin(sb0 * sθ + cb0 * cθ * sin(c0 + cOnMoon.lon)) +} + +/** + * Sunrise returns time of sunrise for a point on the Moon near the given date. + * + * @param {Coord} cOnMoon - selenographic longitude and latitude of a site on the Moon + * @param {Number} jde - Julian ephemeris day + * @param {Planet} earth - VSOP87 Planet Earth + * @return time of sunrise as a jde nearest the given jde. + */ +function sunrise (cOnMoon, jde, earth) { // (η, θ, jde float64, earth *pp.V87Planet) float64 + jde -= srCorr(cOnMoon, jde, earth); + return jde - srCorr(cOnMoon, jde, earth) +} + +/** + * Sunset returns time of sunset for a point on the Moon near the given date. + * + * @param {Coord} cOnMoon - selenographic longitude and latitude of a site on the Moon + * @param {Number} jde - Julian ephemeris day + * @param {Planet} earth - VSOP87 Planet Earth + * @return time of sunset as a jde nearest the given jde. + */ +function sunset (cOnMoon, jde, earth) { // (η, θ, jde float64, earth *pp.V87Planet) float64 + jde += srCorr(cOnMoon, jde, earth); + return jde + srCorr(cOnMoon, jde, earth) +} + +/** + * @private + */ +function srCorr (cOnMoon, jde, earth) { + const phy = physical(jde, earth); + const h = sunAltitude(cOnMoon, phy[2]); + return h / (12.19075 * D2R * cos(cOnMoon.lat)) +} + +const lunarCoord = (η, θ) => new base["default"].Coord(η * D2R, θ * D2R); +/** + * selenographic coordinates of some lunar features + * Table 53.A + */ +const selenographic = { + archimedes: lunarCoord(-3.9, 29.7), + aristarchus: lunarCoord(-47.5, 23.7), + aristillus: lunarCoord(1.2, 33.9), + aristoteles: lunarCoord(17.3, 50.1), + arzachel: lunarCoord(-1.9, -17.7), + autolycus: lunarCoord(1.5, 30.7), + billy: lunarCoord(-50, -13.8), + birt: lunarCoord(-8.5, -22.3), + campanus: lunarCoord(-27.7, -28), + censorinus: lunarCoord(32.7, -0.4), + clavius: lunarCoord(-14, -58), + copernicus: lunarCoord(-20, 9.7), + delambre: lunarCoord(17.5, -1.9), + dionysius: lunarCoord(17.3, 2.8), + endymion: lunarCoord(56.4, 53.6), + eratosthenes: lunarCoord(-11.3, 14.5), + eudoxus: lunarCoord(16.3, 44.3), + fracastorius: lunarCoord(33.2, -21), + fraMauro: lunarCoord(-17, -6), + gassendi: lunarCoord(-39.9, -17.5), + goclenius: lunarCoord(45, -10.1), + grimaldi: lunarCoord(-68.5, -5.8), + harpalus: lunarCoord(-43.4, 52.6), + horrocks: lunarCoord(5.9, -4), + kepler: lunarCoord(-38, 8.1), + langrenus: lunarCoord(60.9, -8.9), + lansberg: lunarCoord(-26.6, -0.3), + letronne: lunarCoord(-43, -10), + macrobius: lunarCoord(46, 21.2), + manilius: lunarCoord(9.1, 14.5), + menelaus: lunarCoord(16, 16.3), + messier: lunarCoord(47.6, -1.9), + petavius: lunarCoord(61, -25), + pico: lunarCoord(-8.8, 45.8), + pitatus: lunarCoord(-13.5, -29.8), + piton: lunarCoord(-0.8, 40.8), + plato: lunarCoord(-9.2, 51.4), + plinius: lunarCoord(23.6, 15.3), + posidonius: lunarCoord(30, 31.9), + proclus: lunarCoord(46.9, 16.1), + ptolemeusA: lunarCoord(-0.8, -8.5), + pytheas: lunarCoord(-20.6, 20.5), + reinhold: lunarCoord(-22.8, 3.2), + riccioli: lunarCoord(-74.3, -3.2), + schickard: lunarCoord(-54.5, -44), + schiller: lunarCoord(-39, -52), + tauruntius: lunarCoord(46.5, 5.6), + theophilus: lunarCoord(26.5, -11.4), + timocharis: lunarCoord(-13.1, 26.7), + tycho: lunarCoord(-11, -43.2), + vitruvius: lunarCoord(31.3, 17.6), + walter: lunarCoord(1, -33) +}; + +var moon = { + physical, + Moon, + // Topocentric, + // TopocentricCorrections, + sunAltitude, + sunrise, + sunset, + selenographic +}; + +exports.Moon = Moon; +exports["default"] = moon; +exports.physical = physical; +exports.selenographic = selenographic; +exports.sunAltitude = sunAltitude; +exports.sunrise = sunrise; +exports.sunset = sunset; + + +/***/ }), + +/***/ 4937: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moonillum + */ + +const D2R = Math.PI / 180; + +/** + * phaseAngleEquatorial computes the phase angle of the Moon given equatorial coordinates. + * + * @param {Coord} cMoon - geocentric right ascension, declination and distance to the Moon + * @param {Coord} cSun - coordinates and distance of the Sun + * @returns {number} phase angle of the Moon in radians + */ +function phaseAngleEquatorial (cMoon, cSun) { + return pa(cMoon.range, cSun.range, cosEq(cMoon.ra, cMoon.dec, cSun.ra, cSun.dec)) +} + +/** + * cos elongation from equatorial coordinates + * @private + */ +function cosEq (α, δ, α0, δ0) { + const [sδ, cδ] = base["default"].sincos(δ); + const [sδ0, cδ0] = base["default"].sincos(δ0); + return sδ0 * sδ + cδ0 * cδ * Math.cos(α0 - α) +} + +/** + * phase angle from cos elongation and distances + * @private + * @param {number} Δ + * @param {number} R + * @param {number} cψ + * @returns {number} + */ +function pa (Δ, R, cψ) { + const sψ = Math.sin(Math.acos(cψ)); + let i = Math.atan(R * sψ / (Δ - R * cψ)); + if (i < 0) { + i += Math.PI; + } + return i +} + +/** + * phaseAngleEquatorial2 computes the phase angle of the Moon given equatorial coordinates. + * + * Less accurate than phaseAngleEquatorial. + * + * Arguments α, δ are geocentric right ascension and declination of the Moon; + * α0, δ0 are coordinates of the Sun. Angles must be in radians. + * + * @param {Coord} cMoon - eocentric right ascension and declination of the Moon + * @param {Coord} cSun - coordinates of the Sun + * @returns {number} phase angle of the Moon in radians + */ +function phaseAngleEquatorial2 (cMoon, cSun) { + return Math.acos(-cosEq(cMoon.ra, cMoon.dec, cSun.ra, cSun.dec)) +} + +/** + * phaseAngleEcliptic computes the phase angle of the Moon given ecliptic coordinates. + * + * Distances must be in the same units as each other. + * + * @param {Coord} cMoon - geocentric longitude, latitude and distance to the Moon + * @param {Coord} cSun - longitude and distance to the Sun + * @returns {number} phase angle of the Moon in radians + */ +function phaseAngleEcliptic (cMoon, cSun) { + return pa(cMoon.range, cSun.range, cosEcl(cMoon.lon, cMoon.lat, cSun.lon)) +} + +/** + * cos elongation from ecliptic coordinates + * @private + */ +function cosEcl (λ, β, λ0) { // (λ, β, λ0 float64) float64 + return Math.cos(β) * Math.cos(λ - λ0) +} + +/** + * phaseAngleEcliptic2 computes the phase angle of the Moon given ecliptic coordinates. + * + * Less accurate than phaseAngleEcliptic. + * + * Angles must be in radians. + * + * @param {Coord} cMoon - geocentric longitude, latitude of the Moon + * @param {Coord} cSun - longitude of the Sun + * @returns {number} phase angle of the Moon in radians + */ +function phaseAngleEcliptic2 (cMoon, cSun) { + return Math.acos(-cosEcl(cMoon.lon, cMoon.lat, cSun.lon)) +} + +/** + * phaseAngle3 computes the phase angle of the Moon given a julian day. + * + * Less accurate than phaseAngle functions taking coordinates. + * + * Result in radians. + */ +function phaseAngle3 (jde) { // (jde float64) float64 + const T = base["default"].J2000Century(jde); + const D = base["default"].horner(T, 297.8501921 * D2R, 445267.1114034 * D2R, + -0.0018819 * D2R, D2R / 545868, -D2R / 113065000); + const m = base["default"].horner(T, 357.5291092 * D2R, 35999.0502909 * D2R, + -0.0001536 * D2R, D2R / 24490000); + const m_ = base["default"].horner(T, 134.9633964 * D2R, 477198.8675055 * D2R, + 0.0087414 * D2R, D2R / 69699, -D2R / 14712000); + return Math.PI - base["default"].pmod(D, 2 * Math.PI) + + -6.289 * D2R * Math.sin(m_) + + 2.1 * D2R * Math.sin(m) + + -1.274 * D2R * Math.sin(2 * D - m_) + + -0.658 * D2R * Math.sin(2 * D) + + -0.214 * D2R * Math.sin(2 * m_) + + -0.11 * D2R * Math.sin(D) +} + +var moonillum = { + phaseAngleEquatorial, + phaseAngleEquatorial2, + phaseAngleEcliptic, + phaseAngleEcliptic2, + phaseAngle3 +}; + +exports["default"] = moonillum; +exports.phaseAngle3 = phaseAngle3; +exports.phaseAngleEcliptic = phaseAngleEcliptic; +exports.phaseAngleEcliptic2 = phaseAngleEcliptic2; +exports.phaseAngleEquatorial = phaseAngleEquatorial; +exports.phaseAngleEquatorial2 = phaseAngleEquatorial2; + + +/***/ }), + +/***/ 7507: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moonmaxdec + */ + +/** + * North computes the maximum northern declination of the Moon near a given date. + * + * Argument year is a decimal year specifying a date near the event. + * + * Returned is the jde of the event nearest the given date and the declination + * of the Moon at that time. + */ +function north (y) { // (y float64) (jde, δ float64) + return max(y, nc) +} + +/** + * South computes the maximum southern declination of the Moon near a given date. + * + * Argument year is a decimal year specifying a date near the event. + * + * Returned is the jde of the event nearest the given date and the declination + * of the Moon at that time. + */ +function south (y) { // (y float64) (jde, δ float64) + return max(y, sc) +} + +const p = Math.PI / 180; +const ck = 1 / 1336.86; + +/** + * @private + */ +function max (y, c) { // (y float64, c *mc) (jde, δ float64) + let k = (y - 2000.03) * 13.3686; // (52.1) p. 367 + k = Math.floor(k + 0.5); + const T = k * ck; + const D = base["default"].horner(T, c.D, 333.0705546 * p / ck, -0.0004214 * p, 0.00000011 * p); + const m = base["default"].horner(T, c.m, 26.9281592 * p / ck, -0.0000355 * p, -0.0000001 * p); + const m_ = base["default"].horner(T, c.m_, 356.9562794 * p / ck, 0.0103066 * p, 0.00001251 * p); + const f = base["default"].horner(T, c.f, 1.4467807 * p / ck, -0.002069 * p, -0.00000215 * p); + const E = base["default"].horner(T, 1, -0.002516, -0.0000074); + const jde = base["default"].horner(T, c.JDE, 27.321582247 / ck, 0.000119804, -0.000000141) + + c.tc[0] * Math.cos(f) + + c.tc[1] * Math.sin(m_) + + c.tc[2] * Math.sin(2 * f) + + c.tc[3] * Math.sin(2 * D - m_) + + c.tc[4] * Math.cos(m_ - f) + + c.tc[5] * Math.cos(m_ + f) + + c.tc[6] * Math.sin(2 * D) + + c.tc[7] * Math.sin(m) * E + + c.tc[8] * Math.cos(3 * f) + + c.tc[9] * Math.sin(m_ + 2 * f) + + c.tc[10] * Math.cos(2 * D - f) + + c.tc[11] * Math.cos(2 * D - m_ - f) + + c.tc[12] * Math.cos(2 * D - m_ + f) + + c.tc[13] * Math.cos(2 * D + f) + + c.tc[14] * Math.sin(2 * m_) + + c.tc[15] * Math.sin(m_ - 2 * f) + + c.tc[16] * Math.cos(2 * m_ - f) + + c.tc[17] * Math.sin(m_ + 3 * f) + + c.tc[18] * Math.sin(2 * D - m - m_) * E + + c.tc[19] * Math.cos(m_ - 2 * f) + + c.tc[20] * Math.sin(2 * (D - m_)) + + c.tc[21] * Math.sin(f) + + c.tc[22] * Math.sin(2 * D + m_) + + c.tc[23] * Math.cos(m_ + 2 * f) + + c.tc[24] * Math.sin(2 * D - m) * E + + c.tc[25] * Math.sin(m_ + f) + + c.tc[26] * Math.sin(m - m_) * E + + c.tc[27] * Math.sin(m_ - 3 * f) + + c.tc[28] * Math.sin(2 * m_ + f) + + c.tc[29] * Math.cos(2 * (D - m_) - f) + + c.tc[30] * Math.sin(3 * f) + + c.tc[31] * Math.cos(m_ + 3 * f) + + c.tc[32] * Math.cos(2 * m_) + + c.tc[33] * Math.cos(2 * D - m_) + + c.tc[34] * Math.cos(2 * D + m_ + f) + + c.tc[35] * Math.cos(m_) + + c.tc[36] * Math.sin(3 * m_ + f) + + c.tc[37] * Math.sin(2 * D - m_ + f) + + c.tc[38] * Math.cos(2 * (D - m_)) + + c.tc[39] * Math.cos(D + f) + + c.tc[40] * Math.sin(m + m_) * E + + c.tc[41] * Math.sin(2 * (D - f)) + + c.tc[42] * Math.cos(2 * m_ + f) + + c.tc[43] * Math.cos(3 * m_ + f); + const δ = 23.6961 * p - 0.013004 * p * T + + c.dc[0] * Math.sin(f) + + c.dc[1] * Math.cos(2 * f) + + c.dc[2] * Math.sin(2 * D - f) + + c.dc[3] * Math.sin(3 * f) + + c.dc[4] * Math.cos(2 * (D - f)) + + c.dc[5] * Math.cos(2 * D) + + c.dc[6] * Math.sin(m_ - f) + + c.dc[7] * Math.sin(m_ + 2 * f) + + c.dc[8] * Math.cos(f) + + c.dc[9] * Math.sin(2 * D + m - f) * E + + c.dc[10] * Math.sin(m_ + 3 * f) + + c.dc[11] * Math.sin(D + f) + + c.dc[12] * Math.sin(m_ - 2 * f) + + c.dc[13] * Math.sin(2 * D - m - f) * E + + c.dc[14] * Math.sin(2 * D - m_ - f) + + c.dc[15] * Math.cos(m_ + f) + + c.dc[16] * Math.cos(m_ + 2 * f) + + c.dc[17] * Math.cos(2 * m_ + f) + + c.dc[18] * Math.cos(m_ - 3 * f) + + c.dc[19] * Math.cos(2 * m_ - f) + + c.dc[20] * Math.cos(m_ - 2 * f) + + c.dc[21] * Math.sin(2 * m_) + + c.dc[22] * Math.sin(3 * m_ + f) + + c.dc[23] * Math.cos(2 * D + m - f) * E + + c.dc[24] * Math.cos(m_ - f) + + c.dc[25] * Math.cos(3 * f) + + c.dc[26] * Math.sin(2 * D + f) + + c.dc[27] * Math.cos(m_ + 3 * f) + + c.dc[28] * Math.cos(D + f) + + c.dc[29] * Math.sin(2 * m_ - f) + + c.dc[30] * Math.cos(3 * m_ + f) + + c.dc[31] * Math.cos(2 * (D + m_) + f) + + c.dc[32] * Math.sin(2 * (D - m_) - f) + + c.dc[33] * Math.cos(2 * m_) + + c.dc[34] * Math.cos(m_) + + c.dc[35] * Math.sin(2 * f) + + c.dc[36] * Math.sin(m_ + f); + return { jde, dec: c.s * δ } +} + +/** + * north coefficients + */ +const nc = { + D: 152.2029 * p, + m: 14.8591 * p, + m_: 4.6881 * p, + f: 325.8867 * p, + JDE: 2451562.5897, + s: 1, + tc: [ + 0.8975, + -0.4726, + -0.1030, + -0.0976, + -0.0462, + -0.0461, + -0.0438, + 0.0162, + -0.0157, + 0.0145, + 0.0136, + -0.0095, + -0.0091, + -0.0089, + 0.0075, + -0.0068, + 0.0061, + -0.0047, + -0.0043, + -0.004, + -0.0037, + 0.0031, + 0.0030, + -0.0029, + -0.0029, + -0.0027, + 0.0024, + -0.0021, + 0.0019, + 0.0018, + 0.0018, + 0.0017, + 0.0017, + -0.0014, + 0.0013, + 0.0013, + 0.0012, + 0.0011, + -0.0011, + 0.001, + 0.001, + -0.0009, + 0.0007, + -0.0007 + ], + dc: [ + 5.1093 * p, + 0.2658 * p, + 0.1448 * p, + -0.0322 * p, + 0.0133 * p, + 0.0125 * p, + -0.0124 * p, + -0.0101 * p, + 0.0097 * p, + -0.0087 * p, + 0.0074 * p, + 0.0067 * p, + 0.0063 * p, + 0.0060 * p, + -0.0057 * p, + -0.0056 * p, + 0.0052 * p, + 0.0041 * p, + -0.004 * p, + 0.0038 * p, + -0.0034 * p, + -0.0029 * p, + 0.0029 * p, + -0.0028 * p, + -0.0028 * p, + -0.0023 * p, + -0.0021 * p, + 0.0019 * p, + 0.0018 * p, + 0.0017 * p, + 0.0015 * p, + 0.0014 * p, + -0.0012 * p, + -0.0012 * p, + -0.001 * p, + -0.001 * p, + 0.0006 * p + ] +}; + +/** + * south coefficients + */ +const sc = { + D: 345.6676 * p, + m: 1.3951 * p, + m_: 186.21 * p, + f: 145.1633 * p, + JDE: 2451548.9289, + s: -1, + tc: [ + -0.8975, + -0.4726, + -0.1030, + -0.0976, + 0.0541, + 0.0516, + -0.0438, + 0.0112, + 0.0157, + 0.0023, + -0.0136, + 0.011, + 0.0091, + 0.0089, + 0.0075, + -0.003, + -0.0061, + -0.0047, + -0.0043, + 0.004, + -0.0037, + -0.0031, + 0.0030, + 0.0029, + -0.0029, + -0.0027, + 0.0024, + -0.0021, + -0.0019, + -0.0006, + -0.0018, + -0.0017, + 0.0017, + 0.0014, + -0.0013, + -0.0013, + 0.0012, + 0.0011, + 0.0011, + 0.001, + 0.001, + -0.0009, + -0.0007, + -0.0007 + ], + dc: [ + -5.1093 * p, + 0.2658 * p, + -0.1448 * p, + 0.0322 * p, + 0.0133 * p, + 0.0125 * p, + -0.0015 * p, + 0.0101 * p, + -0.0097 * p, + 0.0087 * p, + 0.0074 * p, + 0.0067 * p, + -0.0063 * p, + -0.0060 * p, + 0.0057 * p, + -0.0056 * p, + -0.0052 * p, + -0.0041 * p, + -0.004 * p, + -0.0038 * p, + 0.0034 * p, + -0.0029 * p, + 0.0029 * p, + 0.0028 * p, + -0.0028 * p, + 0.0023 * p, + 0.0021 * p, + 0.0019 * p, + 0.0018 * p, + -0.0017 * p, + 0.0015 * p, + 0.0014 * p, + 0.0012 * p, + -0.0012 * p, + 0.001 * p, + -0.001 * p, + 0.0037 * p + ] +}; + +var moonmaxdec = { + north, + south +}; + +exports["default"] = moonmaxdec; +exports.north = north; +exports.south = south; + + +/***/ }), + +/***/ 1810: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moonnode + */ + +/** + * Ascending returns the date of passage of the Moon through an ascending node. + * + * @param {Number} year - decimal year specifying a date near the event. + * @returns {Number} jde of the event nearest the given date. + */ +function ascending (year) { // (year float64) float64 + return node(year, 0) +} + +/** + * Descending returns the date of passage of the Moon through a descending node. + * + * @param {Number} year - decimal year specifying a date near the event. + * @returns {Number} jde of the event nearest the given date. + */ +function descending (year) { // (year float64) float64 + return node(year, 0.5) +} + +/** + * @private + */ +function node (y, h) { // (y, h float64) float64 + let k = (y - 2000.05) * 13.4223; // (50.1) p. 355 + k = Math.floor(k - h + 0.5) + h; // snap to half orbit + const p = Math.PI / 180; + const ck = 1 / 1342.23; + const T = k * ck; + const D = base["default"].horner(T, 183.638 * p, 331.73735682 * p / ck, + 0.0014852 * p, 0.00000209 * p, -0.00000001 * p); + const M = base["default"].horner(T, 17.4006 * p, 26.8203725 * p / ck, + 0.0001186 * p, 0.00000006 * p); + const m_ = base["default"].horner(T, 38.3776 * p, 355.52747313 * p / ck, + 0.0123499 * p, 0.000014627 * p, -0.000000069 * p); + const Ω = base["default"].horner(T, 123.9767 * p, -1.44098956 * p / ck, + 0.0020608 * p, 0.00000214 * p, -0.000000016 * p); + const V = base["default"].horner(T, 299.75 * p, 132.85 * p, -0.009173 * p); + const P = Ω + 272.75 * p - 2.3 * p * T; + const E = base["default"].horner(T, 1, -0.002516, -0.0000074); + return base["default"].horner(T, 2451565.1619, 27.212220817 / ck, + 0.0002762, 0.000000021, -0.000000000088) + + -0.4721 * Math.sin(m_) + + -0.1649 * Math.sin(2 * D) + + -0.0868 * Math.sin(2 * D - m_) + + 0.0084 * Math.sin(2 * D + m_) + + -0.0083 * Math.sin(2 * D - M) * E + + -0.0039 * Math.sin(2 * D - M - m_) * E + + 0.0034 * Math.sin(2 * m_) + + -0.0031 * Math.sin(2 * (D - m_)) + + 0.003 * Math.sin(2 * D + M) * E + + 0.0028 * Math.sin(M - m_) * E + + 0.0026 * Math.sin(M) * E + + 0.0025 * Math.sin(4 * D) + + 0.0024 * Math.sin(D) + + 0.0022 * Math.sin(M + m_) * E + + 0.0017 * Math.sin(Ω) + + 0.0014 * Math.sin(4 * D - m_) + + 0.0005 * Math.sin(2 * D + M - m_) * E + + 0.0004 * Math.sin(2 * D - M + m_) * E + + -0.0003 * Math.sin(2 * (D - M)) * E + + 0.0003 * Math.sin(4 * D - M) * E + + 0.0003 * Math.sin(V) + + 0.0003 * Math.sin(P) +} + +var moonnode = { + ascending, + descending +}; + +exports.ascending = ascending; +exports["default"] = moonnode; +exports.descending = descending; + + +/***/ }), + +/***/ 8716: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moonphase + */ + +const { sin, cos } = Math; +const ck = 1 / 1236.85; +const D2R = Math.PI / 180; + +/** + * mean synodial lunar month + */ +const meanLunarMonth = 29.530588861; + +// (49.1) p. 349 +function mean (T) { + return base["default"].horner(T, 2451550.09766, 29.530588861 / ck, + 0.00015437, -0.00000015, 0.00000000073) +} + +/** snap returns k at specified quarter q nearest year y. */ +function snap (y, q) { + const k = (y - 2000) * 12.3685; // (49.2) p. 350 + return Math.floor(k - q + 0.5) + q +} + +/** + * MeanNew returns the jde of the mean New Moon nearest the given datthis. + * The mean date is within 0.5 day of the true date of New Moon. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function meanNew (year) { + return mean(snap(year, 0) * ck) +} + +/** + * MeanFirst returns the jde of the mean First Quarter Moon nearest the given datthis. + * The mean date is within 0.5 day of the true date of First Quarter Moon. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function meanFirst (year) { + return mean(snap(year, 0.25) * ck) +} + +/** + * MeanFull returns the jde of the mean Full Moon nearest the given datthis. + * The mean date is within 0.5 day of the true date of Full Moon. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function meanFull (year) { + return mean(snap(year, 0.5) * ck) +} + +/** + * MeanLast returns the jde of the mean Last Quarter Moon nearest the given datthis. + * The mean date is within 0.5 day of the true date of Last Quarter Moon. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function meanLast (year) { + return mean(snap(year, 0.75) * ck) +} + +/** + * New returns the jde of New Moon nearest the given date. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function newMoon (year) { + const m = new Mp(year, 0); + return mean(m.T) + m.nfc(nc) + m.a() +} + +/** + * First returns the jde of First Quarter Moon nearest the given datthis. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function first (year) { + const m = new Mp(year, 0.25); + return mean(m.T) + m.flc() + m.w() + m.a() +} + +/** + * Full returns the jde of Full Moon nearest the given datthis. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function full (year) { + const m = new Mp(year, 0.5); + return mean(m.T) + m.nfc(fc) + m.a() +} + +/** + * Last returns the jde of Last Quarter Moon nearest the given datthis. + * + * @param {Number} year - decimal year + * @returns {Number} jde + */ +function last (year) { + const m = new Mp(year, 0.75); + return mean(m.T) + m.flc() - m.w() + m.a() +} + +class Mp { + constructor (y, q) { + this.A = new Array(14); + const k = this.k = snap(y, q); + const T = this.T = this.k * ck; // (49.3) p. 350 + this.E = base["default"].horner(T, 1, -0.002516, -0.0000074); + this.M = base["default"].horner(T, 2.5534 * D2R, 29.1053567 * D2R / ck, + -0.0000014 * D2R, -0.00000011 * D2R); + this.M_ = base["default"].horner(T, 201.5643 * D2R, 385.81693528 * D2R / ck, + 0.0107582 * D2R, 0.00001238 * D2R, -0.000000058 * D2R); + this.F = base["default"].horner(T, 160.7108 * D2R, 390.67050284 * D2R / ck, + -0.0016118 * D2R, -0.00000227 * D2R, 0.000000011 * D2R); + this.Ω = base["default"].horner(T, 124.7746 * D2R, -1.56375588 * D2R / ck, + 0.0020672 * D2R, 0.00000215 * D2R); + this.A[0] = 299.7 * D2R + 0.107408 * D2R * k - 0.009173 * T * T; + this.A[1] = 251.88 * D2R + 0.016321 * D2R * k; + this.A[2] = 251.83 * D2R + 26.651886 * D2R * k; + this.A[3] = 349.42 * D2R + 36.412478 * D2R * k; + this.A[4] = 84.66 * D2R + 18.206239 * D2R * k; + this.A[5] = 141.74 * D2R + 53.303771 * D2R * k; + this.A[6] = 207.17 * D2R + 2.453732 * D2R * k; + this.A[7] = 154.84 * D2R + 7.30686 * D2R * k; + this.A[8] = 34.52 * D2R + 27.261239 * D2R * k; + this.A[9] = 207.19 * D2R + 0.121824 * D2R * k; + this.A[10] = 291.34 * D2R + 1.844379 * D2R * k; + this.A[11] = 161.72 * D2R + 24.198154 * D2R * k; + this.A[12] = 239.56 * D2R + 25.513099 * D2R * k; + this.A[13] = 331.55 * D2R + 3.592518 * D2R * k; + } + + // new or full corrections + nfc (c) { + const { M, M_, E, F, Ω } = this; + return c[0] * sin(M_) + + c[1] * sin(M) * E + + c[2] * sin(2 * M_) + + c[3] * sin(2 * F) + + c[4] * sin(M_ - M) * E + + c[5] * sin(M_ + M) * E + + c[6] * sin(2 * M) * E * E + + c[7] * sin(M_ - 2 * F) + + c[8] * sin(M_ + 2 * F) + + c[9] * sin(2 * M_ + M) * E + + c[10] * sin(3 * M_) + + c[11] * sin(M + 2 * F) * E + + c[12] * sin(M - 2 * F) * E + + c[13] * sin(2 * M_ - M) * E + + c[14] * sin(Ω) + + c[15] * sin(M_ + 2 * M) + + c[16] * sin(2 * (M_ - F)) + + c[17] * sin(3 * M) + + c[18] * sin(M_ + M - 2 * F) + + c[19] * sin(2 * (M_ + F)) + + c[20] * sin(M_ + M + 2 * F) + + c[21] * sin(M_ - M + 2 * F) + + c[22] * sin(M_ - M - 2 * F) + + c[23] * sin(3 * M_ + M) + + c[24] * sin(4 * M_) + } + + // first or last corrections + flc () { + const { M, M_, E, F, Ω } = this; + return -0.62801 * sin(M_) + + 0.17172 * sin(M) * E + + -0.01183 * sin(M_ + M) * E + + 0.00862 * sin(2 * M_) + + 0.00804 * sin(2 * F) + + 0.00454 * sin(M_ - M) * E + + 0.00204 * sin(2 * M) * E * E + + -0.0018 * sin(M_ - 2 * F) + + -0.0007 * sin(M_ + 2 * F) + + -0.0004 * sin(3 * M_) + + -0.00034 * sin(2 * M_ - M) * E + + 0.00032 * sin(M + 2 * F) * E + + 0.00032 * sin(M - 2 * F) * E + + -0.00028 * sin(M_ + 2 * M) * E * E + + 0.00027 * sin(2 * M_ + M) * E + + -0.00017 * sin(Ω) + + -0.00005 * sin(M_ - M - 2 * F) + + 0.00004 * sin(2 * M_ + 2 * F) + + -0.00004 * sin(M_ + M + 2 * F) + + 0.00004 * sin(M_ - 2 * M) + + 0.00003 * sin(M_ + M - 2 * F) + + 0.00003 * sin(3 * M) + + 0.00002 * sin(2 * M_ - 2 * F) + + 0.00002 * sin(M_ - M + 2 * F) + + -0.00002 * sin(3 * M_ + M) + } + + w () { + const { M, M_, E, F } = this; + return 0.00306 - + 0.00038 * E * cos(M) + + 0.00026 * cos(M_) - + 0.00002 * (cos(M_ - M) - + cos(M_ + M) - + cos(2 * F) + ) + } + + // additional corrections + a () { + let a = 0; + ac.forEach((c, i) => { + a += c * sin(this.A[i]); + }); + return a + } +} + +// new coefficients +const nc = [ + -0.4072, 0.17241, 0.01608, 0.01039, 0.00739, + -0.00514, 0.00208, -0.00111, -0.00057, 0.00056, + -0.00042, 0.00042, 0.00038, -0.00024, -0.00017, + -0.00007, 0.00004, 0.00004, 0.00003, 0.00003, + -0.00003, 0.00003, -0.00002, -0.00002, 0.00002 +]; + +// full coefficients +const fc = [ + -0.40614, 0.17302, 0.01614, 0.01043, 0.00734, + -0.00515, 0.00209, -0.00111, -0.00057, 0.00056, + -0.00042, 0.00042, 0.00038, -0.00024, -0.00017, + -0.00007, 0.00004, 0.00004, 0.00003, 0.00003, + -0.00003, 0.00003, -0.00002, -0.00002, 0.00002 +]; + +// additional corrections +const ac = [ + 0.000325, 0.000165, 0.000164, 0.000126, 0.00011, + 0.000062, 0.00006, 0.000056, 0.000047, 0.000042, + 0.000040, 0.000037, 0.000035, 0.000023 +]; + +var moonphase = { + meanLunarMonth, + meanNew, + meanFirst, + meanFull, + meanLast, + newMoon, + new: newMoon, // BACKWARDS-COMPATIBILITY + first, + full, + last +}; + +exports["default"] = moonphase; +exports.first = first; +exports.full = full; +exports.last = last; +exports.meanFirst = meanFirst; +exports.meanFull = meanFull; +exports.meanLast = meanLast; +exports.meanLunarMonth = meanLunarMonth; +exports.meanNew = meanNew; +exports.newMoon = newMoon; + + +/***/ }), + +/***/ 1610: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module moonposition + */ +const { asin, sin } = Math; +const D2R = Math.PI / 180; + +const EARTH_RADIUS = 6378.137; // km + +/** + * parallax returns equatorial horizontal parallax of the Moon. + * + * @param {Number} distance - distance between centers of the Earth and Moon, in km. + * @returns {Number} Result in radians. + */ +function parallax (distance) { + // p. 337 + return asin(EARTH_RADIUS / distance) +} + +function dmf (T) { + const d = base["default"].horner(T, 297.8501921 * D2R, 445267.1114034 * D2R, -0.0018819 * D2R, D2R / 545868, -D2R / 113065000); + const m = base["default"].horner(T, 357.5291092 * D2R, 35999.0502909 * D2R, -0.0001536 * D2R, D2R / 24490000); + const m_ = base["default"].horner(T, 134.9633964 * D2R, 477198.8675055 * D2R, + 0.0087414 * D2R, D2R / 69699, -D2R / 14712000); + const f = base["default"].horner(T, 93.272095 * D2R, 483202.0175233 * D2R, -0.0036539 * D2R, -D2R / 3526000, D2R / 863310000); + return [d, m, m_, f] +} + +/** + * position returns geocentric location of the Moon. + * + * Results are referenced to mean equinox of date and do not include + * the effect of nutation. + * + * @param {number} jde - Julian ephemeris day + * @returns {Coord} + * {number} lon - Geocentric longitude λ, in radians. + * {number} lat - Geocentric latitude β, in radians. + * {number} range - Distance Δ between centers of the Earth and Moon, in km. + */ +function position (jde) { + const T = base["default"].J2000Century(jde); + const l_ = base["default"].horner(T, 218.3164477 * D2R, 481267.88123421 * D2R, -0.0015786 * D2R, D2R / 538841, -D2R / 65194000); + const [d, m, m_, f] = dmf(T); + const a1 = 119.75 * D2R + 131.849 * D2R * T; + const a2 = 53.09 * D2R + 479264.29 * D2R * T; + const a3 = 313.45 * D2R + 481266.484 * D2R * T; + const e = base["default"].horner(T, 1, -0.002516, -0.0000074); + const e2 = e * e; + let Σl = 3958 * sin(a1) + 1962 * sin(l_ - f) + 318 * sin(a2); + let Σr = 0.0; + let Σb = -2235 * sin(l_) + 382 * sin(a3) + 175 * sin(a1 - f) + + 175 * sin(a1 + f) + 127 * sin(l_ - m_) - 115 * sin(l_ + m_); + ta.forEach((r) => { + const [sina, cosa] = base["default"].sincos(d * r.d + m * r.m + m_ * r.m_ + f * r.f); + switch (r.m) { + case 0: + Σl += r.Σl * sina; + Σr += r.Σr * cosa; + break + case -1: + case 1: + Σl += r.Σl * sina * e; + Σr += r.Σr * cosa * e; + break + case -2: + case 2: + Σl += r.Σl * sina * e2; + Σr += r.Σr * cosa * e2; + break + } + }); + + tb.forEach((r) => { + const sb = sin(d * r.d + m * r.m + m_ * r.m_ + f * r.f); + switch (r.m) { + case 0: + Σb += r.Σb * sb; + break + case -1: + case 1: + Σb += r.Σb * sb * e; + break + case -2: + case 2: + Σb += r.Σb * sb * e2; + break + } + }); + const lon = base["default"].pmod(l_, 2 * Math.PI) + Σl * 1e-6 * D2R; + const lat = Σb * 1e-6 * D2R; + const range = 385000.56 + Σr * 1e-3; + return new base["default"].Coord(lon, lat, range) +} + +const ta = (function () { + const ta = [ + [0, 0, 1, 0, 6288774, -20905355], + [2, 0, -1, 0, 1274027, -3699111], + [2, 0, 0, 0, 658314, -2955968], + [0, 0, 2, 0, 213618, -569925], + + [0, 1, 0, 0, -185116, 48888], + [0, 0, 0, 2, -114332, -3149], + [2, 0, -2, 0, 58793, 246158], + [2, -1, -1, 0, 57066, -152138], + + [2, 0, 1, 0, 53322, -170733], + [2, -1, 0, 0, 45758, -204586], + [0, 1, -1, 0, -40923, -129620], + [1, 0, 0, 0, -34720, 108743], + + [0, 1, 1, 0, -30383, 104755], + [2, 0, 0, -2, 15327, 10321], + [0, 0, 1, 2, -12528, 0], + [0, 0, 1, -2, 10980, 79661], + + [4, 0, -1, 0, 10675, -34782], + [0, 0, 3, 0, 10034, -23210], + [4, 0, -2, 0, 8548, -21636], + [2, 1, -1, 0, -7888, 24208], + + [2, 1, 0, 0, -6766, 30824], + [1, 0, -1, 0, -5163, -8379], + [1, 1, 0, 0, 4987, -16675], + [2, -1, 1, 0, 4036, -12831], + + [2, 0, 2, 0, 3994, -10445], + [4, 0, 0, 0, 3861, -11650], + [2, 0, -3, 0, 3665, 14403], + [0, 1, -2, 0, -2689, -7003], + + [2, 0, -1, 2, -2602, 0], + [2, -1, -2, 0, 2390, 10056], + [1, 0, 1, 0, -2348, 6322], + [2, -2, 0, 0, 2236, -9884], + + [0, 1, 2, 0, -2120, 5751], + [0, 2, 0, 0, -2069, 0], + [2, -2, -1, 0, 2048, -4950], + [2, 0, 1, -2, -1773, 4130], + + [2, 0, 0, 2, -1595, 0], + [4, -1, -1, 0, 1215, -3958], + [0, 0, 2, 2, -1110, 0], + [3, 0, -1, 0, -892, 3258], + + [2, 1, 1, 0, -810, 2616], + [4, -1, -2, 0, 759, -1897], + [0, 2, -1, 0, -713, -2117], + [2, 2, -1, 0, -700, 2354], + + [2, 1, -2, 0, 691, 0], + [2, -1, 0, -2, 596, 0], + [4, 0, 1, 0, 549, -1423], + [0, 0, 4, 0, 537, -1117], + + [4, -1, 0, 0, 520, -1571], + [1, 0, -2, 0, -487, -1739], + [2, 1, 0, -2, -399, 0], + [0, 0, 2, -2, -381, -4421], + + [1, 1, 1, 0, 351, 0], + [3, 0, -2, 0, -340, 0], + [4, 0, -3, 0, 330, 0], + [2, -1, 2, 0, 327, 0], + + [0, 2, 1, 0, -323, 1165], + [1, 1, -1, 0, 299, 0], + [2, 0, 3, 0, 294, 0], + [2, 0, -1, -2, 0, 8752] + ]; + return ta.map((row) => { + const o = {}; + const vals = ['d', 'm', 'm_', 'f', 'Σl', 'Σr']; + vals.forEach((D2R, i) => { + o[D2R] = row[i]; + }); + return o + }) +})(); + +const tb = (function () { + const tb = [ + [0, 0, 0, 1, 5128122], + [0, 0, 1, 1, 280602], + [0, 0, 1, -1, 277693], + [2, 0, 0, -1, 173237], + + [2, 0, -1, 1, 55413], + [2, 0, -1, -1, 46271], + [2, 0, 0, 1, 32573], + [0, 0, 2, 1, 17198], + + [2, 0, 1, -1, 9266], + [0, 0, 2, -1, 8822], + [2, -1, 0, -1, 8216], + [2, 0, -2, -1, 4324], + + [2, 0, 1, 1, 4200], + [2, 1, 0, -1, -3359], + [2, -1, -1, 1, 2463], + [2, -1, 0, 1, 2211], + + [2, -1, -1, -1, 2065], + [0, 1, -1, -1, -1870], + [4, 0, -1, -1, 1828], + [0, 1, 0, 1, -1794], + + [0, 0, 0, 3, -1749], + [0, 1, -1, 1, -1565], + [1, 0, 0, 1, -1491], + [0, 1, 1, 1, -1475], + + [0, 1, 1, -1, -1410], + [0, 1, 0, -1, -1344], + [1, 0, 0, -1, -1335], + [0, 0, 3, 1, 1107], + + [4, 0, 0, -1, 1021], + [4, 0, -1, 1, 833], + + [0, 0, 1, -3, 777], + [4, 0, -2, 1, 671], + [2, 0, 0, -3, 607], + [2, 0, 2, -1, 596], + + [2, -1, 1, -1, 491], + [2, 0, -2, 1, -451], + [0, 0, 3, -1, 439], + [2, 0, 2, 1, 422], + + [2, 0, -3, -1, 421], + [2, 1, -1, 1, -366], + [2, 1, 0, 1, -351], + [4, 0, 0, 1, 331], + + [2, -1, 1, 1, 315], + [2, -2, 0, -1, 302], + [0, 0, 1, 3, -283], + [2, 1, 1, -1, -229], + + [1, 1, 0, -1, 223], + [1, 1, 0, 1, 223], + [0, 1, -2, -1, -220], + [2, 1, -1, -1, -220], + + [1, 0, 1, 1, -185], + [2, -1, -2, -1, 181], + [0, 1, 2, 1, -177], + [4, 0, -2, -1, 176], + + [4, -1, -1, -1, 166], + [1, 0, 1, -1, -164], + [4, 0, 1, -1, 132], + [1, 0, -1, -1, -119], + + [4, -1, 0, -1, 115], + [2, -2, 0, 1, 107] + ]; + return tb.map((row) => { + const o = {}; + const vals = ['d', 'm', 'm_', 'f', 'Σb']; + vals.forEach((D2R, i) => { + o[D2R] = row[i]; + }); + return o + }) +})(); + +/** + * Node returns longitude of the mean ascending node of the lunar orbit. + * + * @param {number} jde - Julian ephemeris day + * @returns result in radians. + */ +function node (jde) { + return base["default"].pmod( + base["default"].horner( + base["default"].J2000Century(jde), + 125.0445479 * D2R, + -1934.1362891 * D2R, + 0.0020754 * D2R, + D2R / 467441, + -D2R / 60616000 + ), 2 * Math.PI + ) +} + +/** + * perigee returns longitude of perigee of the lunar orbit. + * + * @param {number} jde - Julian ephemeris day + * @returns result in radians. + */ +function perigee (jde) { + return base["default"].pmod( + base["default"].horner( + base["default"].J2000Century(jde), + 83.3532465 * D2R, + 4069.0137287 * D2R, + -0.01032 * D2R, + -D2R / 80053, + D2R / 18999000 + ), 2 * Math.PI + ) +} + +/** + * trueNode returns longitude of the true ascending node. + * + * That is, the node of the instantaneous lunar orbit. + * + * @param {number} jde - Julian ephemeris day + * @returns result in radians. + */ +function trueNode (jde) { + const [d, m, m_, f] = dmf(base["default"].J2000Century(jde)); + return node(jde) + + -1.4979 * D2R * sin(2 * (d - f)) + + -0.15 * D2R * sin(m) + + -0.1226 * D2R * sin(2 * d) + + 0.1176 * D2R * sin(2 * f) + + -0.0801 * D2R * sin(2 * (m_ - f)) +} + +var moonposition = { + parallax, + position, + node, + perigee, + trueNode +}; + +exports["default"] = moonposition; +exports.node = node; +exports.parallax = parallax; +exports.perigee = perigee; +exports.position = position; +exports.trueNode = trueNode; + + +/***/ }), + +/***/ 8168: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module nearparabolic + */ + +/** + * Elements holds orbital elements for near-parabolic orbits. + */ +class Elements { + /** + * @param {Number} timeP - time of Perihelion, T + * @param {Number} pDis - Perihelion distance, q + * @param {Number} ecc - eccentricity, e + */ + constructor (timeP, pDis, ecc) { + this.timeP = timeP; + this.pDis = pDis; + this.ecc = ecc; + } + + /** + * AnomalyDistance returns true anomaly and distance for near-parabolic orbits. + * + * True anomaly ν returned in radians. Distance r returned in AU. + * An error is returned if the algorithm fails to converge. + */ + anomalyDistance (jde) { + // fairly literal translation of code on p. 246 + const q1 = base["default"].K * Math.sqrt((1 + this.ecc) / this.pDis) / (2 * this.pDis); // line 20 + const g = (1 - this.ecc) / (1 + this.ecc); // line 20 + + const t = jde - this.timeP; // line 22 + if (t === 0) { // line 24 + return { ano: 0, dist: this.pDis, err: null } + } + const d1 = 1e4; + const d = 1e-9; // line 14 + const q2 = q1 * t; // line 28 + let s = 2.0 / (3 * Math.abs(q2)); // line 30 + s = 2 / Math.tan(2 * Math.atan(Math.cbrt(Math.tan(Math.atan(s) / 2)))); + if (t < 0) { // line 34 + s = -s; + } + if (this.ecc !== 1) { // line 36 + let l = 0; // line 38 + for (;;) { + const s0 = s; // line 40 + let z = 1.0; + const y = s * s; + let g1 = -y * s; + let q3 = q2 + 2 * g * s * y / 3; // line 42 + for (;;) { + z += 1; // line 44 + g1 = -g1 * g * y; // line 46 + const z1 = (z - (z + 1) * g) / (2 * z + 1); // line 48 + const f = z1 * g1; // line 50 + q3 += f; // line 52 + if (z > 50 || Math.abs(f) > d1) { // line 54 + return { + err: new Error('No convergence') + } + } + if (Math.abs(f) <= d) { // line 56 + break + } + } + l++; // line 58 + if (l > 50) { + return { + err: new Error('No convergence') + } + } + for (;;) { + const s1 = s; // line 60 + s = (2 * s * s * s / 3 + q3) / (s * s + 1); + if (Math.abs(s - s1) <= d) { // line 62 + break + } + } + if (Math.abs(s - s0) <= d) { // line 64 + break + } + } + } + let ν = 2 * Math.atan(s); // line 66 + const r = this.pDis * (1 + this.ecc) / (1 + this.ecc * Math.cos(ν)); // line 68 + if (ν < 0) { // line 70 + ν += 2 * Math.PI; + } + return { + ano: ν, + dist: r, + err: null + } + } +} + +var nearparabolic = { + Elements +}; + +exports.Elements = Elements; +exports["default"] = nearparabolic; + + +/***/ }), + +/***/ 1504: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module node + */ + +/** + * EllipticAscending computes time and distance of passage through the ascending node of a body in an elliptical orbit. + * + * Argument axis is semimajor axis in AU, ecc is eccentricity, argP is argument + * of perihelion in radians, timeP is time of perihelion as a jd. + * + * Result is jde of the event and distance from the sun in AU. + */ +function ellipticAscending (axis, ecc, argP, timeP) { // (axis, ecc, argP, timeP float64) (jde, r float64) + return el(-argP, axis, ecc, timeP) +} + +/** + * EllipticAscending computes time and distance of passage through the descending node of a body in an elliptical orbit. + * + * Argument axis is semimajor axis in AU, ecc is eccentricity, argP is argument + * of perihelion in radians, timeP is time of perihelion as a jd. + * + * Result is jde of the event and distance from the sun in AU. + */ +function ellipticDescending (axis, ecc, argP, timeP) { // (axis, ecc, argP, timeP float64) (jde, r float64) + return el(Math.PI - argP, axis, ecc, timeP) +} + +function el (ν, axis, ecc, timeP) { // (ν, axis, ecc, timeP float64) (jde, r float64) + const E = 2 * Math.atan(Math.sqrt((1 - ecc) / (1 + ecc)) * Math.tan(ν * 0.5)); + const [sE, cE] = base["default"].sincos(E); + const M = E - ecc * sE; + const n = base["default"].K / axis / Math.sqrt(axis); + const jde = timeP + M / n; + const r = axis * (1 - ecc * cE); + return [jde, r] +} + +/** + * ParabolicAscending computes time and distance of passage through the ascending node of a body in a parabolic orbit. + * + * Argument q is perihelion distance in AU, argP is argument of perihelion + * in radians, timeP is time of perihelion as a jd. + * + * Result is jde of the event and distance from the sun in AU. + */ +function parabolicAscending (q, argP, timeP) { // (q, argP, timeP float64) (jde, r float64) + return pa(-argP, q, timeP) +} + +/** + * ParabolicDescending computes time and distance of passage through the descending node of a body in a parabolic orbit. + * + * Argument q is perihelion distance in AU, argP is argument of perihelion + * in radians, timeP is time of perihelion as a jd. + * + * Result is jde of the event and distance from the sun in AU. + */ +function parabolicDescending (q, argP, timeP) { // (q, argP, timeP float64) (jde, r float64) + return pa(Math.PI - argP, q, timeP) +} + +function pa (ν, q, timeP) { // (ν, q, timeP float64) (jde, r float64) + const s = Math.tan(ν * 0.5); + const jde = timeP + 27.403895 * s * (s * s + 3) * q * Math.sqrt(q); + const r = q * (1 + s * s); + return [jde, r] +} + +var node = { + ellipticAscending, + ellipticDescending, + el, + parabolicAscending, + parabolicDescending, + pa +}; + +exports["default"] = node; +exports.el = el; +exports.ellipticAscending = ellipticAscending; +exports.ellipticDescending = ellipticDescending; +exports.pa = pa; +exports.parabolicAscending = parabolicAscending; +exports.parabolicDescending = parabolicDescending; + + +/***/ }), + +/***/ 6723: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var sexagesimal = __nccwpck_require__(2038); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module nutation + */ + +// Nutation: Chapter 22, Nutation and the Obliquity of the Ecliptic. + +/** + * Nutation returns nutation in longitude (Δψ) and nutation in obliquity (Δε) + * for a given JDE. + * + * JDE = UT + ΔT, see package. + * + * Computation is by 1980 IAU theory, with terms < .0003″ neglected. + * + * Result units are radians. + * + * @param {number} jde - Julian ephemeris day + * @return {number[]} [Δψ, Δε] - [longitude, obliquity] in radians + */ +function nutation (jde) { + const T = base["default"].J2000Century(jde); + // Mean elongation of the Moon from the sun + const D = base["default"].horner(T, + 297.85036, 445267.11148, -0.0019142, 1.0 / 189474) * Math.PI / 180; + // Mean anomaly of the Sun (Earth) + const M = base["default"].horner(T, + 357.52772, 35999.050340, -0.0001603, -1.0 / 300000) * Math.PI / 180; + // Mean anomaly of the Moon + const N = base["default"].horner(T, + 134.96298, 477198.867398, 0.0086972, 1.0 / 56250) * Math.PI / 180; + // Moon's argument of latitude + const F = base["default"].horner(T, + 93.27191, 483202.017538, -0.0036825, 1.0 / 327270) * Math.PI / 180; + // Longitude of the ascending node of the Moon's mean orbit on the ecliptic, measured from mean equinox of date + const Ω = base["default"].horner(T, + 125.04452, -1934.136261, 0.0020708, 1.0 / 450000) * Math.PI / 180; + let Δψ = 0; + let Δε = 0; + // sum in reverse order to accumulate smaller terms first + for (let i = table22A.length - 1; i >= 0; i--) { + const row = table22A[i]; + const arg = row.d * D + row.m * M + row.n * N + row.f * F + row.ω * Ω; + const [s, c] = base["default"].sincos(arg); + Δψ += s * (row.s0 + row.s1 * T); + Δε += c * (row.c0 + row.c1 * T); + } + Δψ *= 0.0001 / 3600 * (Math.PI / 180); + Δε *= 0.0001 / 3600 * (Math.PI / 180); + return [Δψ, Δε] // (Δψ, Δε float) +} +/** + * ApproxNutation returns a fast approximation of nutation in longitude (Δψ) + * and nutation in obliquity (Δε) for a given JDE. + * + * Accuracy is 0.5″ in Δψ, 0.1″ in Δε. + * + * Result units are radians. + * + * @param {number} jde - Julian ephemeris day + * @return {number[]} [Δψ, Δε] - [longitude, obliquity] in radians + */ +function approxNutation (jde) { + const T = (jde - base["default"].J2000) / 36525; + const Ω = (125.04452 - 1934.136261 * T) * Math.PI / 180; + const L = (280.4665 + 36000.7698 * T) * Math.PI / 180; + const N = (218.3165 + 481267.8813 * T) * Math.PI / 180; + const [sΩ, cΩ] = base["default"].sincos(Ω); + const [s2L, c2L] = base["default"].sincos(2 * L); + const [s2N, c2N] = base["default"].sincos(2 * N); + const [s2Ω, c2Ω] = base["default"].sincos(2 * Ω); + const Δψ = (-17.2 * sΩ - 1.32 * s2L - 0.23 * s2N + 0.21 * s2Ω) / 3600 * (Math.PI / 180); + const Δε = (9.2 * cΩ + 0.57 * c2L + 0.1 * c2N - 0.09 * c2Ω) / 3600 * (Math.PI / 180); + return [Δψ, Δε] // (Δψ, Δε float) +} + +/** + * MeanObliquity returns mean obliquity (ε₀) following the IAU 1980 + * polynomial. + * + * Accuracy is 1″ over the range 1000 to 3000 years and 10″ over the range + * 0 to 4000 years. + * + * Result unit is radians. + * + * @param {number} jde - Julian ephemeris day + * @return {number} mean obliquity (ε₀) + */ +function meanObliquity (jde) { + // (22.2) p. 147 + return base["default"].horner( + base["default"].J2000Century(jde), + new sexagesimal["default"].Angle(false, 23, 26, 21.448).rad(), + -46.815 / 3600 * (Math.PI / 180), + -0.00059 / 3600 * (Math.PI / 180), + 0.001813 / 3600 * (Math.PI / 180) + ) +} + +/** + * MeanObliquityLaskar returns mean obliquity (ε₀) following the Laskar + * 1986 polynomial. + * + * Accuracy over the range 1000 to 3000 years is .01″. + * + * Accuracy over the valid date range of -8000 to +12000 years is + * "a few seconds." + * + * Result unit is radians. + * + * @param {number} jde - Julian ephemeris day + * @return {number} mean obliquity (ε₀) + */ +function meanObliquityLaskar (jde) { + // (22.3) p. 147 + return base["default"].horner( + base["default"].J2000Century(jde) * 0.01, + new sexagesimal["default"].Angle(false, 23, 26, 21.448).rad(), + -4680.93 / 3600 * (Math.PI / 180), + -1.55 / 3600 * (Math.PI / 180), + 1999.25 / 3600 * (Math.PI / 180), + -51.38 / 3600 * (Math.PI / 180), + -249.67 / 3600 * (Math.PI / 180), + -39.05 / 3600 * (Math.PI / 180), + 7.12 / 3600 * (Math.PI / 180), + 27.87 / 3600 * (Math.PI / 180), + 5.79 / 3600 * (Math.PI / 180), + 2.45 / 3600 * (Math.PI / 180) + ) +} + +/** + * NutationInRA returns "nutation in right ascension" or "equation of the + * equinoxes." + * + * Result is an angle in radians. + * + * @param {number} jde - Julian ephemeris day + * @return {number} nutation in right ascension + */ +function nutationInRA (jde) { + const [Δψ, Δε] = nutation(jde); + const ε0 = meanObliquity(jde); + return Δψ * Math.cos(ε0 + Δε) +} + +const table22A = (function () { + const PROPS = 'd,m,n,f,ω,s0,s1,c0,c1'.split(','); + const tab = [ + [0, 0, 0, 0, 1, -171996, -174.2, 92025, 8.9], + [-2, 0, 0, 2, 2, -13187, -1.6, 5736, -3.1], + [0, 0, 0, 2, 2, -2274, -0.2, 977, -0.5], + [0, 0, 0, 0, 2, 2062, 0.2, -895, 0.5], + [0, 1, 0, 0, 0, 1426, -3.4, 54, -0.1], + [0, 0, 1, 0, 0, 712, 0.1, -7, 0], + [-2, 1, 0, 2, 2, -517, 1.2, 224, -0.6], + [0, 0, 0, 2, 1, -386, -0.4, 200, 0], + [0, 0, 1, 2, 2, -301, 0, 129, -0.1], + [-2, -1, 0, 2, 2, 217, -0.5, -95, 0.3], + [-2, 0, 1, 0, 0, -158, 0, 0, 0], + [-2, 0, 0, 2, 1, 129, 0.1, -70, 0], + [0, 0, -1, 2, 2, 123, 0, -53, 0], + [2, 0, 0, 0, 0, 63, 0, 0, 0], + [0, 0, 1, 0, 1, 63, 0.1, -33, 0], + [2, 0, -1, 2, 2, -59, 0, 26, 0], + [0, 0, -1, 0, 1, -58, -0.1, 32, 0], + [0, 0, 1, 2, 1, -51, 0, 27, 0], + [-2, 0, 2, 0, 0, 48, 0, 0, 0], + [0, 0, -2, 2, 1, 46, 0, -24, 0], + [2, 0, 0, 2, 2, -38, 0, 16, 0], + [0, 0, 2, 2, 2, -31, 0, 13, 0], + [0, 0, 2, 0, 0, 29, 0, 0, 0], + [-2, 0, 1, 2, 2, 29, 0, -12, 0], + [0, 0, 0, 2, 0, 26, 0, 0, 0], + [-2, 0, 0, 2, 0, -22, 0, 0, 0], + [0, 0, -1, 2, 1, 21, 0, -10, 0], + [0, 2, 0, 0, 0, 17, -0.1, 0, 0], + [2, 0, -1, 0, 1, 16, 0, -8, 0], + [-2, 2, 0, 2, 2, -16, 0.1, 7, 0], + [0, 1, 0, 0, 1, -15, 0, 9, 0], + [-2, 0, 1, 0, 1, -13, 0, 7, 0], + [0, -1, 0, 0, 1, -12, 0, 6, 0], + [0, 0, 2, -2, 0, 11, 0, 0, 0], + [2, 0, -1, 2, 1, -10, 0, 5, 0], + [2, 0, 1, 2, 2, -8, 0, 3, 0], + [0, 1, 0, 2, 2, 7, 0, -3, 0], + [-2, 1, 1, 0, 0, -7, 0, 0, 0], + [0, -1, 0, 2, 2, -7, 0, 3, 0], + [2, 0, 0, 2, 1, -7, 0, 3, 0], + [2, 0, 1, 0, 0, 6, 0, 0, 0], + [-2, 0, 2, 2, 2, 6, 0, -3, 0], + [-2, 0, 1, 2, 1, 6, 0, -3, 0], + [2, 0, -2, 0, 1, -6, 0, 3, 0], + [2, 0, 0, 0, 1, -6, 0, 3, 0], + [0, -1, 1, 0, 0, 5, 0, 0, 0], + [-2, -1, 0, 2, 1, -5, 0, 3, 0], + [-2, 0, 0, 0, 1, -5, 0, 3, 0], + [0, 0, 2, 2, 1, -5, 0, 3, 0], + [-2, 0, 2, 0, 1, 4, 0, 0, 0], + [-2, 1, 0, 2, 1, 4, 0, 0, 0], + [0, 0, 1, -2, 0, 4, 0, 0, 0], + [-1, 0, 1, 0, 0, -4, 0, 0, 0], + [-2, 1, 0, 0, 0, -4, 0, 0, 0], + [1, 0, 0, 0, 0, -4, 0, 0, 0], + [0, 0, 1, 2, 0, 3, 0, 0, 0], + [0, 0, -2, 2, 2, -3, 0, 0, 0], + [-1, -1, 1, 0, 0, -3, 0, 0, 0], + [0, 1, 1, 0, 0, -3, 0, 0, 0], + [0, -1, 1, 2, 2, -3, 0, 0, 0], + [2, -1, -1, 2, 2, -3, 0, 0, 0], + [0, 0, 3, 2, 2, -3, 0, 0, 0], + [2, -1, 0, 2, 2, -3, 0, 0, 0] + ]; + + return tab.map((row) => { + const o = {}; + PROPS.forEach((p, i) => { + o[p] = row[i]; + }); + return o + }) +})(); + +var nutation$1 = { + nutation, + approxNutation, + meanObliquity, + meanObliquityLaskar, + nutationInRA +}; + +exports.approxNutation = approxNutation; +exports["default"] = nutation$1; +exports.meanObliquity = meanObliquity; +exports.meanObliquityLaskar = meanObliquityLaskar; +exports.nutation = nutation; +exports.nutationInRA = nutationInRA; + + +/***/ }), + +/***/ 8686: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module parabolic + */ + +/** + * Elements holds parabolic elements needed for computing true anomaly and distance. + */ +class Elements { + /** + * @param {Number} timeP - time of perihelion, T + * @param {Number} pDis - perihelion distance, q + */ + constructor (timeP, pDis) { + this.timeP = timeP; + this.pDis = pDis; + } + + /** + * AnomalyDistance returns true anomaly and distance of a body in a parabolic orbit of the Sun. + * + * @param {Number} jde - Julian ephemeris day + * @returns {Object} {ano, dist} + * {Number} ano - True anomaly ν in radians. + * {Number} dist - Distance r returned in AU. + */ + anomalyDistance (jde) { + const W = 3 * base["default"].K / Math.SQRT2 * (jde - this.timeP) / this.pDis / Math.sqrt(this.pDis); + const G = W * 0.5; + const Y = Math.cbrt(G + Math.sqrt(G * G + 1)); + const s = Y - 1 / Y; + const ν = 2 * Math.atan(s); + const r = this.pDis * (1 + s * s); + return { + ano: ν, + dist: r + } + } +} + +var parabolic = { + Elements +}; + +exports.Elements = Elements; +exports["default"] = parabolic; + + +/***/ }), + +/***/ 978: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module parallactic + */ + +/** + * ParallacticAngle returns parallactic angle of a celestial object. + * + * φ is geographic latitude of observer. + * δ is declination of observed object. + * H is hour angle of observed object. + * + * All angles including result are in radians. + */ +function parallacticAngle (φ, δ, H) { // (φ, δ, H float64) float64 + const [sδ, cδ] = base["default"].sincos(δ); + const [sH, cH] = base["default"].sincos(H); + return Math.atan2(sH, Math.tan(φ) * cδ - sδ * cH) // (14.1) p. 98 +} + +/** + * ParallacticAngleOnHorizon is a special case of ParallacticAngle. + * + * The hour angle is not needed as an input and the math inside simplifies. + */ +function parallacticAngleOnHorizon (φ, δ) { // (φ, δ float64) float64 + return Math.acos(Math.sin(φ) / Math.cos(δ)) +} + +/** + * EclipticAtHorizon computes how the plane of the ecliptic intersects + * the horizon at a given local sidereal time as observed from a given + * geographic latitude. + * + * ε is obliquity of the ecliptic. + * φ is geographic latitude of observer. + * θ is local sidereal time expressed as an hour angle. + * + * λ1 and λ2 are ecliptic longitudes where the ecliptic intersects the horizon. + * I is the angle at which the ecliptic intersects the horizon. + * + * All angles, arguments and results, are in radians. + */ +function eclipticAtHorizon (ε, φ, θ) { // (ε, φ, θ float64) (λ1, λ2, I float64) + const [sε, cε] = base["default"].sincos(ε); + const [sφ, cφ] = base["default"].sincos(φ); + const [sθ, cθ] = base["default"].sincos(θ); + let λ = Math.atan2(-cθ, sε * (sφ / cφ) + cε * sθ); // (14.2) p. 99 + if (λ < 0) { + λ += Math.PI; + } + return [λ, λ + Math.PI, Math.acos(cε * sφ - sε * cφ * sθ)] // (14.3) p. 99 +} + +/** + * EclipticAtEquator computes the angle between the ecliptic and the parallels + * of ecliptic latitude at a given ecliptic longitude. + * + * (The function name EclipticAtEquator is for consistency with the Meeus text, + * and works if you consider the equator a nominal parallel of latitude.) + * + * λ is ecliptic longitude. + * ε is obliquity of the ecliptic. + * + * All angles in radians. + */ +function eclipticAtEquator (λ, ε) { // (λ, ε float64) float64 + return Math.atan(-Math.cos(λ) * Math.tan(ε)) +} + +/** + * DiurnalPathAtHorizon computes the angle of the path a celestial object + * relative to the horizon at the time of its rising or setting. + * + * δ is declination of the object. + * φ is geographic latitude of observer. + * + * All angles in radians. + */ +function diurnalPathAtHorizon (δ, φ) { // (δ, φ float64) (J float64) + const tφ = Math.tan(φ); + const b = Math.tan(δ) * tφ; + const c = Math.sqrt(1 - b * b); + return Math.atan(c * Math.cos(δ) / tφ) +} + +var parallactic = { + parallacticAngle, + parallacticAngleOnHorizon, + eclipticAtHorizon, + eclipticAtEquator, + diurnalPathAtHorizon +}; + +exports["default"] = parallactic; +exports.diurnalPathAtHorizon = diurnalPathAtHorizon; +exports.eclipticAtEquator = eclipticAtEquator; +exports.eclipticAtHorizon = eclipticAtHorizon; +exports.parallacticAngle = parallacticAngle; +exports.parallacticAngleOnHorizon = parallacticAngleOnHorizon; + + +/***/ }), + +/***/ 4526: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var globe = __nccwpck_require__(9310); +var sidereal = __nccwpck_require__(29); +var sexagesimal = __nccwpck_require__(2038); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module parallax + */ + +const horPar = (8.794 / 3600) * Math.PI / 180; // 8".794 arcseconds in radians + +/** + * Horizontal returns equatorial horizontal parallax of a body. + * + * @param {number} Δ - distance in AU. + * @return {number} parallax in radians. + */ +function horizontal (Δ) { + // (40.1) p. 279 + return Math.asin(Math.sin(horPar) / Δ) + // return horPar / Δ // with sufficient accuracy +} + +/** + * Topocentric returns topocentric positions including parallax. + * + * Arguments α, δ are geocentric right ascension and declination in radians. + * Δ is distance to the observed object in AU. ρsφ, ρcφ are parallax + * constants (see package globe.) lon is geographic longitude of the observer, + * jde is time of observation. + * + * @param {Coord} c - geocentric right ascension and declination in radians + * @param {number} ρsφ - parallax constants (see package globe.) + * @param {number} ρcφ - parallax constants (see package globe.) + * @param {number} lon - geographic longitude of the observer (measured positively westwards!) + * @param {number} jde - time of observation + * @return {Coord} observed topocentric ra and dec in radians. + */ +function topocentric (c, ρsφ, ρcφ, lon, jde) { + const [α, δ, Δ] = [c.ra, c.dec, c.range]; + const π = horizontal(Δ); + const θ0 = new sexagesimal["default"].Time(sidereal["default"].apparent(jde)).rad(); + const H = base["default"].pmod(θ0 - lon - α, 2 * Math.PI); + const sπ = Math.sin(π); + const [sH, cH] = base["default"].sincos(H); + const [sδ, cδ] = base["default"].sincos(δ); + const Δα = Math.atan2(-ρcφ * sπ * sH, cδ - ρcφ * sπ * cH); // (40.2) p. 279 + const α_ = α + Δα; + const δ_ = Math.atan2((sδ - ρsφ * sπ) * Math.cos(Δα), cδ - ρcφ * sπ * cH); // (40.3) p. 279 + return new base.Coord(α_, δ_) +} + +/** + * Topocentric2 returns topocentric corrections including parallax. + * + * This function implements the "non-rigorous" method descripted in the text. + * + * Note that results are corrections, not corrected coordinates. + * + * @param {Coord} c - geocentric right ascension and declination in radians + * @param {number} ρsφ - parallax constants (see package globe.) + * @param {number} ρcφ - parallax constants (see package globe.) + * @param {number} lon - geographic longitude of the observer (measured positively westwards!) + * @param {number} jde - time of observation + * @return {Coord} observed topocentric ra and dec in radians. + */ +function topocentric2 (c, ρsφ, ρcφ, lon, jde) { + const [α, δ, Δ] = [c.ra, c.dec, c.range]; + const π = horizontal(Δ); + const θ0 = new sexagesimal["default"].Time(sidereal["default"].apparent(jde)).rad(); + const H = base["default"].pmod(θ0 - lon - α, 2 * Math.PI); + const [sH, cH] = base["default"].sincos(H); + const [sδ, cδ] = base["default"].sincos(δ); + const Δα = -π * ρcφ * sH / cδ; // (40.4) p. 280 + const Δδ = -π * (ρsφ * cδ - ρcφ * cH * sδ); // (40.5) p. 280 + return new base["default"].Coord(Δα, Δδ) +} + +/** + * Topocentric3 returns topocentric hour angle and declination including parallax. + * + * This function implements the "alternative" method described in the text. + * The method should be similarly rigorous to that of Topocentric() and results + * should be virtually consistent. + * + * @param {Coord} c - geocentric right ascension and declination in radians + * @param {number} ρsφ - parallax constants (see package globe.) + * @param {number} ρcφ - parallax constants (see package globe.) + * @param {number} lon - geographic longitude of the observer (measured positively westwards!) + * @param {number} jde - time of observation + * @return {Array} + * {number} H_ - topocentric hour angle + * {number} δ_ - topocentric declination + */ +function topocentric3 (c, ρsφ, ρcφ, lon, jde) { + const [α, δ, Δ] = [c.ra, c.dec, c.range]; + const π = horizontal(Δ); + const θ0 = new sexagesimal["default"].Time(sidereal["default"].apparent(jde)).rad(); + const H = base["default"].pmod(θ0 - lon - α, 2 * Math.PI); + const sπ = Math.sin(π); + const [sH, cH] = base["default"].sincos(H); + const [sδ, cδ] = base["default"].sincos(δ); + const A = cδ * sH; + const B = cδ * cH - ρcφ * sπ; + const C = sδ - ρsφ * sπ; + const q = Math.sqrt(A * A + B * B + C * C); + const H_ = Math.atan2(A, B); + const δ_ = Math.asin(C / q); + return [H_, δ_] +} + +/** + * TopocentricEcliptical returns topocentric ecliptical coordinates including parallax. + * + * Arguments `c` are geocentric ecliptical longitude and latitude of a body, + * s is its geocentric semidiameter. φ, h are the observer's latitude and + * and height above the ellipsoid in meters. ε is the obliquity of the + * ecliptic, θ is local sidereal time, π is equatorial horizontal parallax + * of the body (see Horizonal()). + * + * All angular parameters and results are in radians. + * + * @param {Coord} c - geocentric right ascension and declination in radians + * @param {number} s - geocentric semidiameter of `c` + * @param {number} φ - observer's latitude + * @param {number} h - observer's height above the ellipsoid in meters + * @param {number} ε - is the obliquity of the ecliptic + * @param {number} θ - local sidereal time + * @param {number} π - equatorial horizontal parallax of the body + * @return {Array} + * {number} λ_ - observed topocentric longitude + * {number} β_ - observed topocentric latitude + * {number} s_ - observed topocentric semidiameter + */ +function topocentricEcliptical (c, s, φ, h, ε, θ, π) { + const [λ, β] = [c.lon, c.lat]; + const [S, C] = globe["default"].Earth76.parallaxConstants(φ, h); + const [sλ, cλ] = base["default"].sincos(λ); + const [sβ, cβ] = base["default"].sincos(β); + const [sε, cε] = base["default"].sincos(ε); + const [sθ, cθ] = base["default"].sincos(θ); + const sπ = Math.sin(π); + const N = cλ * cβ - C * sπ * cθ; + let λ_ = Math.atan2(sλ * cβ - sπ * (S * sε + C * cε * sθ), N); + if (λ_ < 0) { + λ_ += 2 * Math.PI; + } + const cλ_ = Math.cos(λ_); + const β_ = Math.atan(cλ_ * (sβ - sπ * (S * cε - C * sε * sθ)) / N); + const s_ = Math.asin(cλ_ * Math.cos(β_) * Math.sin(s) / N); + return [λ_, β_, s_] +} + +var parallax = { + horizontal, + topocentric, + topocentric2, + topocentric3, + topocentricEcliptical +}; + +exports["default"] = parallax; +exports.horizontal = horizontal; +exports.topocentric = topocentric; +exports.topocentric2 = topocentric2; +exports.topocentric3 = topocentric3; +exports.topocentricEcliptical = topocentricEcliptical; + + +/***/ }), + +/***/ 9537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var interpolation = __nccwpck_require__(3324); +__nccwpck_require__(8566); +__nccwpck_require__(6723); + +/* eslint-disable n/no-callback-literal */ + +/** + * Planet constants for first argument of Perihelion and Aphelion functions. + * @enum {number} + */ +const planetsEnum = { + mercury: 0, + venus: 1, + earth: 2, + mars: 3, + jupiter: 4, + saturn: 5, + uranus: 6, + neptune: 7, + embary: 8 +}; +const mercury = planetsEnum.mercury; +const venus = planetsEnum.venus; +const earth = planetsEnum.earth; +const mars = planetsEnum.mars; +const jupiter = planetsEnum.jupiter; +const saturn = planetsEnum.saturn; +const uranus = planetsEnum.uranus; +const neptune = planetsEnum.neptune; +const embary = planetsEnum.embary; + +/** + * Perihelion returns an approximate jde of the perihelion event nearest the given time. + * + * @param {planetsEnum} p - planet constant from above + * @param {Number} year - year number indicating a time near the perihelion event. + * @returns {Number} jde - time of the event + */ +function perihelion (p, year) { + return ap(p, year, false, pf) +} + +/** + * Aphelion returns an approximate jde of the aphelion event nearest the given time. + * + * @param {planetsEnum} p - planet constant from above + * @param {Number} year - year number indicating a time near the aphelion event. + * @returns {Number} jde - time of the event + */ +function aphelion (p, year) { + return ap(p, year, true, af) +} + +const pf = function (x) { // (x float64) float64 + return Math.floor(x + 0.5) +}; + +const af = function (x) { // (x float64) float64 + return Math.floor(x) + 0.5 +}; + +const ap = function (p, y, a, f) { // (p int, y float64, a bool, f func(float64) float64) float64 + let i = p; + if (i === embary) { + i = earth; + } + const k = f(ka[i].a * (y - ka[i].b)); + let j = base["default"].horner(k, ...c[i]); + if (p === earth) { + let c = ep; + if (a) { + c = ea; + } + for (let i = 0; i < 5; i++) { + j += c[i] * Math.sin((ec[i].a + ec[i].b * k) * Math.PI / 180); + } + } + return j +}; + +const ka = [ + { a: 4.15201, b: 2000.12 }, // mercury + { a: 1.62549, b: 2000.53 }, // ... + { a: 0.99997, b: 2000.01 }, + { a: 0.53166, b: 2001.78 }, + { a: 0.0843, b: 2011.2 }, + { a: 0.03393, b: 2003.52 }, + { a: 0.0119, b: 2051.1 }, + { a: 0.00607, b: 2047.5 } // neptune +]; + +const c = [ + [2451590.257, 87.96934963], // mercury + [2451738.233, 224.7008188, -0.0000000327], // ... + [2451547.507, 365.2596358, 0.0000000156], + [2452195.026, 686.9957857, -0.0000001187], + [2455636.936, 4332.897065, 0.0001367], + [2452830.12, 10764.21676, 0.000827], + [2470213.5, 30694.8767, -0.00541], + [2468895.1, 60190.33, 0.03429] // neptune +]; + +const ec = [ + { a: 328.41, b: 132.788585 }, + { a: 316.13, b: 584.903153 }, + { a: 346.2, b: 450.380738 }, + { a: 136.95, b: 659.306737 }, + { a: 249.52, b: 329.653368 } +]; + +const ep = [1.278, -0.055, -0.091, -0.056, -0.045]; +const ea = [-1.352, 0.061, 0.062, 0.029, 0.031]; + +/** + * Perihelion2 returns the perihelion event nearest the given time. + * + * @param {Planet} planet - VSOP87 planet (EMBary is not allowed) + * @param {Number} year - (float) decimal year number near the perihelion event + * @param {Number} precision - desired precision of the time result, in days + * @param {Function} [cb] - callback function for asynchronous processing `cb([jde, r])` + * @returns {Array} [jde, r] + * {Number} jde - time of the event + * {Number} r - the distance of the planet from the Sun in AU. + */ +function perihelion2 (planet, year, precision, cb) { + return ap2(planetsEnum[planet.name], year, precision, planet, false, pf, cb) +} + +/** + * Aphelion2 returns the aphelion event nearest the given time. + * + * @param {Planet} planet - VSOP87 planet (EMBary is not allowed) + * @param {Number} year - (float) decimal year number near the perihelion event + * @param {Number} precision - desired precision of the time result, in days + * @param {Function} [cb] - callback function for asynchronous processing `cb([jde, r])` + * @returns {Array} [jde, r] + * {Number} jde - time of the event + * {Number} r - the distance of the planet from the Sun in AU. + */ +function aphelion2 (planet, year, precision, cb) { + return ap2(planetsEnum[planet.name], year, precision, planet, true, af, cb) +} + +const ap2 = function (p, y, d, v, a, f, cb) { + const j1 = ap(p, y, a, f); + if (p !== neptune) { + return ap2a(j1, d, a, v, cb) + } + // handle the double extrema of Neptune + if (cb) { + ap2a(j1 - 5000, d, a, v, ([j0, r0]) => { + ap2a(j1 + 5000, d, a, v, ([j2, r2]) => { + if ((r0 > r2) === a) { + cb([j0, r0]); + return + } + cb([j2, r2]); + }); + }); + } else { + const [j0, r0] = ap2a(j1 - 5000, d, a, v); + const [j2, r2] = ap2a(j1 + 5000, d, a, v); + if ((r0 > r2) === a) { + return [j0, r0] + } + return [j2, r2] + } +}; + +const ap2a = function (j1, d, a, v, cb) { + let j0 = j1 - d; + let j2 = j1 + d; + const rr = new Array(3); + rr[1] = v.position2000(j1).range; + rr[0] = v.position2000(j0).range; + rr[2] = v.position2000(j2).range; + + function end () { + const l = new interpolation["default"].Len3(j0, j2, rr); + const [jde, r] = l.extremum(); + return [jde, r] + } + + function run () { + if (a) { + if (rr[1] > rr[0] && rr[1] > rr[2]) { + cb && cb(end()); + return true + } + } else { + if (rr[1] < rr[0] && rr[1] < rr[2]) { + cb && cb(end()); + return true + } + } + if ((rr[0] < rr[2]) === a) { + j0 = j1; + j1 = j2; + j2 += d; + rr[0] = rr[1]; + rr[1] = rr[2]; + rr[2] = v.position2000(j2).range; + } else { + j2 = j1; + j1 = j0; + j0 -= d; + rr[2] = rr[1]; + rr[1] = rr[0]; + rr[0] = v.position2000(j0).range; + } + if (cb) { + setImmediate(run, 0); + } + } + + if (cb) { + run(); + } else { + for (;;) { + if (run()) { + return end() + } + } + } +}; + +var perihelion$1 = { + mercury, + venus, + earth, + mars, + jupiter, + saturn, + uranus, + neptune, + embary, + perihelion, + aphelion, + perihelion2, + aphelion2 +}; + +exports.aphelion = aphelion; +exports.aphelion2 = aphelion2; +exports["default"] = perihelion$1; +exports.earth = earth; +exports.embary = embary; +exports.jupiter = jupiter; +exports.mars = mars; +exports.mercury = mercury; +exports.neptune = neptune; +exports.perihelion = perihelion; +exports.perihelion2 = perihelion2; +exports.saturn = saturn; +exports.uranus = uranus; +exports.venus = venus; + + +/***/ }), + +/***/ 1725: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module planetary + */ + +/** + * Mean computes some intermediate values for a mean planetary configuration + * given a year and a row of coefficients from Table 36.A, p. 250.0 + */ +function mean (y, a) { // (y float64, a *ca) (J, M, T float64) + // (36.1) p. 250 + const k = Math.floor((365.2425 * y + 1721060 - a.A) / a.B + 0.5); + const J = a.A + k * a.B; + const M = base["default"].pmod(a.M0 + k * a.M1, 360) * Math.PI / 180; + const T = base["default"].J2000Century(J); + return [J, M, T] +} + +/** + * Sum computes a sum of periodic terms. + */ +function sum (T, M, c) { // (T, M float64, c [][]float64) float64 + let j = base["default"].horner(T, c[0]); + let mm = 0.0; + for (let i = 1; i < c.length; i++) { + mm += M; + const [smm, cmm] = base["default"].sincos(mm); + j += smm * base["default"].horner(T, c[i]); + i++; + j += cmm * base["default"].horner(T, c[i]); + } + return j +} + +/** + * ms returns a mean time corrected by a sum. + */ +function ms (y, a, c) { // (y float64, a *ca, c [][]float64) float64 + const [J, M, T] = mean(y, a); + return J + sum(T, M, c) +} + +/** + * MercuryInfConj returns the time of an inferior conjunction of Mercury. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function mercuryInfConj (y) { // (y float64) (jde float64) + return ms(y, micA, micB) +} + +/** + * MercurySupConj returns the time of a superior conjunction of Mercury. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function mercurySupConj (y) { // (y float64) (jde float64) + return ms(y, mscA, mscB) +} + +/** + * VenusInfConj returns the time of an inferior conjunction of Venus. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function venusInfConj (y) { // (y float64) (jde float64) + return ms(y, vicA, vicB) +} + +/** + * MarsOpp returns the time of an opposition of Mars. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function marsOpp (y) { // (y float64) (jde float64) + return ms(y, moA, moB) +} + +/** + * SumA computes the sum of periodic terms with "additional angles" + */ +function sumA (T, M, c, aa) { // (T, M float64, c [][]float64, aa []caa) float64 + let i = c.length - 2 * aa.length; + let j = sum(T, M, c.slice(0, i)); + for (let k = 0; k < aa.length; k++) { + const [saa, caa] = base["default"].sincos((aa[k].c + aa[k].f * T) * Math.PI / 180); + j += saa * base["default"].horner(T, c[i]); + i++; + j += caa * base["default"].horner(T, c[i]); + i++; + } + return j +} + +/** + * Msa returns a mean time corrected by a sum. + */ +function msa (y, a, c, aa) { // (y float64, a *ca, c [][]float64, aa []caa) float64 + const [J, M, T] = mean(y, a); + return J + sumA(T, M, c, aa) +} + +/** + * JupiterOpp returns the time of an opposition of Jupiter. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function jupiterOpp (y) { // (y float64) (jde float64) + return msa(y, joA, joB, jaa) +} + +/** + * SaturnOpp returns the time of an opposition of Saturn. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function saturnOpp (y) { // (y float64) (jde float64) + return msa(y, soA, soB, saa) +} + +/** + * SaturnConj returns the time of a conjunction of Saturn. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function saturnConj (y) { // (y float64) (jde float64) + return msa(y, scA, scB, saa) +} + +/** + * UranusOpp returns the time of an opposition of Uranus. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function uranusOpp (y) { // (y float64) (jde float64) + return msa(y, uoA, uoB, uaa) +} + +/** + * NeptuneOpp returns the time of an opposition of Neptune. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function neptuneOpp (y) { // (y float64) (jde float64) + return msa(y, noA, noB, naa) +} + +/** + * El computes time and elongation of a greatest elongation event. + */ +function el (y, a, t, e) { // (y float64, a *ca, t, e [][]float64) (jde, elongation float64) + const [J, M, T] = mean(y, micA); + return [J + sum(T, M, t), sum(T, M, e) * Math.PI / 180] +} + +/** + * MercuryEastElongation returns the time and elongation of a greatest eastern elongation of Mercury. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function mercuryEastElongation (y) { // (y float64) (jde, elongation float64) + return el(y, micA, met, mee) +} + +/** + * MercuryWestElongation returns the time and elongation of a greatest western elongation of Mercury. + * + * Result is time (as a jde) of the event nearest the given time (as a + * decimal year.) + */ +function mercuryWestElongation (y) { // (y float64) (jde, elongation float64) + return el(y, micA, mwt, mwe) +} + +function marsStation2 (y) { // (y float64) (jde float64) + const [J, M, T] = mean(y, moA); + return J + sum(T, M, ms2) +} + +/** + * ca holds coefficients from one line of table 36.A, p. 250 + */ +function Ca (A, B, M0, M1) { + this.A = A; + this.B = B; + this.M0 = M0; + this.M1 = M1; +} + +/** + * Table 36.A, p. 250 + */ +const micA = new Ca(2451612.023, 115.8774771, 63.5867, 114.2088742); +const mscA = new Ca(2451554.084, 115.8774771, 6.4822, 114.2088742); +const vicA = new Ca(2451996.706, 583.921361, 82.7311, 215.513058); +const moA = new Ca(2452097.382, 779.936104, 181.9573, 48.705244); +const joA = new Ca(2451870.628, 398.884046, 318.4681, 33.140229); +const soA = new Ca(2451870.17, 378.091904, 318.0172, 12.647487); +const scA = new Ca(2451681.124, 378.091904, 131.6934, 12.647487); +const uoA = new Ca(2451764.317, 369.656035, 213.6884, 4.333093); +const noA = new Ca(2451753.122, 367.486703, 202.6544, 2.194998); + +/** + * caa holds coefficients for "additional angles" for outer planets + * as given on p. 251 + */ +function Caa (c, f) { + this.c = c; + this.f = f; +} + +const jaa = [ + new Caa(82.74, 40.76) +]; + +const saa = [ + new Caa(82.74, 40.76), + new Caa(29.86, 1181.36), + new Caa(14.13, 590.68), + new Caa(220.02, 1262.87) +]; + +const uaa = [ + new Caa(207.83, 8.51), + new Caa(108.84, 419.96) +]; + +const naa = [ + new Caa(207.83, 8.51), + new Caa(276.74, 209.98) +]; + +/** + * Table 33.B, p. 256 + */ + +/** + * Mercury inferior conjunction + */ +const micB = [ + [0.0545, 0.0002], + [-6.2008, 0.0074, 0.00003], + [-3.275, -0.0197, 0.00001], + [0.4737, -0.0052, -0.00001], + [0.8111, 0.0033, -0.00002], + [0.0037, 0.0018], + [-0.1768, 0, 0.00001], + [-0.0211, -0.0004], + [0.0326, -0.0003], + [0.0083, 0.0001], + [-0.004, 0.0001] +]; + +/** + * Mercury superior conjunction + */ +const mscB = [ + [-0.0548, -0.0002], + [7.3894, -0.01, -0.00003], + [3.22, 0.0197, -0.00001], + [0.8383, -0.0064, -0.00001], + [0.9666, 0.0039, -0.00003], + [0.077, -0.0026], + [0.2758, 0.0002, -0.00002], + [-0.0128, -0.0008], + [0.0734, -0.0004, -0.00001], + [-0.0122, -0.0002], + [0.0173, -0.0002] +]; + +/** + * Venus inferior conjunction + */ +const vicB = [ + [-0.0096, 0.0002, -0.00001], + [2.0009, -0.0033, -0.00001], + [0.598, -0.0104, 0.00001], + [0.0967, -0.0018, -0.00003], + [0.0913, 0.0009, -0.00002], + [0.0046, -0.0002], + [0.0079, 0.0001] +]; + +/** + * Mars opposition + */ +const moB = [ + [-0.3088, 0, 0.00002], + [-17.6965, 0.0363, 0.00005], + [18.3131, 0.0467, -0.00006], + [-0.2162, -0.0198, -0.00001], + [-4.5028, -0.0019, 0.00007], + [0.8987, 0.0058, -0.00002], + [0.7666, -0.005, -0.00003], + [-0.3636, -0.0001, 0.00002], + [0.0402, 0.0032], + [0.0737, -0.0008], + [-0.098, -0.0011] +]; + +/** + * Jupiter opposition + */ +const joB = [ + [-0.1029, 0, -0.00009], + [-1.9658, -0.0056, 0.00007], + [6.1537, 0.021, -0.00006], + [-0.2081, -0.0013], + [-0.1116, -0.001], + [0.0074, 0.0001], + [-0.0097, -0.0001], + [0, 0.0144, -0.00008], + [0.3642, -0.0019, -0.00029] +]; + +/** + * Saturn opposition + */ +const soB = [ + [-0.0209, 0.0006, 0.00023], + [4.5795, -0.0312, -0.00017], + [1.1462, -0.0351, 0.00011], + [0.0985, -0.0015], + [0.0733, -0.0031, 0.00001], + [0.0025, -0.0001], + [0.005, -0.0002], + [0, -0.0337, 0.00018], + [-0.851, 0.0044, 0.00068], + [0, -0.0064, 0.00004], + [0.2397, -0.0012, -0.00008], + [0, -0.001], + [0.1245, 0.0006], + [0, 0.0024, -0.00003], + [0.0477, -0.0005, -0.00006] +]; + +/** + * Saturn conjunction + */ +const scB = [ + [0.0172, -0.0006, 0.00023], + [-8.5885, 0.0411, 0.00020], + [-1.147, 0.0352, -0.00011], + [0.3331, -0.0034, -0.00001], + [0.1145, -0.0045, 0.00002], + [-0.0169, 0.0002], + [-0.0109, 0.0004], + [0, -0.0337, 0.00018], + [-0.851, 0.0044, 0.00068], + [0, -0.0064, 0.00004], + [0.2397, -0.0012, -0.00008], + [0, -0.001], + [0.1245, 0.0006], + [0, 0.0024, -0.00003], + [0.0477, -0.0005, -0.00006] +]; + +/** + * Uranus opposition + */ +const uoB = [ + [0.0844, -0.0006], + [-0.1048, 0.0246], + [-5.1221, 0.0104, 0.00003], + [-0.1428, 0.0005], + [-0.0148, -0.0013], + [0], + [0.0055], + [0], + [0.885], + [0], + [0.2153] +]; + +/** + * Neptune opposition [ + */ +const noB = [ + [-0.014, 0, 0.00001], + [-1.3486, 0.001, 0.00001], + [0.8597, 0.0037], + [-0.0082, -0.0002, 0.00001], + [0.0037, -0.0003], + [0], + [-0.5964], + [0], + [0.0728] +]; + +/** + * Table 36.C, p. 259 + */ + +/** + * Mercury east time correction + */ +const met = [ + [-21.6106, 0.0002], + [-1.9803, -0.006, 0.00001], + [1.4151, -0.0072, -0.00001], + [0.5528, -0.0005, -0.00001], + [0.2905, 0.0034, 0.00001], + [-0.1121, -0.0001, 0.00001], + [-0.0098, -0.0015], + [0.0192], + [0.0111, 0.0004], + [-0.0061], + [-0.0032, -0.0001] +]; + +/** + * Mercury east elongation + */ +const mee = [ + [22.4697], + [-4.2666, 0.0054, 0.00002], + [-1.8537, -0.0137], + [0.3598, 0.0008, -0.00001], + [-0.068, 0.0026], + [-0.0524, -0.0003], + [0.0052, -0.0006], + [0.0107, 0.0001], + [-0.0013, 0.0001], + [-0.0021], + [0.0003] +]; + +/** + * Mercury west time correction + */ +const mwt = [ + [21.6249, -0.0002], + [0.1306, 0.0065], + [-2.7661, -0.0011, 0.00001], + [0.2438, -0.0024, -0.00001], + [0.5767, 0.0023], + [0.1041], + [-0.0184, 0.0007], + [-0.0051, -0.0001], + [0.0048, 0.0001], + [0.0026], + [0.0037] +]; + +/** + * Mercury west elongation + */ +const mwe = [ + [22.4143, -0.0001], + [4.3651, -0.0048, -0.00002], + [2.3787, 0.0121, -0.00001], + [0.2674, 0.0022], + [-0.3873, 0.0008, 0.00001], + [-0.0369, -0.0001], + [0.0017, -0.0001], + [0.0059], + [0.0061, 0.0001], + [0.0007], + [-0.0011] +]; + +/** + * Table 36.D, p. 261 + */ + +/** + * Mars Station 2 + */ +const ms2 = [ + [36.7191, 0.0016, 0.00003], + [-12.6163, 0.0417, -0.00001], + [20.1218, 0.0379, -0.00006], + [-1.636, -0.019], + [-3.9657, 0.0045, 0.00007], + [1.1546, 0.0029, -0.00003], + [0.2888, -0.0073, -0.00002], + [-0.3128, 0.0017, 0.00002], + [0.2513, 0.0026, -0.00002], + [-0.0021, -0.0016], + [-0.1497, -0.0006] +]; + +var planetary = { + mean, + sum, + ms, + mercuryInfConj, + mercurySupConj, + venusInfConj, + marsOpp, + sumA, + msa, + jupiterOpp, + saturnOpp, + saturnConj, + uranusOpp, + neptuneOpp, + el, + mercuryEastElongation, + mercuryWestElongation, + marsStation2 +}; + +exports["default"] = planetary; +exports.el = el; +exports.jupiterOpp = jupiterOpp; +exports.marsOpp = marsOpp; +exports.marsStation2 = marsStation2; +exports.mean = mean; +exports.mercuryEastElongation = mercuryEastElongation; +exports.mercuryInfConj = mercuryInfConj; +exports.mercurySupConj = mercurySupConj; +exports.mercuryWestElongation = mercuryWestElongation; +exports.ms = ms; +exports.msa = msa; +exports.neptuneOpp = neptuneOpp; +exports.saturnConj = saturnConj; +exports.saturnOpp = saturnOpp; +exports.sum = sum; +exports.sumA = sumA; +exports.uranusOpp = uranusOpp; +exports.venusInfConj = venusInfConj; + + +/***/ }), + +/***/ 3169: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module planetelements + */ + +// planet names used in cMean +const mercury = 'mercury'; +const venus = 'venus'; +const earth = 'earth'; +const mars = 'mars'; +const jupiter = 'jupiter'; +const saturn = 'saturn'; +const uranus = 'uranus'; +const neptune = 'neptune'; + +/** + * Elements contains orbital elements as returned by functions in this package. + * + * Some other elements easily derived from these are + * + * Mean Anomolay, M = Lon - Peri + * Argument of Perihelion, ω = Peri - Node + * + * @param {Number|Object} [lon] - mean longitude, L + * @param {Number} [axis] - semimajor axis, a + * @param {Number} [ecc] - eccentricity, e + * @param {Number} [inc] - inclination, i + * @param {Number} [node] - longitude of ascending node, Ω + * @param {Number} [peri] - longitude of perihelion, ϖ (Meeus likes π better) + */ +function Elements (lon, axis, ecc, inc, node, peri) { + const o = (typeof lon === 'object' ? lon : {}); + this.lon = o.lon || lon; + this.axis = o.axis || axis; + this.ecc = o.ecc || ecc; + this.inc = o.inc || inc; + this.node = o.node || node; + this.peri = o.peri || peri; +} + +/** + * Table 31.A, p. 212 + */ +const cMean = { + mercury: { // Mercury + L: [252.250906, 149474.0722491, 0.0003035, 0.000000018], + a: [0.38709831], + e: [0.20563175, 0.000020407, -0.0000000283, -0.00000000018], + i: [7.004986, 0.0018215, -0.0000181, 0.000000056], + Ω: [48.330893, 1.1861883, 0.00017542, 0.000000215], + ϖ: [77.456119, 1.5564776, 0.00029544, 0.000000009] + }, + venus: { // Venus + L: [181.979801, 58519.2130302, 0.00031014, 0.000000015], + a: [0.72332982], + e: [0.00677192, -0.000047765, 0.0000000981, 0.00000000046], + i: [3.394662, 0.0010037, -0.00000088, -0.000000007], + Ω: [76.67992, 0.9011206, 0.00040618, -0.000000093], + ϖ: [131.563703, 1.4022288, -0.00107618, -0.000005678] + }, + earth: { // Earth + L: [100.466457, 36000.7698278, 0.00030322, 0.00000002], + a: [1.000001018], + e: [0.01670863, -0.000042037, -0.0000001267, 0.00000000014], + i: [0], + Ω: undefined, + ϖ: [102.937348, 1.7195366, 0.00045688, -0.000000018] + }, + mars: { // Mars + L: [355.433, 19141.6964471, 0.00031052, 0.000000016], + a: [1.523679342], + e: [0.09340065, 0.000090484, -0.0000000806, -0.00000000025], + i: [1.849726, -0.0006011, 0.00001276, -0.000000007], + Ω: [49.558093, 0.7720959, 0.00001557, 0.000002267], + ϖ: [336.060234, 1.8410449, 0.00013477, 0.000000536] + }, + jupiter: { // Jupiter + L: [34.351519, 3036.3027748, 0.0002233, 0.000000037], + a: [5.202603209, 0.0000001913], + e: [0.04849793, 0.000163225, -0.0000004714, -0.00000000201], + i: [1.303267, -0.0054965, 0.00000466, -0.000000002], + Ω: [100.464407, 1.0209774, 0.00040315, 0.000000404], + ϖ: [14.331207, 1.6126352, 0.00103042, -0.000004464] + }, + saturn: { // Saturn + L: [50.077444, 1223.5110686, 0.00051908, -0.00000003], + a: [9.554909192, -0.0000021390, 0.000000004], + e: [0.05554814, -0.000346641, -0.0000006436, 0.0000000034], + i: [2.488879, -0.0037362, -0.00001519, 0.000000087], + Ω: [113.665503, 0.877088, -0.00012176, -0.000002249], + ϖ: [93.057237, 1.9637613, 0.00083753, 0.000004928] + }, + uranus: { // Uranus + L: [314.055005, 429.8640561, 0.0003039, 0.000000026], + a: [19.218446062, -0.0000000372, 0.00000000098], + e: [0.04638122, -0.000027293, 0.0000000789, 0.00000000024], + i: [0.773197, 0.0007744, 0.00003749, -0.000000092], + Ω: [74.005957, 0.5211278, 0.00133947, 0.000018484], + ϖ: [173.005291, 1.486379, 0.00021406, 0.000000434] + }, + neptune: { // Neptune + L: [304.348665, 219.8833092, 0.00030882, 0.000000018], + a: [30.110386869, -0.0000001663, 0.00000000069], + e: [0.00945575, 0.000006033, 0, -0.00000000005], + i: [1.769953, -0.0093082, -0.00000708, 0.000000027], + Ω: [131.784057, 1.1022039, 0.00025952, -0.000000637], + ϖ: [48.120276, 1.4262957, 0.00038434, 0.00000002] + } +}; + +/** + * Mean returns mean orbital elements for a planet + * + * Argument p must be a planet const as defined above, argument e is + * a result parameter. A valid non-undefined pointer to an Elements struct + * must be passed in. + * + * Results are referenced to mean dynamical ecliptic and equinox of date. + * + * Semimajor axis is in AU, angular elements are in radians. + */ +function mean (p, jde, e) { + const T = base["default"].J2000Century(jde); + const c = cMean[p]; + e = e || new Elements(); + e.lon = base["default"].pmod(base["default"].horner(T, c.L) * Math.PI / 180, 2 * Math.PI); + e.axis = base["default"].horner(T, c.a); + e.ecc = base["default"].horner(T, c.e); + e.inc = base["default"].horner(T, c.i) * Math.PI / 180; + e.node = base["default"].horner(T, c.Ω) * Math.PI / 180; + e.peri = base["default"].horner(T, c.ϖ) * Math.PI / 180; + return e +} + +/** + * Inc returns mean inclination for a planet at a date. + * + * Result is the same as the Inc field returned by function Mean. That is, + * radians, referenced to mean dynamical ecliptic and equinox of date. + */ +function inc (p, jde) { // (p int, jde float64) float64 + return base["default"].horner(base["default"].J2000Century(jde), cMean[p].i) * Math.PI / 180 +} + +/** + * Node returns mean longitude of ascending node for a planet at a date. + * + * Result is the same as the Node field returned by function Mean. That is, + * radians, referenced to mean dynamical ecliptic and equinox of date. + */ +function node (p, jde) { // (p int, jde float64) float64 + return base["default"].horner(base["default"].J2000Century(jde), cMean[p].Ω) * Math.PI / 180 +} + +var planetelements = { + mercury, + venus, + earth, + mars, + jupiter, + saturn, + uranus, + neptune, + Elements, + mean, + inc, + node +}; + +exports.Elements = Elements; +exports["default"] = planetelements; +exports.earth = earth; +exports.inc = inc; +exports.jupiter = jupiter; +exports.mars = mars; +exports.mean = mean; +exports.mercury = mercury; +exports.neptune = neptune; +exports.node = node; +exports.saturn = saturn; +exports.uranus = uranus; +exports.venus = venus; + + +/***/ }), + +/***/ 5579: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var sexagesimal = __nccwpck_require__(2038); +var coord = __nccwpck_require__(8566); +var precess = __nccwpck_require__(3598); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module planetposition + */ + +function sum (t, series) { + const coeffs = []; + Object.keys(series).forEach((x) => { + coeffs[x] = 0; + let y = series[x].length - 1; + for (y; y >= 0; y--) { + const term = { + a: series[x][y][0], + b: series[x][y][1], + c: series[x][y][2] + }; + coeffs[x] += term.a * Math.cos(term.b + term.c * t); + } + }); + const res = base["default"].horner(t, ...coeffs); + return res +} + +class Planet { + /** + * VSOP87 representation of a Planet + * @constructs Planet + * @param {object} planet - planet data series + * @example + * ```js + * // for use in browser + * import {data} from 'astronomia' + * const earth = new planetposition.Planet(data.vsop87Bearth) + * ``` + */ + constructor (planet) { + if (typeof planet !== 'object') throw new TypeError('need planet vsop87 data') + this.name = planet.name; + this.type = planet.type || 'B'; + this.series = planet; + } + + /** + * Position2000 returns ecliptic position of planets by full VSOP87 theory. + * + * @param {Number} jde - the date for which positions are desired. + * @returns {Coord} Results are for the dynamical equinox and ecliptic J2000. + * {Number} lon - heliocentric longitude in radians. + * {Number} lat - heliocentric latitude in radians. + * {Number} range - heliocentric range in AU. + */ + position2000 (jde) { + const T = base["default"].J2000Century(jde); + const τ = T * 0.1; + const lon = base["default"].pmod(sum(τ, this.series.L), 2 * Math.PI); + const lat = sum(τ, this.series.B); + const range = sum(τ, this.series.R); + + switch (this.type) { + case 'B': + return new base["default"].Coord(lon, lat, range) + case 'D': { + const eclFrom = new coord["default"].Ecliptic(lon, lat); + const epochFrom = base["default"].JDEToJulianYear(jde); + const epochTo = 2000.0; + const eclTo = precess["default"].eclipticPosition(eclFrom, epochFrom, epochTo); + return new base["default"].Coord(eclTo.lon, eclTo.lat, range) + } + } + } + + /** + * Position returns ecliptic position of planets at equinox and ecliptic of date. + * + * @param {Number} jde - the date for which positions are desired. + * @returns {Coord} Results are positions consistent with those from Meeus's + * Apendix III, that is, at equinox and ecliptic of date. + * {Number} lon - heliocentric longitude in radians. + * {Number} lat - heliocentric latitude in radians. + * {Number} range - heliocentric range in AU. + */ + position (jde) { + const T = base["default"].J2000Century(jde); + const τ = T * 0.1; + const lon = base["default"].pmod(sum(τ, this.series.L), 2 * Math.PI); + const lat = sum(τ, this.series.B); + const range = sum(τ, this.series.R); + + switch (this.type) { + case 'B': { + const eclFrom = new coord["default"].Ecliptic(lon, lat); + const epochFrom = 2000.0; + const epochTo = base["default"].JDEToJulianYear(jde); + const eclTo = precess["default"].eclipticPosition(eclFrom, epochFrom, epochTo); + return new base["default"].Coord(eclTo.lon, eclTo.lat, range) + } + case 'D': + return new base["default"].Coord(lon, lat, range) + } + } +} + +/** + * ToFK5 converts ecliptic longitude and latitude from dynamical frame to FK5. + * + * @param {Number} lon - ecliptic longitude in radians + * @param {Number} lat - ecliptic latitude in radians + * @param {Number} jde - Julian ephemeris day + * @return {Coord} + * {Number} lon - FK5 longitude + * {Number} lat - FK5 latitude + */ +function toFK5 (lon, lat, jde) { + // formula 32.3, p. 219. + const T = base["default"].J2000Century(jde); + // const Lp = lon - 1.397 * Math.PI / 180 * T - 0.00031 * Math.PI / 180 * T * T + const Lp = lon - sexagesimal["default"].angleFromDeg((1.397 + 0.00031 * T) * T); + const [sLp, cLp] = base["default"].sincos(Lp); + // (32.3) p. 219 + const L5 = lon + sexagesimal["default"].angleFromSec(-0.09033 + 0.03916 * (cLp + sLp) * Math.tan(lat)); + const B5 = lat + sexagesimal["default"].angleFromSec(0.03916 * (cLp - sLp)); + return new base["default"].Coord(L5, B5) +} + +var planetposition = { + Planet, + toFK5 +}; + +exports.Planet = Planet; +exports["default"] = planetposition; +exports.toFK5 = toFK5; + + +/***/ }), + +/***/ 6505: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var elliptic = __nccwpck_require__(9672); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module pluto + */ + +/** + * Heliocentric returns J2000 heliocentric coordinates of Pluto. + * + * Results l, b are solar longitude and latitude in radians. + * Result r is distance in AU. + */ +function heliocentric (jde) { + let l = 0; + let b = 0; + let r = 0; + const T = base["default"].J2000Century(jde); + const J = 34.35 + 3034.9057 * T; + const S = 50.08 + 1222.1138 * T; + const P = 238.96 + 144.96 * T; + for (const i in t37) { + const t = t37[i]; + const [sα, cα] = base["default"].sincos((t.i * J + t.j * S + t.k * P) * Math.PI / 180); + l += t.lA * sα + t.lB * cα; + b += t.bA * sα + t.bB * cα; + r += t.rA * sα + t.rB * cα; + } + l = (l + 238.958116 + 144.96 * T) * Math.PI / 180; + b = (b - 3.908239) * Math.PI / 180; + r += 40.7241346; + return { lon: l, lat: b, range: r } +} + +/** + * Astrometric returns J2000 astrometric coordinates of Pluto. + */ +function astrometric (jde, earth) { + const sε = base["default"].SOblJ2000; + const cε = base["default"].COblJ2000; + const f = function (jde) { + const { lon, lat, range } = heliocentric(jde); + const [sl, cl] = base["default"].sincos(lon); + const [sb, cb] = base["default"].sincos(lat); + // (37.1) p. 264 + const x = range * cl * cb; + const y = range * (sl * cb * cε - sb * sε); + const z = range * (sl * cb * sε + sb * cε); + return { x, y, z } + }; + const c = elliptic["default"].astrometricJ2000(f, jde, earth); // eslint-disable-line no-unused-vars + return new base["default"].Coord(c.ra, c.dec) +} + +function Pt (i, j, k, lA, lB, bA, bB, rA, rB) { + this.i = i; + this.j = j; + this.k = k; + this.lA = lA; + this.lB = lB; + this.bA = bA; + this.bB = bB; + this.rA = rA; + this.rB = rB; +} + +const t37 = [ + new Pt(0, 0, 1, -19.799805, 19.850055, -5.452852, -14.974862, 6.6865439, 6.8951812), + new Pt(0, 0, 2, 0.897144, -4.954829, 3.527812, 1.67279, -1.1827535, -0.0332538), + new Pt(0, 0, 3, 0.611149, 1.211027, -1.050748, 0.327647, 0.1593179, -0.143889), + new Pt(0, 0, 4, -0.341243, -0.189585, 0.17869, -0.292153, -0.0018444, 0.048322), + new Pt(0, 0, 5, 0.129287, -0.034992, 0.01865, 0.10034, -0.0065977, -0.0085431), + new Pt(0, 0, 6, -0.038164, 0.030893, -0.030697, -0.025823, 0.0031174, -0.0006032), + new Pt(0, 1, -1, 0.020442, -0.009987, 0.004878, 0.011248, -0.0005794, 0.0022161), + new Pt(0, 1, 0, -0.004063, -0.005071, 0.000226, -0.000064, 0.0004601, 0.0004032), + new Pt(0, 1, 1, -0.006016, -0.003336, 0.00203, -0.000836, -0.0001729, 0.0000234), + new Pt(0, 1, 2, -0.003956, 0.003039, 0.000069, -0.000604, -0.0000415, 0.0000702), + new Pt(0, 1, 3, -0.000667, 0.003572, -0.000247, -0.000567, 0.0000239, 0.0000723), + new Pt(0, 2, -2, 0.001276, 0.000501, -0.000057, 0.000001, 0.0000067, -0.0000067), + new Pt(0, 2, -1, 0.001152, -0.000917, -0.000122, 0.000175, 0.0001034, -0.0000451), + new Pt(0, 2, 0, 0.00063, -0.001277, -0.000049, -0.000164, -0.0000129, 0.0000504), + new Pt(1, -1, 0, 0.002571, -0.000459, -0.000197, 0.000199, 0.000048, -0.0000231), + new Pt(1, -1, 1, 0.000899, -0.001449, -0.000025, 0.000217, 0.0000002, -0.0000441), + new Pt(1, 0, -3, -0.001016, 0.001043, 0.000589, -0.000248, -0.0003359, 0.0000265), + new Pt(1, 0, -2, -0.002343, -0.001012, -0.000269, 0.000711, 0.0007856, -0.0007832), + new Pt(1, 0, -1, 0.007042, 0.000788, 0.000185, 0.000193, 0.0000036, 0.0045763), + new Pt(1, 0, 0, 0.001199, -0.000338, 0.000315, 0.000807, 0.0008663, 0.0008547), + new Pt(1, 0, 1, 0.000418, -0.000067, -0.00013, -0.000043, -0.0000809, -0.0000769), + new Pt(1, 0, 2, 0.00012, -0.000274, 0.000005, 0.000003, 0.0000263, -0.0000144), + new Pt(1, 0, 3, -0.00006, -0.000159, 0.000002, 0.000017, -0.0000126, 0.0000032), + new Pt(1, 0, 4, -0.000082, -0.000029, 0.000002, 0.000005, -0.0000035, -0.0000016), + new Pt(1, 1, -3, -0.000036, -0.000029, 0.000002, 0.000003, -0.0000019, -0.0000004), + new Pt(1, 1, -2, -0.00004, 0.000007, 0.000003, 0.000001, -0.0000015, 0.0000008), + new Pt(1, 1, -1, -0.000014, 0.000022, 0.000002, -0.000001, -0.0000004, 0.0000012), + new Pt(1, 1, 0, 0.000004, 0.000013, 0.000001, -0.000001, 0.0000005, 0.0000006), + new Pt(1, 1, 1, 0.000005, 0.000002, 0, -0.000001, 0.0000003, 0.0000001), + new Pt(1, 1, 3, -0.000001, 0, 0, 0, 0.0000006, -0.0000002), + new Pt(2, 0, -6, 0.000002, 0, 0, -0.000002, 0.0000002, 0.0000002), + new Pt(2, 0, -5, -0.000004, 0.000005, 0.000002, 0.000002, -0.0000002, -0.0000002), + new Pt(2, 0, -4, 0.000004, -0.000007, -0.000007, 0, 0.0000014, 0.0000013), + new Pt(2, 0, -3, 0.000014, 0.000024, 0.00001, -0.000008, -0.0000063, 0.0000013), + new Pt(2, 0, -2, -0.000049, -0.000034, -0.000003, 0.00002, 0.0000136, -0.0000236), + new Pt(2, 0, -1, 0.000163, -0.000048, 0.000006, 0.000005, 0.0000273, 0.0001065), + new Pt(2, 0, 0, 0.000009, -0.000024, 0.000014, 0.000017, 0.0000251, 0.0000149), + new Pt(2, 0, 1, -0.000004, 0.000001, -0.000002, 0, -0.0000025, -0.0000009), + new Pt(2, 0, 2, -0.000003, 0.000001, 0, 0, 0.0000009, -0.0000002), + new Pt(2, 0, 3, 0.000001, 0.000003, 0, 0, -0.0000008, 0.0000007), + new Pt(3, 0, -2, -0.000003, -0.000001, 0, 0.000001, 0.0000002, -0.000001), + new Pt(3, 0, -1, 0.000005, -0.000003, 0, 0, 0.0000019, 0.0000035), + new Pt(3, 0, 0, 0, 0, 0.000001, 0, 0.000001, 0.0000003) +]; + +var pluto = { + heliocentric, + astrometric +}; + +exports.astrometric = astrometric; +exports["default"] = pluto; +exports.heliocentric = heliocentric; + + +/***/ }), + +/***/ 3598: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var elementequinox = __nccwpck_require__(9389); +var nutation = __nccwpck_require__(6723); +var sexagesimal = __nccwpck_require__(2038); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module precess + */ + +/** + * approxAnnualPrecession returns approximate annual precision in right + * ascension and declination. + * + * The two epochs should be within a few hundred years. + * The declinations should not be too close to the poles. + * + * @param {Equatorial} eqFrom + * @param {Number} epochFrom - use `base.JDEToJulianYear(year)` to get epoch + * @param {Number} epochTo - use `base.JDEToJulianYear(year)` to get epoch + * @returns {Object} + * {sexa.HourAngle} seconds of right ascension + * {sexa.Angle} seconds of Declination + */ +function approxAnnualPrecession (eqFrom, epochFrom, epochTo) { + const [m, na, nd] = mn(epochFrom, epochTo); + const [sa, ca] = base["default"].sincos(eqFrom.ra); + // (21.1) p. 132 + const Δαs = m + na * sa * Math.tan(eqFrom.dec); // seconds of RA + const Δδs = nd * ca; // seconds of Dec + const ra = new sexagesimal.HourAngle(false, 0, 0, Δαs).rad(); + const dec = new sexagesimal.Angle(false, 0, 0, Δδs).rad(); + return { ra, dec } +} + +/** + * @param {Number} epochFrom - use `base.JDEToJulianYear(year)` to get epoch + * @param {Number} epochTo - use `base.JDEToJulianYear(year)` to get epoch + * @returns {Number[]} + */ +function mn (epochFrom, epochTo) { + const T = (epochTo - epochFrom) * 0.01; + const m = 3.07496 + 0.00186 * T; + const na = 1.33621 - 0.00057 * T; + const nd = 20.0431 - 0.0085 * T; + return [m, na, nd] +} + +/** + * ApproxPosition uses ApproxAnnualPrecession to compute a simple and quick + * precession while still considering proper motion. + * + * @param {Equatorial} eqFrom + * @param {Number} epochFrom + * @param {Number} epochTo + * @param {Number} mα - in radians + * @param {Number} mδ - in radians + * @returns {Equatorial} eqTo + */ +function approxPosition (eqFrom, epochFrom, epochTo, mα, mδ) { + const { ra, dec } = approxAnnualPrecession(eqFrom, epochFrom, epochTo); + const dy = epochTo - epochFrom; + const eqTo = new coord.Equatorial(); + eqTo.ra = eqFrom.ra + (ra + mα) * dy; + eqTo.dec = eqFrom.dec + (dec + mδ) * dy; + return eqTo +} + +// constants +const d = Math.PI / 180; +const s = d / 3600; + +// coefficients from (21.2) p. 134 +const ζT = [2306.2181 * s, 1.39656 * s, -0.000139 * s]; +const zT = [2306.2181 * s, 1.39656 * s, -0.000139 * s]; +const θT = [2004.3109 * s, -0.8533 * s, -0.000217 * s]; +// coefficients from (21.3) p. 134 +const ζt = [2306.2181 * s, 0.30188 * s, 0.017998 * s]; +const zt = [2306.2181 * s, 1.09468 * s, 0.018203 * s]; +const θt = [2004.3109 * s, -0.42665 * s, -0.041833 * s]; + +/** + * Precessor represents precession from one epoch to another. + * + * Construct with NewPrecessor, then call method Precess. + * After construction, Precess may be called multiple times to precess + * different coordinates with the same initial and final epochs. + */ +class Precessor { + /** + * constructs a Precessor object and initializes it to precess + * coordinates from epochFrom to epochTo. + * @param {Number} epochFrom + * @param {Number} epochTo + */ + constructor (epochFrom, epochTo) { + // (21.2) p. 134 + let ζCoeff = ζt; + let zCoeff = zt; + let θCoeff = θt; + if (epochFrom !== 2000) { + const T = (epochFrom - 2000) * 0.01; + ζCoeff = [ + base["default"].horner(T, ...ζT), + 0.30188 * s - 0.000344 * s * T, + 0.017998 * s + ]; + zCoeff = [ + base["default"].horner(T, ...zT), + 1.09468 * s + 0.000066 * s * T, + 0.018203 * s + ]; + θCoeff = [ + base["default"].horner(T, ...θT), + -0.42665 * s - 0.000217 * s * T, + -0.041833 * s + ]; + } + const t = (epochTo - epochFrom) * 0.01; + this.ζ = base["default"].horner(t, ...ζCoeff) * t; + this.z = base["default"].horner(t, ...zCoeff) * t; + const θ = base["default"].horner(t, ...θCoeff) * t; + this.sθ = Math.sin(θ); + this.cθ = Math.cos(θ); + } + + /** + * Precess precesses coordinates eqFrom, leaving result in eqTo. + * + * @param {Equatorial} eqFrom + * @returns {Equatorial} eqTo + */ + precess (eqFrom) { + // (21.4) p. 134 + const [sδ, cδ] = base["default"].sincos(eqFrom.dec); + const [sαζ, cαζ] = base["default"].sincos(eqFrom.ra + this.ζ); + const A = cδ * sαζ; + const B = this.cθ * cδ * cαζ - this.sθ * sδ; + const C = this.sθ * cδ * cαζ + this.cθ * sδ; + const eqTo = new coord.Equatorial(); + eqTo.ra = Math.atan2(A, B) + this.z; + if (C < base["default"].CosSmallAngle) { + eqTo.dec = Math.asin(C); + } else { + eqTo.dec = Math.acos(Math.hypot(A, B)); // near pole + } + return eqTo + } +} + +/** + * Position precesses equatorial coordinates from one epoch to another, + * including proper motions. + * + * If proper motions are not to be considered or are not applicable, pass 0, 0 + * for mα, mδ + * + * Both eqFrom and eqTo must be non-nil, although they may point to the same + * struct. EqTo is returned for convenience. + * @param {Equatorial} eqFrom + * @param {Number} epochFrom + * @param {Number} epochTo + * @param {Number} mα - in radians + * @param {Number} mδ - in radians + * @returns {Equatorial} [eqTo] + */ +function position (eqFrom, epochFrom, epochTo, mα, mδ) { + const p = new Precessor(epochFrom, epochTo); + const t = epochTo - epochFrom; + const eqTo = new coord.Equatorial(); + eqTo.ra = eqFrom.ra + mα * t; + eqTo.dec = eqFrom.dec + mδ * t; + return p.precess(eqTo) +} + +// coefficients from (21.5) p. 136 +const ηT = [47.0029 * s, -0.06603 * s, 0.000598 * s]; +const πT = [174.876384 * d, 3289.4789 * s, 0.60622 * s]; +const pT = [5029.0966 * s, 2.22226 * s, -0.000042 * s]; +const ηt = [47.0029 * s, -0.03302 * s, 0.000060 * s]; +const πt = [174.876384 * d, -869.8089 * s, 0.03536 * s]; +const pt = [5029.0966 * s, 1.11113 * s, -0.000006 * s]; + +/** + * EclipticPrecessor represents precession from one epoch to another. + * + * Construct with NewEclipticPrecessor, then call method Precess. + * After construction, Precess may be called multiple times to precess + * different coordinates with the same initial and final epochs. + */ +class EclipticPrecessor { + /** + * constructs an EclipticPrecessor object and initializes + * it to precess coordinates from epochFrom to epochTo. + * @param {Number} epochFrom + * @param {Number} epochTo + */ + constructor (epochFrom, epochTo) { + // (21.5) p. 136 + let ηCoeff = ηt; + let πCoeff = πt; + let pCoeff = pt; + if (epochFrom !== 2000) { + const T = (epochFrom - 2000) * 0.01; + ηCoeff = [ + base["default"].horner(T, ...ηT), + -0.03302 * s + 0.000598 * s * T, + 0.000060 * s + ]; + πCoeff = [ + base["default"].horner(T, ...πT), + -869.8089 * s - 0.50491 * s * T, + 0.03536 * s + ]; + pCoeff = [ + base["default"].horner(T, ...pT), + 1.11113 * s - 0.000042 * s * T, + -0.000006 * s + ]; + } + const t = (epochTo - epochFrom) * 0.01; + this.π = base["default"].horner(t, ...πCoeff); + this.p = base["default"].horner(t, ...pCoeff) * t; + const η = base["default"].horner(t, ...ηCoeff) * t; + this.sη = Math.sin(η); + this.cη = Math.cos(η); + } + + /** + * EclipticPrecess precesses coordinates eclFrom, leaving result in eclTo. + * + * The same struct may be used for eclFrom and eclTo. + * EclTo is returned for convenience. + * @param {Ecliptic} eclFrom + * @returns {Ecliptic} [eclTo] + */ + precess (eclFrom) { + // (21.7) p. 137 + const [sβ, cβ] = base["default"].sincos(eclFrom.lat); + const [sd, cd] = base["default"].sincos(this.π - eclFrom.lon); + const A = this.cη * cβ * sd - this.sη * sβ; + const B = cβ * cd; + const C = this.cη * sβ + this.sη * cβ * sd; + const eclTo = new coord.Ecliptic(this.p + this.π - Math.atan2(A, B)); + if (C < base["default"].CosSmallAngle) { + eclTo.lat = Math.asin(C); + } else { + eclTo.lat = Math.acos(Math.hypot(A, B)); // near pole + } + return eclTo + } + + /** + * ReduceElements reduces orbital elements of a solar system body from one + * equinox to another. + * + * This function is described in chapter 24, but is located in this + * package so it can be a method of EclipticPrecessor. + * + * @param {Elements} eFrom + * @returns {Elements} eTo + */ + reduceElements (eFrom) { + const ψ = this.π + this.p; + const [si, ci] = base["default"].sincos(eFrom.inc); + const [snp, cnp] = base["default"].sincos(eFrom.node - this.π); + const eTo = new elementequinox.Elements(); + // (24.1) p. 159 + eTo.inc = Math.acos(ci * this.cη + si * this.sη * cnp); + // (24.2) p. 159 + eTo.node = Math.atan2(si * snp, this.cη * si * cnp - this.sη * ci) + ψ; + // (24.3) p. 159 + eTo.peri = Math.atan2(-this.sη * snp, si * this.cη - ci * this.sη * cnp) + eFrom.peri; + return eTo + } +} + +/** + * eclipticPosition precesses ecliptic coordinates from one epoch to another, + * including proper motions. + * While eclFrom is given as ecliptic coordinates, proper motions mα, mδ are + * still expected to be equatorial. If proper motions are not to be considered + * or are not applicable, pass 0, 0. + * Both eclFrom and eclTo must be non-nil, although they may point to the same + * struct. EclTo is returned for convenience. + * + * @param {Ecliptic} eclFrom, + * @param {Number} epochFrom + * @param {HourAngle} [mα] + * @param {Angle} [mδ] + * @returns {Ecliptic} eclTo + */ +function eclipticPosition (eclFrom, epochFrom, epochTo, mα, mδ) { + const p = new EclipticPrecessor(epochFrom, epochTo); + + if (mα && mδ && (mα.rad() !== 0 || mδ.rad() !== 0)) { + const { lon, lat } = properMotion(mα.rad(), mδ.rad(), epochFrom, eclFrom); + const t = epochTo - epochFrom; + eclFrom.lon += lon * t; + eclFrom.lat += lat * t; + } + return p.precess(eclFrom) +} + +/** + * @param {Number} mα - anual proper motion (ra) + * @param {Number} mδ - anual proper motion (dec) + * @param {Number} epoch + * @param {Ecliptic} ecl + * @returns {Ecliptic} {lon, lat} + */ +function properMotion (mα, mδ, epoch, ecl) { + const ε = nutation["default"].meanObliquity(base["default"].JulianYearToJDE(epoch)); + const [εsin, εcos] = base["default"].sincos(ε); + const { ra, dec } = ecl.toEquatorial(ε); + const [sα, cα] = base["default"].sincos(ra); + const [sδ, cδ] = base["default"].sincos(dec); + const cβ = Math.cos(ecl.lat); + const lon = (mδ * εsin * cα + mα * cδ * (εcos * cδ + εsin * sδ * sα)) / (cβ * cβ); + const lat = (mδ * (εcos * cδ + εsin * sδ * sα) - mα * εsin * cα * cδ) / cβ; + return new coord.Ecliptic(lon, lat) +} + +/** + * ProperMotion3D takes the 3D equatorial coordinates of an object + * at one epoch and computes its coordinates at a new epoch, considering + * proper motion and radial velocity. + * + * Radial distance (r) must be in parsecs, radial velocitiy (mr) in + * parsecs per year. + * + * Both eqFrom and eqTo must be non-nil, although they may point to the same + * struct. EqTo is returned for convenience. + * + * @param {Equatorial} eqFrom, + * @param {Number} epochFrom + * @param {Number} r + * @param {Number} mr + * @param {HourAngle} mα + * @param {Angle} mδ + * @returns {Equatorial} eqTo + */ +function properMotion3D (eqFrom, epochFrom, epochTo, r, mr, mα, mδ) { + const [sα, cα] = base["default"].sincos(eqFrom.ra); + const [sδ, cδ] = base["default"].sincos(eqFrom.dec); + const x = r * cδ * cα; + const y = r * cδ * sα; + const z = r * sδ; + const mrr = mr / r; + const zmδ = z * mδ.rad(); + const mx = x * mrr - zmδ * cα - y * mα.rad(); + const my = y * mrr - zmδ * sα + x * mα.rad(); + const mz = z * mrr + r * mδ.rad() * cδ; + const t = epochTo - epochFrom; + const xp = x + t * mx; + const yp = y + t * my; + const zp = z + t * mz; + const eqTo = new coord.Equatorial(); + eqTo.ra = Math.atan2(yp, xp); + eqTo.dec = Math.atan2(zp, Math.hypot(xp, yp)); + return eqTo +} + +var precess = { + approxAnnualPrecession, + mn, + approxPosition, + Precessor, + position, + EclipticPrecessor, + eclipticPosition, + properMotion, + properMotion3D +}; + +exports.EclipticPrecessor = EclipticPrecessor; +exports.Precessor = Precessor; +exports.approxAnnualPrecession = approxAnnualPrecession; +exports.approxPosition = approxPosition; +exports["default"] = precess; +exports.eclipticPosition = eclipticPosition; +exports.mn = mn; +exports.position = position; +exports.properMotion = properMotion; +exports.properMotion3D = properMotion3D; + + +/***/ }), + +/***/ 8696: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var sexagesimal = __nccwpck_require__(2038); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module refraction + */ +const { sin, tan } = Math; +const D2R = Math.PI / 180; + +const gt15true1 = new sexagesimal["default"].Angle(false, 0, 0, 58.294).rad(); +const gt15true2 = new sexagesimal["default"].Angle(false, 0, 0, 0.0668).rad(); +const gt15app1 = new sexagesimal["default"].Angle(false, 0, 0, 58.276).rad(); +const gt15app2 = new sexagesimal["default"].Angle(false, 0, 0, 0.0824).rad(); + +/** + * gt15True returns refraction for obtaining true altitude when altitude + * is greater than 15 degrees (about 0.26 radians.) + * + * h0 must be a measured apparent altitude of a celestial body in radians. + * + * Result is refraction to be subtracted from h0 to obtain the true altitude + * of the body. Unit is radians. + */ +function gt15True (h0) { // (h0 float64) float64 + // (16.1) p. 105 + const t = tan(Math.PI / 2 - h0); + return gt15true1 * t - gt15true2 * t * t * t +} + +/** + * gt15Apparent returns refraction for obtaining apparent altitude when + * altitude is greater than 15 degrees (about 0.26 radians.) + * + * h must be a computed true "airless" altitude of a celestial body in radians. + * + * Result is refraction to be added to h to obtain the apparent altitude + * of the body. Unit is radians. + */ +function gt15Apparent (h) { // (h float64) float64 + // (16.2) p. 105 + const t = tan(Math.PI / 2 - h); + return gt15app1 * t - gt15app2 * t * t * t +} + +/** + * Bennett returns refraction for obtaining true altitude. + * + * h0 must be a measured apparent altitude of a celestial body in radians. + * + * Results are accurate to 0.07 arc min from horizon to zenith. + * + * Result is refraction to be subtracted from h0 to obtain the true altitude + * of the body. Unit is radians. + */ +function bennett (h0) { // (h0 float64) float64 + // (16.3) p. 106 + const c1 = D2R / 60; + const c731 = 7.31 * D2R * D2R; + const c44 = 4.4 * D2R; + return c1 / tan(h0 + c731 / (h0 + c44)) +} + +/** + * Bennett2 returns refraction for obtaining true altitude. + * + * Similar to Bennett, but a correction is applied to give a more accurate + * result. + * + * Results are accurate to 0.015 arc min. Result unit is radians. + */ +function bennett2 (h0) { // (h0 float64) float64 + const cMin = 60 / D2R; + const c06 = 0.06 / cMin; + const c147 = 14.7 * cMin * D2R; + const c13 = 13 * D2R; + const R = bennett(h0); + return R - c06 * sin(c147 * R + c13) +} + +/** + * Saemundsson returns refraction for obtaining apparent altitude. + * + * h must be a computed true "airless" altitude of a celestial body in radians. + * + * Result is refraction to be added to h to obtain the apparent altitude + * of the body. + * + * Results are consistent with Bennett to within 4 arc sec. + * Result unit is radians. + */ +function saemundsson (h) { // (h float64) float64 + // (16.4) p. 106 + const c102 = 1.02 * D2R / 60; + const c103 = 10.3 * D2R * D2R; + const c511 = 5.11 * D2R; + return c102 / tan(h + c103 / (h + c511)) +} + +var refraction = { + gt15True, + gt15Apparent, + bennett, + bennett2, + saemundsson +}; + +exports.bennett = bennett; +exports.bennett2 = bennett2; +exports["default"] = refraction; +exports.gt15Apparent = gt15Apparent; +exports.gt15True = gt15True; +exports.saemundsson = saemundsson; + + +/***/ }), + +/***/ 4824: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var deltat = __nccwpck_require__(5503); +var elliptic = __nccwpck_require__(9672); +var interpolation = __nccwpck_require__(3324); +var julian = __nccwpck_require__(5246); +var sexagesimal = __nccwpck_require__(2038); +var sidereal = __nccwpck_require__(29); +__nccwpck_require__(9310); +__nccwpck_require__(8566); +__nccwpck_require__(6723); + +/* eslint key-spacing: 1 */ +const { acos, asin, cos, sin } = Math; + +/** + * @typedef {object} RiseObj + * @property {number} rise - in seconds + * @property {number} transit - in seconds + * @property {number} set - in seconds + */ + +const SECS_PER_DEGREE = 240; // = 86400 / 360 +const SECS_PER_DAY = 86400; +const D2R = Math.PI / 180; + +const errorAboveHorizon = base["default"].errorCode('always above horizon', -1); +const errorBelowHorizon = base["default"].errorCode('always below horizon', 1); + +/** + * mean refraction of the atmosphere + */ +const meanRefraction = new sexagesimal["default"].Angle(false, 0, 34, 0).rad(); + +/** + * "Standard altitudes" for various bodies already including `meanRefraction` of 0°34' + * + * The standard altitude is the geometric altitude of the center of body + * at the time of apparent rising or seting. + */ +const stdh0 = { + stellar: -meanRefraction, + solar: new sexagesimal["default"].Angle(true, 0, 50, 0).rad(), + // not containing meanRefraction + lunar: sexagesimal["default"].angleFromDeg(0.7275), + lunarMean: sexagesimal["default"].angleFromDeg(0.125) +}; + +/** + * Helper function to obtain corrected refraction + * @param {number} h0 - altitude of the body in radians containing `meanRefraction` of 0°34' + * @param {number} [corr] - the calcluated refraction e.g. from package `refraction` in radians + * @return {number} refraction value in radians + */ +function refraction (h0, corr) { + if (!corr) { + return h0 + } else { + return h0 - meanRefraction - corr + } +} + +/** + * standard altitude for stars, planets at apparent rising, seting + */ +const stdh0Stellar = (_refraction) => refraction(stdh0.stellar, _refraction); +const Stdh0Stellar = stdh0Stellar(); // for backward-compatibility +/** + * standard altitude for sun for upper limb of the disk + */ +const stdh0Solar = (_refraction) => refraction(stdh0.solar, _refraction); +const Stdh0Solar = stdh0Solar(); // for backward-compatibility + +/** + * standard altitude for moon (low accuracy) + */ +const stdh0LunarMean = (_refraction) => { + return stdh0.lunarMean - refraction(_refraction) +}; +const Stdh0LunarMean = stdh0LunarMean(); // for backward-compatibility +/** + * Stdh0Lunar is the standard altitude of the Moon considering π, the + * Moon's horizontal parallax. + * @param {number} π - the Moon's horizontal parallax + * @param {number} [refraction] - optional value for refraction in radians if + * omitted than meanRefraction is used + * @return {number} altitude of Moon in radians + */ +const stdh0Lunar = (π, refraction) => { + return stdh0.lunar * π - (refraction || meanRefraction) +}; +const Stdh0Lunar = stdh0Lunar; // for backward-compatibility + +/** + * @return {number} local angle in radians + */ +function hourAngle (lat, h0, δ) { + // approximate local hour angle + const cosH = (sin(h0) - sin(lat) * sin(δ)) / (cos(lat) * cos(δ)); // (15.1) p. 102 + if (cosH < -1) { + throw errorAboveHorizon + } else if (cosH > 1) { + throw errorBelowHorizon + } + const H = acos(cosH); + return H +} + +/** + * @param {number} lon - longitude in radians + * @param {number} α - right ascension in radians + * @param {number} th0 - sidereal.apparent0UT in seconds of day `[0...86400[` + * @return {number} time of transit in seconds of day `[0, 86400[` + */ +function _mt (lon, α, th0) { + // const mt = (((lon + α) * 180 / Math.PI - (th0 * 360 / 86400)) * 86400 / 360) + const mt = (lon + α) * SECS_PER_DEGREE * 180 / Math.PI - th0; + return mt +} + +/** + * @param {number} Th0 - sidereal.apparent0UT in seconds of day `[0...86400[` + * @param {number} m - motion in seconds of day `[0...86400[` + * @return {number} new siderial time seconds of day `[0...86400[` + */ +function _th0 (Th0, m) { + // in original formula Th0 = 0...360 and m = 0...1 -> return value would be in 0...360 degrees + // Th0 /= 240 + // m /= 86400 + const th0 = base["default"].pmod(Th0 + m * 360.985647 / 360, SECS_PER_DAY); // p103 + return th0 // 0...86400 in seconds angle +} + +/** + * maintain backward compatibility - will be removed in v2 + * return value in future will be an object not an array + * @private + * @param {RiseObj} rs + * @return {RiseObj} + */ +function _compatibility (rs) { + const _rs = [rs.rise, rs.transit, rs.set]; + _rs.rise = rs.rise; + _rs.transit = rs.transit; + _rs.set = rs.set; + return _rs +} + +/** + * ApproxTimes computes approximate UT rise, transit and set times for + * a celestial object on a day of interest. + * + * The function argurments do not actually include the day, but do include + * values computed from the day. + * + * @param {GlobeCoord} p - is geographic coordinates of observer. + * @param {number} h0 - is "standard altitude" of the body in radians + * @param {number} Th0 - is apparent sidereal time at 0h UT at Greenwich in seconds + * (range 0...86400) must be the time on the day of interest, in seconds. + * See sidereal.apparent0UT + * @param {number} α - right ascension (radians) + * @param {number} δ - declination (radians) + * @return {RiseObj} Result units are seconds and are in the range [0,86400) + * @throws Error + */ +function approxTimes (p, h0, Th0, α, δ) { + const H0 = hourAngle(p.lat, h0, δ) * SECS_PER_DEGREE * 180 / Math.PI; // in degrees per day === seconds + // approximate transit, rise, set times. + // (15.2) p. 102.0 + const mt = _mt(p.lon, α, Th0); + const rs = {}; + rs.transit = base["default"].pmod(mt, SECS_PER_DAY); + rs.rise = base["default"].pmod(mt - H0, SECS_PER_DAY); + rs.set = base["default"].pmod(mt + H0, SECS_PER_DAY); + return _compatibility(rs) +} + +/** + * Times computes UT rise, transit and set times for a celestial object on + * a day of interest. + * + * The function argurments do not actually include the day, but do include + * a number of values computed from the day. + * + * @param {GlobeCoord} p - is geographic coordinates of observer. + * @param {number} ΔT - is delta T in seconds + * @param {number} h0 - is "standard altitude" of the body in radians + * @param {number} Th0 - is apparent sidereal time at 0h UT at Greenwich in seconds + * (range 0...86400) must be the time on the day of interest, in seconds. + * See sidereal.apparent0UT + * @param {Array} α3 - slices of three right ascensions + * @param {Array} δ3 - slices of three declinations. + * α3, δ3 must be values at 0h dynamical time for the day before, the day of, + * and the day after the day of interest. Units are radians. + * + * @return {RiseObj} Result units are seconds and are in the range [0,86400) + * @throws Error + */ +function times (p, ΔT, h0, Th0, α3, δ3) { // (p globe.Coord, ΔT, h0, Th0 float64, α3, δ3 []float64) (mRise, mTransit, mSet float64, err error) + const rs = approxTimes(p, h0, Th0, α3[1], δ3[1]); + const d3α = new interpolation["default"].Len3(-SECS_PER_DAY, SECS_PER_DAY, α3); + const d3δ = new interpolation["default"].Len3(-SECS_PER_DAY, SECS_PER_DAY, δ3); + + // adjust mTransit + const ut = rs.transit + ΔT; + const α = d3α.interpolateX(ut); + const th0 = _th0(Th0, rs.transit); + const H = -1 * _mt(p.lon, α, th0); // in secs // Hmeus = 0...360 + rs.transit -= H; + + // adjust mRise, mSet + const [sLat, cLat] = base["default"].sincos(p.lat); + + const adjustRS = function (m) { + const ut = m + ΔT; + const α = d3α.interpolateX(ut); + const δ = d3δ.interpolateX(ut); + const th0 = _th0(Th0, m); + const H = -1 * _mt(p.lon, α, th0); + const Hrad = (H / SECS_PER_DEGREE) * D2R; + const h = asin(((sLat * sin(δ)) + (cLat * cos(δ) * cos(Hrad)))); // formula 13.6 + const Δm = (SECS_PER_DAY * (h - h0) / (cos(δ) * cLat * sin(Hrad) * 2 * Math.PI)); // formula p103 3 + return m + Δm + }; + + rs.rise = adjustRS(rs.rise); + rs.set = adjustRS(rs.set); + + return _compatibility(rs) +} + +/** + * RisePlanet computes rise, transit and set times for a planet on a day of interest. + */ +class PlanetRise { + /** + * @param {number|Date} jd - Julian Day starting at midnight or Date object + * @param {number} lat - geographic latitude of the observerin degrees + * @param {number} lon - geographic longitude of the observer in degrees (measured positively westward) + * @param {Planet} earth - VSOP87 Planet object for Earth + * @param {Planet} planet - VSOP87 Planet object of observed body + * @param {object} [opts] + * @param {boolean} [opts.date] - return times as Date objects + * @param {number} [opts.refraction] - use different refraction than `stdh0Stellar` + */ + constructor (jd, lat, lon, earth, planet, opts) { + this.opts = opts || {}; + this.refraction = this.opts.refraction || stdh0Stellar(); + if (jd instanceof Date) { + jd = new julian["default"].Calendar().fromDate(jd).toJD(); + } + this.jd = Math.floor(jd - 0.5) + 0.5; // start at midnight + this.lat = lat * D2R; // convert to radians + this.lon = lon * D2R; + const cal = new julian["default"].Calendar().fromJD(this.jd); + this.jde = cal.toJDE(); + this.ΔT = deltat["default"].deltaT(cal.toYear()); + this.earth = earth; + this.planet = planet; + } + + approxTimes () { + const body = elliptic["default"].position(this.planet, this.earth, this.jde); + const Th0 = sidereal["default"].apparent0UT(this.jd); + const rs = approxTimes( + { lat: this.lat, lon: this.lon }, this.refraction, + Th0, body.ra, body.dec + ); + return this._rsToJD(rs) + } + + times () { + const body = [ + elliptic["default"].position(this.planet, this.earth, this.jde - 1), + elliptic["default"].position(this.planet, this.earth, this.jde), + elliptic["default"].position(this.planet, this.earth, this.jde + 1) + ]; + const Th0 = sidereal["default"].apparent0UT(this.jd); + const rs = times( + { lat: this.lat, lon: this.lon }, this.ΔT, this.refraction, + Th0, this._toArr(body, 'ra'), this._toArr(body, 'dec') + ); + return this._rsToJD(rs) + } + + /** @private */ + _toArr (body, p) { + return body.map((item) => { + return item[p] + }) + } + + /** @private */ + _rsToJD (rs) { + return { + rise: this._toJD(rs.rise), + transit: this._toJD(rs.transit), + set: this._toJD(rs.set) + } + } + + /** @private */ + _toJD (secs) { + const jd = this.jd + secs / 86400; + if (this.opts.date) { + return new julian["default"].Calendar().fromJD(jd).toDate() + } else { + return jd + } + } +} + +var rise = { + errorAboveHorizon, + errorBelowHorizon, + meanRefraction, + stdh0, + refraction, + stdh0Stellar, + Stdh0Stellar, + stdh0Solar, + Stdh0Solar, + stdh0LunarMean, + Stdh0LunarMean, + stdh0Lunar, + Stdh0Lunar, + hourAngle, + approxTimes, + times, + PlanetRise +}; + +exports.PlanetRise = PlanetRise; +exports.Stdh0Lunar = Stdh0Lunar; +exports.Stdh0LunarMean = Stdh0LunarMean; +exports.Stdh0Solar = Stdh0Solar; +exports.Stdh0Stellar = Stdh0Stellar; +exports.approxTimes = approxTimes; +exports["default"] = rise; +exports.errorAboveHorizon = errorAboveHorizon; +exports.errorBelowHorizon = errorBelowHorizon; +exports.hourAngle = hourAngle; +exports.meanRefraction = meanRefraction; +exports.refraction = refraction; +exports.stdh0 = stdh0; +exports.stdh0Lunar = stdh0Lunar; +exports.stdh0LunarMean = stdh0LunarMean; +exports.stdh0Solar = stdh0Solar; +exports.stdh0Stellar = stdh0Stellar; +exports.times = times; + + +/***/ }), + +/***/ 7163: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var planetposition = __nccwpck_require__(5579); +var precess = __nccwpck_require__(3598); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module saturnmoons + */ + +// array positions of Saturnmoons returned from positions(). +const mimas = 0; +const enceladus = 1; +const tethys = 2; +const dione = 3; +const rhea = 4; +const titan = 5; +const hyperion = 6; +const iapetus = 7; + +/** + * XY holds coordinates returned from positions(). + */ +function XY (x, y) { + this.x = x; + this.y = y; +} + +const d = Math.PI / 180; + +/** + * Positions returns positions of the eight major moons of Saturn. + * + * Results returned in argument pos, which must not be undefined. + * + * Result units are Saturn radii. + * + * @param {number} jde - Julian ephemeris day + * @param {Planet} earth - VSOP87 planet Earth // eslint-disable-line no-unused-vars + * @param {Planet} saturn - VSOP87 planet Saturn // eslint-disable-line no-unused-vars + * @return {XY[]} Array of Moon Positions in `XY` + * Use `M.mimas ... M.iapetus` to resolve to Moon and its position at `jde` + */ +function positions (jde, earth, saturn) { + const sol = solar["default"].trueVSOP87(earth, jde); + const [s, β, R] = [sol.lon, sol.lat, sol.range]; + const [ss, cs] = base["default"].sincos(s); + const sβ = Math.sin(β); + let Δ = 9.0; + let x; + let y; + let z = 0; + let _jde; + + const f = function () { + const τ = base["default"].lightTime(Δ); + _jde = jde - τ; + const { lon, lat, range } = saturn.position(_jde); + const fk5 = planetposition["default"].toFK5(lon, lat, _jde); // eslint-disable-line no-unused-vars + const [l, b] = [fk5.lon, fk5.lat]; + const [sl, cl] = base["default"].sincos(l); + const [sb, cb] = base["default"].sincos(b); + x = range * cb * cl + R * cs; + y = range * cb * sl + R * ss; + z = range * sb + R * sβ; + Δ = Math.sqrt(x * x + y * y + z * z); + }; + f(); + f(); + + let λ0 = Math.atan2(y, x); + let β0 = Math.atan(z / Math.hypot(x, y)); + let ecl = new coord["default"].Ecliptic(λ0, β0); + ecl = precess["default"].eclipticPosition(ecl, base["default"].JDEToJulianYear(jde), base["default"].JDEToJulianYear(base["default"].B1950)); + λ0 = ecl.lon; + β0 = ecl.lat; + const q = new Qs(_jde); + const s4 = [ + new R4(), // 0 unused + q.mimas(), + q.enceladus(), + q.tethys(), + q.dione(), + q.rhea(), + q.titan(), + q.hyperion(), + q.iapetus() + ]; + + const X = new Array(9).fill(0); + const Y = new Array(9).fill(0); + const Z = new Array(9).fill(0); + for (let j = 1; j <= 8; j++) { + const u = s4[j].λ - s4[j].Ω; + const w = s4[j].Ω - 168.8112 * d; + const [su, cu] = base["default"].sincos(u); + const [sw, cw] = base["default"].sincos(w); + const [sγ, cγ] = base["default"].sincos(s4[j].γ); + const r = s4[j].r; + X[j] = r * (cu * cw - su * cγ * sw); + Y[j] = r * (su * cw * cγ + cu * sw); + Z[j] = r * su * sγ; + } + Z[0] = 1; + const [sλ0, cλ0] = base["default"].sincos(λ0); + const [sβ0, cβ0] = base["default"].sincos(β0); + const A = new Array(9).fill(0); + const B = new Array(9).fill(0); + const C = new Array(9).fill(0); + for (const j in X) { + let a = X[j]; + let b = q.c1 * Y[j] - q.s1 * Z[j]; + const c = q.s1 * Y[j] + q.c1 * Z[j]; + const a0 = q.c2 * a - q.s2 * b; + b = q.s2 * a + q.c2 * b; + a = a0; + + A[j] = a * sλ0 - b * cλ0; + b = a * cλ0 + b * sλ0; + + B[j] = b * cβ0 + c * sβ0; + C[j] = c * cβ0 - b * sβ0; + } + + const pos = new Array(9); + const D = Math.atan2(A[0], C[0]); + const [sD, cD] = base["default"].sincos(D); + for (let j = 1; j <= 8; j++) { + X[j] = A[j] * cD - C[j] * sD; + Y[j] = A[j] * sD + C[j] * cD; + Z[j] = B[j]; + const d = X[j] / s4[j].r; + X[j] += Math.abs(Z[j]) / k[j] * Math.sqrt(1 - d * d); + const W = Δ / (Δ + Z[j] / 2475); + pos[j - 1] = new XY(X[j] * W, Y[j] * W); + } + return pos +} + +const k = [0, 20947, 23715, 26382, 29876, 35313, 53800, 59222, 91820]; + +function R4 (λ, r, γ, Ω) { + this.λ = λ || 0; + this.r = r || 0; + this.γ = γ || 0; + this.Ω = Ω || 0; +} + +function Qs (jde) { + this.t1 = jde - 2411093; + this.t2 = this.t1 / 365.25; + this.t3 = (jde - 2433282.423) / 365.25 + 1950; + this.t4 = jde - 2411368; + this.t5 = this.t4 / 365.25; + this.t6 = jde - 2415020; + this.t7 = this.t6 / 36525; + this.t8 = this.t6 / 365.25; + this.t9 = (jde - 2442000.5) / 365.25; + this.t10 = jde - 2409786; + this.t11 = this.t10 / 36525; + this.W0 = 5.095 * d * (this.t3 - 1866.39); + this.W1 = 74.4 * d + 32.39 * d * this.t2; + this.W2 = 134.3 * d + 92.62 * d * this.t2; + this.W3 = 42 * d - 0.5118 * d * this.t5; + this.W4 = 276.59 * d + 0.5118 * d * this.t5; + this.W5 = 267.2635 * d + 1222.1136 * d * this.t7; + this.W6 = 175.4762 * d + 1221.5515 * d * this.t7; + this.W7 = 2.4891 * d + 0.002435 * d * this.t7; + this.W8 = 113.35 * d - 0.2597 * d * this.t7; + this.s1 = Math.sin(28.0817 * d); + this.c1 = Math.cos(28.0817 * d); + this.s2 = Math.sin(168.8112 * d); + this.c2 = Math.cos(168.8112 * d); + this.e1 = 0.05589 - 0.000346 * this.t7; + this.sW0 = Math.sin(this.W0); + this.s3W0 = Math.sin(3 * this.W0); + this.s5W0 = Math.sin(5 * this.W0); + this.sW1 = Math.sin(this.W1); + this.sW2 = Math.sin(this.W2); + this.sW3 = Math.sin(this.W3); + this.cW3 = Math.cos(this.W3); + this.sW4 = Math.sin(this.W4); + this.cW4 = Math.cos(this.W4); + this.sW7 = Math.sin(this.W7); + this.cW7 = Math.cos(this.W7); + return this +} + +Qs.prototype.mimas = function () { + const r = new R4(); + const L = 127.64 * d + 381.994497 * d * this.t1 - + 43.57 * d * this.sW0 - 0.72 * d * this.s3W0 - 0.02144 * d * this.s5W0; + const p = 106.1 * d + 365.549 * d * this.t2; + const M = L - p; + const C = 2.18287 * d * Math.sin(M) + + 0.025988 * d * Math.sin(2 * M) + 0.00043 * d * Math.sin(3 * M); + r.λ = L + C; + r.r = 3.06879 / (1 + 0.01905 * Math.cos(M + C)); + r.γ = 1.563 * d; + r.Ω = 54.5 * d - 365.072 * d * this.t2; + return r +}; + +Qs.prototype.enceladus = function () { + const r = new R4(); + const L = 200.317 * d + 262.7319002 * d * this.t1 + 0.25667 * d * this.sW1 + 0.20883 * d * this.sW2; + const p = 309.107 * d + 123.44121 * d * this.t2; + const M = L - p; + const C = 0.55577 * d * Math.sin(M) + 0.00168 * d * Math.sin(2 * M); + r.λ = L + C; + r.r = 3.94118 / (1 + 0.00485 * Math.cos(M + C)); + r.γ = 0.0262 * d; + r.Ω = 348 * d - 151.95 * d * this.t2; + return r +}; + +Qs.prototype.tethys = function () { + const r = new R4(); + r.λ = 285.306 * d + 190.69791226 * d * this.t1 + + 2.063 * d * this.sW0 + 0.03409 * d * this.s3W0 + 0.001015 * d * this.s5W0; + r.r = 4.880998; + r.γ = 1.0976 * d; + r.Ω = 111.33 * d - 72.2441 * d * this.t2; + return r +}; + +Qs.prototype.dione = function () { + const r = new R4(); + const L = 254.712 * d + 131.53493193 * d * this.t1 - 0.0215 * d * this.sW1 - 0.01733 * d * this.sW2; + const p = 174.8 * d + 30.82 * d * this.t2; + const M = L - p; + const C = 0.24717 * d * Math.sin(M) + 0.00033 * d * Math.sin(2 * M); + r.λ = L + C; + r.r = 6.24871 / (1 + 0.002157 * Math.cos(M + C)); + r.γ = 0.0139 * d; + r.Ω = 232 * d - 30.27 * d * this.t2; + return r +}; + +Qs.prototype.rhea = function () { + const pʹ = 342.7 * d + 10.057 * d * this.t2; + const [spʹ, cpʹ] = base["default"].sincos(pʹ); + const a1 = 0.000265 * spʹ + 0.001 * this.sW4; + const a2 = 0.000265 * cpʹ + 0.001 * this.cW4; + const e = Math.hypot(a1, a2); + const p = Math.atan2(a1, a2); + const N = 345 * d - 10.057 * d * this.t2; + const [sN, cN] = base["default"].sincos(N); + const λʹ = 359.244 * d + 79.6900472 * d * this.t1 + 0.086754 * d * sN; + const i = 28.0362 * d + 0.346898 * d * cN + 0.0193 * d * this.cW3; + const Ω = 168.8034 * d + 0.736936 * d * sN + 0.041 * d * this.sW3; + const a = 8.725924; + return this.subr(λʹ, p, e, a, Ω, i) +}; + +Qs.prototype.subr = function (λʹ, p, e, a, Ω, i) { + const r = new R4(); + const M = λʹ - p; + const e2 = e * e; + const e3 = e2 * e; + const e4 = e2 * e2; + const e5 = e3 * e2; + const C = (2 * e - 0.25 * e3 + 0.0520833333 * e5) * Math.sin(M) + + (1.25 * e2 - 0.458333333 * e4) * Math.sin(2 * M) + + (1.083333333 * e3 - 0.671875 * e5) * Math.sin(3 * M) + + 1.072917 * e4 * Math.sin(4 * M) + 1.142708 * e5 * Math.sin(5 * M); + r.r = a * (1 - e2) / (1 + e * Math.cos(M + C)); // return value + const g = Ω - 168.8112 * d; + const [si, ci] = base["default"].sincos(i); + const [sg, cg] = base["default"].sincos(g); + const a1 = si * sg; + const a2 = this.c1 * si * cg - this.s1 * ci; + r.γ = Math.asin(Math.hypot(a1, a2)); // return value + const u = Math.atan2(a1, a2); + r.Ω = 168.8112 * d + u; // return value (w) + const h = this.c1 * si - this.s1 * ci * cg; + const ψ = Math.atan2(this.s1 * sg, h); + r.λ = λʹ + C + u - g - ψ; // return value + return r +}; + +Qs.prototype.titan = function () { + const L = 261.1582 * d + 22.57697855 * d * this.t4 + 0.074025 * d * this.sW3; + const iʹ = 27.45141 * d + 0.295999 * d * this.cW3; + const Ωʹ = 168.66925 * d + 0.628808 * d * this.sW3; + const [siʹ, ciʹ] = base["default"].sincos(iʹ); + const [sΩʹW8, cΩʹW8] = base["default"].sincos(Ωʹ - this.W8); + const a1 = this.sW7 * sΩʹW8; + const a2 = this.cW7 * siʹ - this.sW7 * ciʹ * cΩʹW8; + const g0 = 102.8623 * d; + const ψ = Math.atan2(a1, a2); + const s = Math.hypot(a1, a2); + let g = this.W4 - Ωʹ - ψ; + let ϖ = 0; + const [s2g0, c2g0] = base["default"].sincos(2 * g0); + const f = () => { + ϖ = this.W4 + 0.37515 * d * (Math.sin(2 * g) - s2g0); + g = ϖ - Ωʹ - ψ; + }; + f(); + f(); + f(); + const eʹ = 0.029092 + 0.00019048 * (Math.cos(2 * g) - c2g0); + const qq = 2 * (this.W5 - ϖ); + const b1 = siʹ * sΩʹW8; + const b2 = this.cW7 * siʹ * cΩʹW8 - this.sW7 * ciʹ; + const θ = Math.atan2(b1, b2) + this.W8; + const [sq, cq] = base["default"].sincos(qq); + const e = eʹ + 0.002778797 * eʹ * cq; + const p = ϖ + 0.159215 * d * sq; + const u = 2 * this.W5 - 2 * θ + ψ; + const [su, cu] = base["default"].sincos(u); + const h = 0.9375 * eʹ * eʹ * sq + 0.1875 * s * s * Math.sin(2 * (this.W5 - θ)); + const λʹ = L - 0.254744 * d * + (this.e1 * Math.sin(this.W6) + 0.75 * this.e1 * this.e1 * Math.sin(2 * this.W6) + h); + const i = iʹ + 0.031843 * d * s * cu; + const Ω = Ωʹ + 0.031843 * d * s * su / siʹ; + const a = 20.216193; + return this.subr(λʹ, p, e, a, Ω, i) +}; + +Qs.prototype.hyperion = function () { + const η = 92.39 * d + 0.5621071 * d * this.t6; + const ζ = 148.19 * d - 19.18 * d * this.t8; + const θ = 184.8 * d - 35.41 * d * this.t9; + const θʹ = θ - 7.5 * d; + const as = 176 * d + 12.22 * d * this.t8; + const bs = 8 * d + 24.44 * d * this.t8; + const cs = bs + 5 * d; + const ϖ = 69.898 * d - 18.67088 * d * this.t8; + const φ = 2 * (ϖ - this.W5); + const χ = 94.9 * d - 2.292 * d * this.t8; + const [sη, cη] = base["default"].sincos(η); + const [sζ, cζ] = base["default"].sincos(ζ); + const [s2ζ, c2ζ] = base["default"].sincos(2 * ζ); + const [s3ζ, c3ζ] = base["default"].sincos(3 * ζ); + const [sζpη, cζpη] = base["default"].sincos(ζ + η); + const [sζmη, cζmη] = base["default"].sincos(ζ - η); + const [sφ, cφ] = base["default"].sincos(φ); + const [sχ, cχ] = base["default"].sincos(χ); + const [scs, ccs] = base["default"].sincos(cs); + const a = 24.50601 - 0.08686 * cη - 0.00166 * cζpη + 0.00175 * cζmη; + const e = 0.103458 - 0.004099 * cη - 0.000167 * cζpη + 0.000235 * cζmη + + 0.02303 * cζ - 0.00212 * c2ζ + 0.000151 * c3ζ + 0.00013 * cφ; + const p = ϖ + 0.15648 * d * sχ - 0.4457 * d * sη - 0.2657 * d * sζpη - 0.3573 * d * sζmη - + 12.872 * d * sζ + 1.668 * d * s2ζ - 0.2419 * d * s3ζ - 0.07 * d * sφ; + const λʹ = 177.047 * d + 16.91993829 * d * this.t6 + 0.15648 * d * sχ + 9.142 * d * sη + + 0.007 * d * Math.sin(2 * η) - 0.014 * d * Math.sin(3 * η) + 0.2275 * d * sζpη + + 0.2112 * d * sζmη - 0.26 * d * sζ - 0.0098 * d * s2ζ - + 0.013 * d * Math.sin(as) + 0.017 * d * Math.sin(bs) - 0.0303 * d * sφ; + const i = 27.3347 * d + 0.6434886 * d * cχ + 0.315 * d * this.cW3 + 0.018 * d * Math.cos(θ) - + 0.018 * d * ccs; + const Ω = 168.6812 * d + 1.40136 * d * cχ + 0.68599 * d * this.sW3 - 0.0392 * d * scs + + 0.0366 * d * Math.sin(θʹ); + return this.subr(λʹ, p, e, a, Ω, i) +}; + +Qs.prototype.iapetus = function () { + const L = 261.1582 * d + 22.57697855 * d * this.t4; + const ϖʹ = 91.796 * d + 0.562 * d * this.t7; + const ψ = 4.367 * d - 0.195 * d * this.t7; + const θ = 146.819 * d - 3.198 * d * this.t7; + const φ = 60.47 * d + 1.521 * d * this.t7; + const Φ = 205.055 * d - 2.091 * d * this.t7; + const eʹ = 0.028298 + 0.001156 * this.t11; + const ϖ0 = 352.91 * d + 11.71 * d * this.t11; + const μ = 76.3852 * d + 4.53795125 * d * this.t10; + const iʹ = base["default"].horner(this.t11, 18.4602 * d, -0.9518 * d, -0.072 * d, 0.0054 * d); + const Ωʹ = base["default"].horner(this.t11, 143.198 * d, -3.919 * d, 0.116 * d, 0.008 * d); + const l = μ - ϖ0; + const g = ϖ0 - Ωʹ - ψ; + const g1 = ϖ0 - Ωʹ - φ; + const ls = this.W5 - ϖʹ; + const gs = ϖʹ - θ; + const lT = L - this.W4; + const gT = this.W4 - Φ; + const u1 = 2 * (l + g - ls - gs); + const u2 = l + g1 - lT - gT; + const u3 = l + 2 * (g - ls - gs); + const u4 = lT + gT - g1; + const u5 = 2 * (ls + gs); + const [sl, cl] = base["default"].sincos(l); + const [su1, cu1] = base["default"].sincos(u1); + const [su2, cu2] = base["default"].sincos(u2); + const [su3, cu3] = base["default"].sincos(u3); + const [su4, cu4] = base["default"].sincos(u4); + const [slu2, clu2] = base["default"].sincos(l + u2); + const [sg1gT, cg1gT] = base["default"].sincos(g1 - gT); + const [su52g, cu52g] = base["default"].sincos(u5 - 2 * g); + const [su5ψ, cu5ψ] = base["default"].sincos(u5 + ψ); + const [su2φ, cu2φ] = base["default"].sincos(u2 + φ); + const [s5, c5] = base["default"].sincos(l + g1 + lT + gT + φ); + const a = 58.935028 + 0.004638 * cu1 + 0.058222 * cu2; + const e = eʹ - 0.0014097 * cg1gT + 0.0003733 * cu52g + + 0.000118 * cu3 + 0.0002408 * cl + 0.0002849 * clu2 + 0.000619 * cu4; + const w = 0.08077 * d * sg1gT + 0.02139 * d * su52g - 0.00676 * d * su3 + + 0.0138 * d * sl + 0.01632 * d * slu2 + 0.03547 * d * su4; + const p = ϖ0 + w / eʹ; + const λʹ = μ - 0.04299 * d * su2 - 0.00789 * d * su1 - 0.06312 * d * Math.sin(ls) - + 0.00295 * d * Math.sin(2 * ls) - 0.02231 * d * Math.sin(u5) + 0.0065 * d * su5ψ; + const i = iʹ + 0.04204 * d * cu5ψ + 0.00235 * d * c5 + 0.0036 * d * cu2φ; + const wʹ = 0.04204 * d * su5ψ + 0.00235 * d * s5 + 0.00358 * d * su2φ; + const Ω = Ωʹ + wʹ / Math.sin(iʹ); + return this.subr(λʹ, p, e, a, Ω, i) +}; + +var saturnmoons = { + mimas, + enceladus, + tethys, + dione, + rhea, + titan, + hyperion, + iapetus, + positions, + Qs +}; + +exports.Qs = Qs; +exports["default"] = saturnmoons; +exports.dione = dione; +exports.enceladus = enceladus; +exports.hyperion = hyperion; +exports.iapetus = iapetus; +exports.mimas = mimas; +exports.positions = positions; +exports.rhea = rhea; +exports.tethys = tethys; +exports.titan = titan; + + +/***/ }), + +/***/ 9636: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var nutation = __nccwpck_require__(6723); +var planetposition = __nccwpck_require__(5579); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module saturnring + */ + +/** + * Ring computes quantities of the ring of Saturn. + * + * B Saturnicentric latitude of the Earth referred to the plane of the ring. + * Bʹ Saturnicentric latitude of the Sun referred to the plane of the ring. + * ΔU Difference between Saturnicentric longitudes of the Sun and the Earth. + * P Geometric position angle of the northern semiminor axis of the ring. + * aEdge Major axis of the out edge of the outer ring. + * bEdge Minor axis of the out edge of the outer ring. + * + * All results in radians. + */ +function ring (jde, earth, saturn) { // (jde float64, earth, saturn *pp.V87Planet) (B, Bʹ, ΔU, P, aEdge, bEdge float64) + const [f1, f2] = cl(jde, earth, saturn); + const [ΔU, B] = f1(); + const [Bʹ, P, aEdge, bEdge] = f2(); + return [B, Bʹ, ΔU, P, aEdge, bEdge] +} + +/** + * UB computes quantities required by illum.Saturn(). + * + * Same as ΔU and B returned by Ring(). Results in radians. + */ +function ub (jde, earth, saturn) { // (jde float64, earth, saturn *pp.V87Planet) (ΔU, B float64) + const [f1, f2] = cl(jde, earth, saturn); // eslint-disable-line no-unused-vars + return f1() +} + +/** + * cl splits the work into two closures. + */ +function cl (jde, earth, saturn) { // (jde float64, earth, saturn *pp.V87Planet) (f1 func() (ΔU, B float64), + // f2 func() (Bʹ, P, aEdge, bEdge float64)) + const p = Math.PI / 180; + let i, Ω; + let l0, b0, R; + let Δ = 9.0; + let λ, β; + let si, ci, sβ, cβ, sB; + let sbʹ, cbʹ, slʹΩ, clʹΩ; + const f1 = function () { // (ΔU, B float64) + // (45.1), p. 318 + const T = base["default"].J2000Century(jde); + i = base["default"].horner(T, 28.075216 * p, -0.012998 * p, 0.000004 * p); + Ω = base["default"].horner(T, 169.50847 * p, 1.394681 * p, 0.000412 * p); + // Step 2.0 + const earthPos = earth.position(jde); + R = earthPos.range; + const fk5 = planetposition["default"].toFK5(earthPos.lon, earthPos.lat, jde); + l0 = fk5.lon; + b0 = fk5.lat; + const [sl0, cl0] = base["default"].sincos(l0); + const sb0 = Math.sin(b0); + // Steps 3, 4.0 + let l = 0; + let b = 0; + let r = 0; + let x = 0; + let y = 0; + let z = 0; + + const f = function () { + const τ = base["default"].lightTime(Δ); + const saturnPos = saturn.position(jde - τ); + r = saturnPos.range; + const fk5 = planetposition["default"].toFK5(saturnPos.lon, saturnPos.lat, jde); + l = fk5.lon; + b = fk5.lat; + const [sl, cl] = base["default"].sincos(l); + const [sb, cb] = base["default"].sincos(b); + x = r * cb * cl - R * cl0; + y = r * cb * sl - R * sl0; + z = r * sb - R * sb0; + Δ = Math.sqrt(x * x + y * y + z * z); + }; + f(); + f(); + // Step 5.0 + λ = Math.atan2(y, x); + β = Math.atan(z / Math.hypot(x, y)); + // First part of step 6.0 + si = Math.sin(i); + ci = Math.cos(i); + sβ = Math.sin(β); + cβ = Math.cos(β); + sB = si * cβ * Math.sin(λ - Ω) - ci * sβ; + const B = Math.asin(sB); // return value + // Step 7.0 + const N = 113.6655 * p + 0.8771 * p * T; + const lʹ = l - 0.01759 * p / r; + const bʹ = b - 0.000764 * p * Math.cos(l - N) / r; + // Setup for steps 8, 9.0 + sbʹ = Math.sin(bʹ); + cbʹ = Math.cos(bʹ); + slʹΩ = Math.sin(lʹ - Ω); + clʹΩ = Math.cos(lʹ - Ω); + // Step 9.0 + const [sλΩ, cλΩ] = base["default"].sincos(λ - Ω); + const U1 = Math.atan2(si * sbʹ + ci * cbʹ * slʹΩ, cbʹ * clʹΩ); + const U2 = Math.atan2(si * sβ + ci * cβ * sλΩ, cβ * cλΩ); + const ΔU = Math.abs(U1 - U2); // return value + return [ΔU, B] + }; + const f2 = function () { // (Bʹ, P, aEdge, bEdge) { + // Remainder of step 6.0 + const aEdge = 375.35 / 3600 * p / Δ; // return value + const bEdge = aEdge * Math.abs(sB); // return value + // Step 8.0 + const sBʹ = si * cbʹ * slʹΩ - ci * sbʹ; + const Bʹ = Math.asin(sBʹ); // return value + // Step 10.0 + const [Δψ, Δε] = nutation["default"].nutation(jde); + const ε = nutation["default"].meanObliquity(jde) + Δε; + // Step 11.0 + let λ0 = Ω - Math.PI / 2; + const β0 = Math.PI / 2 - i; + // Step 12.0 + const [sl0λ, cl0λ] = base["default"].sincos(l0 - λ); + λ += 0.005693 * p * cl0λ / cβ; + β += 0.005693 * p * sl0λ * sβ; + // Step 13.0 + λ0 += Δψ; + λ += Δψ; + // Step 14.0 + let eq = new coord["default"].Ecliptic(λ0, β0).toEquatorial(ε); + const [α0, δ0] = [eq.ra, eq.dec]; + eq = new coord["default"].Ecliptic(λ, β).toEquatorial(ε); + const [α, δ] = [eq.ra, eq.dec]; + // Step 15.0 + const [sδ0, cδ0] = base["default"].sincos(δ0); + const [sδ, cδ] = base["default"].sincos(δ); + const [sα0α, cα0α] = base["default"].sincos(α0 - α); + const P = Math.atan2(cδ0 * sα0α, sδ0 * cδ - cδ0 * sδ * cα0α); // return value + return [Bʹ, P, aEdge, bEdge] + }; + return [f1, f2] +} + +var saturnring = { + ring, + ub +}; + +exports["default"] = saturnring; +exports.ring = ring; +exports.ub = ub; + + +/***/ }), + +/***/ 2038: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module sexagesimal + */ +/** + * Sexagesimal functions + */ + +/** + * Angle represents a general purpose angle. + * Unit is radians. + */ +class Angle { + /** + * constructs a new Angle value from sign, degree, minute, and second + * components. + * @param {Number|Boolean} angleOrNeg - angle in radians or sign, true if negative (required to attribute -0°30') + * __Four arguments__ + * @param {Number} [d] - (int) degree + * @param {Number} [m] - (int) minute + * @param {Number} [s] - (float) second + */ + constructor (angleOrNeg, d, m, s) { + if (arguments.length === 1) { + this.angle = Number(angleOrNeg); + } else { + this.setDMS(!!angleOrNeg, d, m, s); + } + } + + /** + * SetDMS sets the value of an FAngle from sign, degree, minute, and second + * components. + * The receiver is returned as a convenience. + * @param {Boolean} neg - sign, true if negative + * @param {Number} d - (int) degree + * @param {Number} m - (int) minute + * @param {Number} s - (float) second + * @returns {Angle} + */ + setDMS (neg = false, d = 0, m = 0, s = 0.0) { + this.angle = (DMSToDeg(neg, d, m, s) * Math.PI / 180); + return this + } + + /** + * sets angle + * @param {Number} angle - (float) angle in radians + * @returns {Angle} + */ + setAngle (angle) { + this.angle = angle; + return this + } + + /** + * Rad returns the angle in radians. + * @returns {Number} angle in radians + */ + rad () { + return this.angle + } + + /** + * Deg returns the angle in degrees. + * @returns {Number} angle in degree + */ + deg () { + return this.angle * 180 / Math.PI + } + + /** + * toDMS converts to parsed sexagesimal angle component. + */ + toDMS () { + return degToDMS(this.deg()) + } + + /** + * Print angle in degree using `d°m´s.ss″` + * @param {Number} [precision] - precision of `s.ss` + * @returns {String} + */ + toString (precision) { + let [neg, d, m, s] = this.toDMS(); + s = round(s, precision).toString().replace(/^0\./, '.'); + const str = (neg ? '-' : '') + + (d + '°') + + (m + '′') + + (s + '″'); + return str + } + + /** + * Print angle in degree using `d°.ff` + * @param {Number} [precision] - precision of `.ff` + * @returns {String} + */ + toDegString (precision) { + let [i, s] = modf(this.deg()); + s = round(s, precision).toString().replace(/^0\./, '.'); + const str = (i + '°') + s; + return str + } +} + +/** + * HourAngle represents an angle corresponding to angular rotation of + * the Earth in a specified time. + * + * Unit is radians. + */ +class HourAngle extends Angle { + /** + * NewHourAngle constructs a new HourAngle value from sign, hour, minute, + * and second components. + * @param {Boolean} neg + * @param {Number} h - (int) + * @param {Number} m - (int) + * @param {Number} s - (float) + * @constructor + */ + + /** + * SetDMS sets the value of an FAngle from sign, degree, minute, and second + * components. + * The receiver is returned as a convenience. + * @param {Boolean} neg - sign, true if negative + * @param {Number} h - (int) hour + * @param {Number} m - (int) minute + * @param {Number} s - (float) second + * @returns {Angle} + */ + setDMS (neg = false, h = 0, m = 0, s = 0.0) { + this.angle = (DMSToDeg(neg, h, m, s) * 15 * Math.PI / 180); + return this + } + + /** + * Hour returns the hour angle as hours of time. + * @returns hour angle + */ + hour () { + return this.angle * 12 / Math.PI // 12 = 180 / 15 + } + + deg () { + return this.hour() + } + + /** + * Print angle in `HʰMᵐs.ssˢ` + * @param {Number} precision - precision of `s.ss` + * @returns {String} + */ + toString (precision) { + let [neg, h, m, s] = this.toDMS(); + s = round(s, precision).toString().replace(/^0\./, '.'); + const str = (neg ? '-' : '') + + (h + 'ʰ') + + (m + 'ᵐ') + + (s + 'ˢ'); + return str + } +} + +/** + * DMSToDeg converts from parsed sexagesimal angle components to decimal + * degrees. + * @param {Boolean} neg - sign, true if negative + * @param {Number} d - (int) degree + * @param {Number} m - (int) minute + * @param {Number} s - (float) second + * @returns {Number} angle in degree + */ +function DMSToDeg (neg, d, m, s) { + s = (((d * 60 + m) * 60) + s) / 3600; + if (neg) { + return -s + } + return s +} + +/** + * DegToDMS converts from decimal degrees to parsed sexagesimal angle component. + * @param {Number} deg - angle in degree + * @returns {Array} [neg, d, m, s] + * {Boolean} neg - sign, true if negative + * {Number} d - (int) degree + * {Number} m - (int) minute + * {Number} s - (float) second + */ +function degToDMS (deg) { + const neg = (deg < 0); + deg = Math.abs(deg); + let [d, s] = modf(deg % 360); + const [m, s1] = modf(s * 60); + s = round(s1 * 60); // may introduce an error < 1e13 + return [neg, d, m, s] +} + +class RA extends HourAngle { + /** + * constructs a new RA value from hour, minute, and second components. + * Negative values are not supported, RA wraps values larger than 24 + * to the range [0,24) hours. + * @param {Number} h - (int) hour + * @param {Number} m - (int) minute + * @param {Number} s - (float) second + */ + constructor (h = 0, m = 0, s = 0) { + super(false, h, m, s); + const args = [].slice.call(arguments); + if (args.length === 1) { + this.angle = h; + } else { + const hr = DMSToDeg(false, h, m, s) % 24; + this.angle = hr * 15 * Math.PI / 180; + } + } + + hour () { + const h = this.angle * 12 / Math.PI; + return (24 + (h % 24)) % 24 + } +} + +/** + * Time Angle + * Unit is time in seconds. + */ +class Time { + /** + * @param {boolean|number} negOrTimeInSecs - set `true` if negative; if type is number than time in seconds + * @param {number} [h] - (int) hour + * @param {number} [m] - (int) minute + * @param {number} [s] - (float) second + * @example + * new sexa.Time(SECS_OF_DAY) + * new sexa.Time(false, 15, 22, 7) + */ + constructor (negOrTimeInSecs, h, m, s) { + if (typeof negOrTimeInSecs === 'number') { + this.time = negOrTimeInSecs; + } else { + this.setHMS(negOrTimeInSecs, h, m, s); + } + } + + setHMS (neg = false, h = 0, m = 0, s = 0) { + s += ((h * 60 + m) * 60); + if (neg) { + s = -s; + } + this.time = s; + } + + /** + * @returns {Number} time in seconds. + */ + sec () { + return this.time + } + + /** + * @returns {Number} time in minutes. + */ + min () { + return this.time / 60 + } + + /** + * @returns {Number} time in hours. + */ + hour () { + return this.time / 3600 + } + + /** + * @returns {Number} time in days. + */ + day () { + return this.time / 3600 / 24 + } + + /** + * @returns {Number} time in radians, where 1 day = 2 Pi radians. + */ + rad () { + return this.time * Math.PI / 12 / 3600 + } + + /** + * convert time to HMS + * @returns {Array} [neg, h, m, s] + * {Boolean} neg - sign, true if negative + * {Number} h - (int) hour + * {Number} m - (int) minute + * {Number} s - (float) second + */ + toHMS () { + let t = this.time; + const neg = (t < 0); + t = (neg ? -t : t); + const h = Math.trunc(t / 3600); + t = t - (h * 3600); + const m = Math.trunc(t / 60); + const s = t - (m * 60); + return [neg, h, m, s] + } + + /** + * Print time using `HʰMᵐsˢ.ss` + * @param {Number} precision - precision of `.ss` + * @returns {String} + */ + toString (precision) { + const [neg, h, m, s] = this.toHMS(); + let [si, sf] = modf(s); + if (precision === 0) { + si = round(s, 0); + sf = 0; + } else { + sf = round(sf, precision).toString().substr(1); + } + const str = (neg ? '-' : '') + + (h + 'ʰ') + + (m + 'ᵐ') + + (si + 'ˢ') + + (sf || ''); + return str + } +} + +// units +const angleFromDeg = (deg) => deg * Math.PI / 180; +const angleFromMin = (min) => min / 60 * Math.PI / 180; +const angleFromSec = (sec) => sec / 3600 * Math.PI / 180; +const degFromAngle = (angle) => angle * 180 / Math.PI; +const secFromAngle = (angle) => angle * 3600 * 180 / Math.PI; +const secFromHourAngle = (ha) => ha * 240 * 180 / Math.PI; + +/** + * separate fix `i` from fraction `f` + * @private + * @param {Number} float + * @returns {Array} [i, f] + * {Number} i - (int) fix value + * {Number} f - (float) fractional portion; always > 1 + */ +function modf (float) { + const i = Math.trunc(float); + const f = Math.abs(float - i); + return [i, f] +} + +/** + * Rounds `float` value by precision + * @private + * @param {Number} float - value to round + * @param {Number} [precision] - (int) number of post decimal positions + * @return {Number} rounded `float` + */ +function round (float, precision = 10) { + return parseFloat(float.toFixed(precision)) +} + +var sexa = { + Angle, + HourAngle, + DMSToDeg, + degToDMS, + RA, + Time, + angleFromDeg, + angleFromMin, + angleFromSec, + degFromAngle, + secFromAngle, + secFromHourAngle +}; + +exports.Angle = Angle; +exports.DMSToDeg = DMSToDeg; +exports.HourAngle = HourAngle; +exports.RA = RA; +exports.Time = Time; +exports.angleFromDeg = angleFromDeg; +exports.angleFromMin = angleFromMin; +exports.angleFromSec = angleFromSec; +exports["default"] = sexa; +exports.degFromAngle = degFromAngle; +exports.degToDMS = degToDMS; +exports.secFromAngle = secFromAngle; +exports.secFromHourAngle = secFromHourAngle; + + +/***/ }), + +/***/ 29: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var nutation = __nccwpck_require__(6723); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module sidereal + */ + +/** + * JDToCFrac returns values for use in computing sidereal time at Greenwich. + * + * Cen is centuries from J2000 of the JD at 0h UT of argument jd. This is + * the value to use for evaluating the IAU sidereal time polynomial. + * DayFrac is the fraction of jd after 0h UT. It is used to compute the + * final value of sidereal time. + * + * @param {number} jd - Julian Days + * @return {number[]} [century, fraction] century and fraction of jd after 0h UT + */ +function JDToCFrac (jd) { + const [j0, f] = base["default"].modf(jd + 0.5); + return [base["default"].J2000Century(j0 - 0.5), f] // (cen, dayFrac /* float */) +} + +/** + * iau82 is a polynomial giving mean sidereal time at Greenwich at 0h UT. + * + * The polynomial is in centuries from J2000.0, as given by JDToCFrac. + * Coefficients are those adopted in 1982 by the International Astronomical + * Union and are given in (12.2) p. 87. + */ +const iau82 = [24110.54841, 8640184.812866, 0.093104, -0.0000062]; + +/** + * Mean returns mean sidereal time at Greenwich for a given JD. + * + * Computation is by IAU 1982 coefficients. The result is in seconds of + * time and is in the range [0,86400). + * + * @param {number} jd - Julian Days + * @return {number} + */ +function mean (jd) { + return base["default"].pmod(_mean(jd), 86400) +} + +/** + * @private + */ +function _mean (jd) { + const [s, f] = _mean0UT(jd); + return s + f * 1.00273790935 * 86400 +} + +/** + * Mean0UT returns mean sidereal time at Greenwich at 0h UT on the given JD. + * + * The result is in seconds of time and is in the range [0,86400). + * + * @param {number} jd - Julian Days + * @return {number} + */ +function mean0UT (jd /* float */) { + const [s, _] = _mean0UT(jd); // eslint-disable-line + return base["default"].pmod(s, 86400) +} + +/** + * @private + */ +function _mean0UT (jd /* float */) { + const [cen, f] = JDToCFrac(jd); + // (12.2) p. 87 + return [base["default"].horner(cen, ...iau82), f] // (sidereal, dayFrac /* float */) +} + +/** + * Apparent returns apparent sidereal time at Greenwich for the given JD. + * + * Apparent is mean plus the nutation in right ascension. + * + * The result is in seconds of time and is in the range [0,86400). + * + * @param {number} jd - Julian Days + * @return {number} + */ +function apparent (jd) { + const s = _mean(jd); // seconds of time + const n = nutation["default"].nutationInRA(jd); // angle (radians) of RA + const ns = n * 3600 * 180 / Math.PI / 15; // convert RA to time in seconds + return base["default"].pmod(s + ns, 86400) +} + +/** + * Apparent0UT returns apparent sidereal time at Greenwich at 0h UT + * on the given JD. + * + * The result is in seconds of time and is in the range [0,86400). + * + * @param {number} jd - Julian Days + * @return {number} + */ +function apparent0UT (jd) { + const [j0, f] = base["default"].modf(jd + 0.5); + const cen = (j0 - 0.5 - base["default"].J2000) / 36525; + const s = base["default"].horner(cen, ...iau82) + f * 1.00273790935 * 86400; + const n = nutation["default"].nutationInRA(j0); // angle (radians) of RA + const ns = n * 3600 * 180 / Math.PI / 15; // convert RA to time in seconds + return base["default"].pmod(s + ns, 86400) +} + +var sidereal = { + JDToCFrac, + iau82, + mean, + mean0UT, + apparent, + apparent0UT +}; + +exports.JDToCFrac = JDToCFrac; +exports.apparent = apparent; +exports.apparent0UT = apparent0UT; +exports["default"] = sidereal; +exports.iau82 = iau82; +exports.mean = mean; +exports.mean0UT = mean0UT; + + +/***/ }), + +/***/ 2332: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var coord = __nccwpck_require__(8566); +var nutation = __nccwpck_require__(6723); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module solar + */ + +/** + * True returns true geometric longitude and anomaly of the sun referenced to the mean equinox of date. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Object} + * {Number} lon = true geometric longitude, ☉, in radians + * {Number} ano = true anomaly in radians + */ +function trueLongitude (T) { + // (25.2) p. 163 + const L0 = base["default"].horner(T, 280.46646, 36000.76983, 0.0003032) * + Math.PI / 180; + const m = meanAnomaly(T); + const C = (base["default"].horner(T, 1.914602, -0.004817, -0.000014) * + Math.sin(m) + + (0.019993 - 0.000101 * T) * Math.sin(2 * m) + + 0.000289 * Math.sin(3 * m)) * Math.PI / 180; + const lon = base["default"].pmod(L0 + C, 2 * Math.PI); + const ano = base["default"].pmod(m + C, 2 * Math.PI); + return { lon, ano } +} + +/** + * meanAnomaly returns the mean anomaly of Earth at the given T. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Number} Result is in radians and is not normalized to the range 0..2π. + */ +function meanAnomaly (T) { + // (25.3) p. 163 + return base["default"].horner(T, 357.52911, 35999.05029, -0.0001537) * Math.PI / 180 +} + +/** + * eccentricity returns eccentricity of the Earth's orbit around the sun. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Number} eccentricity of the Earth's orbit around the sun. + */ +function eccentricity (T) { + // (25.4) p. 163 + return base["default"].horner(T, 0.016708634, -0.000042037, -0.0000001267) +} + +/** + * Radius returns the Sun-Earth distance in AU. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Number} Sun-Earth distance in AU + */ +function radius (T) { + const {lon, ano} = trueLongitude(T); // eslint-disable-line + const e = eccentricity(T); + // (25.5) p. 164 + return 1.000001018 * (1 - e * e) / (1 + e * Math.cos(ano)) +} + +/** + * ApparentLongitude returns apparent longitude of the Sun referenced to the true equinox of date. + * Result includes correction for nutation and aberration. Unit is radians. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Number} apparent longitude of the Sun referenced to the true equinox of date. + */ +function apparentLongitude (T) { + const Ω = node(T); + const {lon, ano} = trueLongitude(T); // eslint-disable-line + return lon - 0.00569 * Math.PI / 180 - 0.00478 * Math.PI / 180 * Math.sin(Ω) +} + +/** + * @private + */ +function node (T) { + return 125.04 * Math.PI / 180 - 1934.136 * Math.PI / 180 * T +} + +/** + * true2000 returns true geometric longitude and anomaly of the sun referenced to equinox J2000. + * Results are accurate to .01 degree for years 1900 to 2100. + * + * @param {Number} T - number of Julian centuries since J2000. See base.J2000Century. + * @returns {Object} + * {Number} lon - true geometric longitude, ☉, in radians + * {Number} ano - true anomaly in radians + */ +function true2000 (T) { + let { lon, ano } = trueLongitude(T); + lon -= 0.01397 * Math.PI / 180 * T * 100; + return { lon, ano } +} + +/** + * trueEquatorial returns the true geometric position of the Sun as equatorial coordinates. + * + * @param {Number} jde - Julian ephemeris day + * @returns {Coord} + * {Number} ra - right ascension in radians + * {Number} dec - declination in radians + */ +function trueEquatorial (jde) { + const {lon, ano} = trueLongitude(base["default"].J2000Century(jde)); // eslint-disable-line + const ε = nutation["default"].meanObliquity(jde); + const [ss, cs] = base["default"].sincos(lon); + const [sε, cε] = base["default"].sincos(ε); + // (25.6, 25.7) p. 165 + const ra = Math.atan2(cε * ss, cs); + const dec = sε * ss; + return new base["default"].Coord(ra, dec) +} + +/** + * apparentEquatorial returns the apparent position of the Sun as equatorial coordinates. + * + * @param {Number} jde - Julian ephemeris day + * @returns {Coord} + * {Number} ra - right ascension in radians + * {Number} dec - declination in radians + */ +function apparentEquatorial (jde) { + const T = base["default"].J2000Century(jde); + const λ = apparentLongitude(T); + const ε = nutation["default"].meanObliquity(jde); + const [sλ, cλ] = base["default"].sincos(λ); + // (25.8) p. 165 + const [sε, cε] = base["default"].sincos(ε + 0.00256 * Math.PI / 180 * Math.cos(node(T))); + const ra = Math.atan2(cε * sλ, cλ); + const dec = Math.asin(sε * sλ); + return new base["default"].Coord(ra, dec) +} + +/** + * trueVSOP87 returns the true geometric position of the sun as ecliptic coordinates. + * + * Result computed by full VSOP87 theory. Result is at equator and equinox + * of date in the FK5 frame. It does not include nutation or aberration. + * + * @param {Planet} planet + * @param {Number} jde - Julian ephemeris day + * @returns {Object} + * {Number} lon - ecliptic longitude in radians + * {Number} lat - ecliptic latitude in radians + * {Number} range - range in AU + */ +function trueVSOP87 (planet, jde) { + let { lon, lat, range } = planet.position(jde); + const s = lon + Math.PI; + // FK5 correction. + const λp = base["default"].horner(base["default"].J2000Century(jde), + s, -1.397 * Math.PI / 180, -0.00031 * Math.PI / 180); + const [sλp, cλp] = base["default"].sincos(λp); + const Δβ = 0.03916 / 3600 * Math.PI / 180 * (cλp - sλp); + // (25.9) p. 166 + lon = base["default"].pmod(s - 0.09033 / 3600 * Math.PI / 180, 2 * Math.PI); + lat = Δβ - lat; + return new base["default"].Coord(lon, lat, range) +} + +/** + * apparentVSOP87 returns the apparent position of the sun as ecliptic coordinates. + * + * Result computed by VSOP87, at equator and equinox of date in the FK5 frame, + * and includes effects of nutation and aberration. + * + * @param {Planet} planet + * @param {Number} jde - Julian ephemeris day + * @returns {Coord} + * {Number} lon - ecliptic longitude in radians + * {Number} lat - ecliptic latitude in radians + * {Number} range - range in AU + */ +function apparentVSOP87 (planet, jde) { + // note: see duplicated code in ApparentEquatorialVSOP87. + let { lon, lat, range } = trueVSOP87(planet, jde); + const Δψ = nutation["default"].nutation(jde)[0]; + const a = aberration(range); + lon = lon + Δψ + a; + return new base["default"].Coord(lon, lat, range) +} + +/** + * apparentEquatorialVSOP87 returns the apparent position of the sun as equatorial coordinates. + * + * Result computed by VSOP87, at equator and equinox of date in the FK5 frame, + * and includes effects of nutation and aberration. + * + * @param {Planet} planet + * @param {Number} jde - Julian ephemeris day + * @returns {Coord} + * {Number} ra - right ascension in radians + * {Number} dec - declination in radians + * {Number} range - range in AU + */ +function apparentEquatorialVSOP87 (planet, jde) { + // note: duplicate code from ApparentVSOP87 so we can keep Δε. + // see also duplicate code in time.E(). + const { lon, lat, range } = trueVSOP87(planet, jde); + const [Δψ, Δε] = nutation["default"].nutation(jde); + const a = aberration(range); + const λ = lon + Δψ + a; + const ε = nutation["default"].meanObliquity(jde) + Δε; + const { ra, dec } = new coord["default"].Ecliptic(λ, lat).toEquatorial(ε); + return new base.Coord(ra, dec, range) +} + +/** + * Low precision formula. The high precision formula is not implemented + * because the low precision formula already gives position results to the + * accuracy given on p. 165. The high precision formula represents lots + * of typing with associated chance of typos, and no way to test the result. + * @param {Number} range + * @returns {Number} aberation + */ +function aberration (range) { + // (25.10) p. 167 + return -20.4898 / 3600 * Math.PI / 180 / range +} + +var solar = { + trueLongitude, + true: trueLongitude, // BACKWARDS-COMPATIBILITY + meanAnomaly, + eccentricity, + radius, + apparentLongitude, + true2000, + trueEquatorial, + apparentEquatorial, + trueVSOP87, + apparentVSOP87, + apparentEquatorialVSOP87, + aberration +}; + +exports.aberration = aberration; +exports.apparentEquatorial = apparentEquatorial; +exports.apparentEquatorialVSOP87 = apparentEquatorialVSOP87; +exports.apparentLongitude = apparentLongitude; +exports.apparentVSOP87 = apparentVSOP87; +exports["default"] = solar; +exports.eccentricity = eccentricity; +exports.meanAnomaly = meanAnomaly; +exports.radius = radius; +exports.true2000 = true2000; +exports.trueEquatorial = trueEquatorial; +exports.trueLongitude = trueLongitude; +exports.trueVSOP87 = trueVSOP87; + + +/***/ }), + +/***/ 9599: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var nutation = __nccwpck_require__(6723); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module solardisk + */ + +/** + * Ephemeris returns the apparent orientation of the sun at the given jd. + * + * Results: + * P: Position angle of the solar north pole. + * B0: Heliographic latitude of the center of the solar disk. + * L0: Heliographic longitude of the center of the solar disk. + * + * All results in radians. + */ +function ephemeris (jd, earth) { // (jd float64, e *pp.V87Planet) (P, B0, L0 float64) + const θ = (jd - 2398220) * 2 * Math.PI / 25.38; + const I = 7.25 * Math.PI / 180; + const K = 73.6667 * Math.PI / 180 + + 1.3958333 * Math.PI / 180 * (jd - 2396758) / base["default"].JulianCentury; + + const solarPos = solar["default"].trueVSOP87(earth, jd); + const L = solarPos.lon; + const R = solarPos.range; + const [Δψ, Δε] = nutation["default"].nutation(jd); + const ε0 = nutation["default"].meanObliquity(jd); + const ε = ε0 + Δε; + const λ = L - 20.4898 / 3600 * Math.PI / 180 / R; + const λp = λ + Δψ; + + const [sλK, cλK] = base["default"].sincos(λ - K); + const [sI, cI] = base["default"].sincos(I); + + const tx = -Math.cos(λp) * Math.tan(ε); + const ty = -cλK * Math.tan(I); + const P = Math.atan(tx) + Math.atan(ty); + const B0 = Math.asin(sλK * sI); + const η = Math.atan2(-sλK * cI, -cλK); + const L0 = base["default"].pmod(η - θ, 2 * Math.PI); + return [P, B0, L0] +} + +/** + * Cycle returns the jd of the start of the given synodic rotation. + * + * Argument c is the "Carrington" cycle number. + * + * Result is a dynamical time (not UT). + */ +function cycle (c) { // (c int) (jde float64) + const jde = 2398140.227 + 27.2752316 * c; + const m = 281.96 * Math.PI / 180 + 26.882476 * Math.PI / 180 * c; + const [s2m, c2m] = base["default"].sincos(2 * m); + return jde + 0.1454 * Math.sin(m) - 0.0085 * s2m - 0.0141 * c2m +} + +var solardisk = { + ephemeris, + cycle +}; + +exports.cycle = cycle; +exports["default"] = solardisk; +exports.ephemeris = ephemeris; + + +/***/ }), + +/***/ 9432: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var nutation = __nccwpck_require__(6723); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module solarxyz + */ + +/** + * Position returns rectangular coordinates referenced to the mean equinox of date. + * @param {planetposition.Planet} earth - VSOP87Planet Earth + * @param {Number} jde - Julian ephemeris day + * @return {object} rectangular coordinates + * {Number} x + * {Number} y + * {Number} z + */ +function position (earth, jde) { // (e *pp.V87Planet, jde float64) (x, y, z float64) + // (26.1) p. 171 + const { lon, lat, range } = solar["default"].trueVSOP87(earth, jde); + const [sε, cε] = base["default"].sincos(nutation["default"].meanObliquity(jde)); + const [ss, cs] = base["default"].sincos(lon); + const sβ = Math.sin(lat); + const x = range * cs; + const y = range * (ss * cε - sβ * sε); + const z = range * (ss * sε + sβ * cε); + return { x, y, z } +} + +/** + * LongitudeJ2000 returns geometric longitude referenced to equinox J2000. + * @param {planetposition.Planet} earth - VSOP87Planet Earth + * @param {Number} jde - Julian ephemeris day + * @return {Number} geometric longitude referenced to equinox J2000. + */ +function longitudeJ2000 (earth, jde) { + const lon = earth.position2000(jde).lon; + return base["default"].pmod(lon + Math.PI - 0.09033 / 3600 * Math.PI / 180, 2 * Math.PI) +} + +/** + * PositionJ2000 returns rectangular coordinates referenced to equinox J2000. + * @param {planetposition.Planet} earth - VSOP87Planet Earth + * @param {Number} jde - Julian ephemeris day + * @return {object} rectangular coordinates + * {Number} x + * {Number} y + * {Number} z + */ +function positionJ2000 (earth, jde) { + const { x, y, z } = xyz(earth, jde); + // (26.3) p. 174 + return { + x: x + 0.00000044036 * y - 0.000000190919 * z, + y: -0.000000479966 * x + 0.917482137087 * y - 0.397776982902 * z, + z: 0.397776982902 * y + 0.917482137087 * z + } +} + +function xyz (earth, jde) { + const { lon, lat, range } = earth.position2000(jde); + const s = lon + Math.PI; + const β = -lat; + const [ss, cs] = base["default"].sincos(s); + const [sβ, cβ] = base["default"].sincos(β); + // (26.2) p. 172 + const x = range * cβ * cs; + const y = range * cβ * ss; + const z = range * sβ; + return { x, y, z } +} + +/** + * PositionB1950 returns rectangular coordinates referenced to B1950. + * + * Results are referenced to the mean equator and equinox of the epoch B1950 + * in the FK5 system, not FK4. + * + * @param {planetposition.Planet} earth - VSOP87Planet Earth + * @param {Number} jde - Julian ephemeris day + * @return {object} rectangular coordinates + * {Number} x + * {Number} y + * {Number} z + */ +function positionB1950 (earth, jde) { // (e *pp.V87Planet, jde float64) (x, y, z float64) + const { x, y, z } = xyz(earth, jde); + return { + x: 0.999925702634 * x + 0.012189716217 * y + 0.000011134016 * z, + y: -0.011179418036 * x + 0.917413998946 * y - 0.397777041885 * z, + z: -0.004859003787 * x + 0.397747363646 * y + 0.917482111428 * z + } +} + +const ζt = [2306.2181, 0.30188, 0.017998]; +const zt = [2306.2181, 1.09468, 0.018203]; +const θt = [2004.3109, -0.42665, -0.041833]; + +/** + * PositionEquinox returns rectangular coordinates referenced to an arbitrary epoch. + * + * Position will be computed for given Julian day "jde" but referenced to mean + * equinox "epoch" (year). + * + * @param {planetposition.Planet} earth - VSOP87Planet Earth + * @param {Number} jde - Julian ephemeris day + * @param {Number} epoch + * @return {object} rectangular coordinates + * {Number} x + * {Number} y + * {Number} z + */ +function positionEquinox (earth, jde, epoch) { + const xyz = positionJ2000(earth, jde); + const x0 = xyz.x; + const y0 = xyz.y; + const z0 = xyz.z; + const t = (epoch - 2000) * 0.01; + const ζ = base["default"].horner(t, ζt) * t * Math.PI / 180 / 3600; + const z = base["default"].horner(t, zt) * t * Math.PI / 180 / 3600; + const θ = base["default"].horner(t, θt) * t * Math.PI / 180 / 3600; + const [sζ, cζ] = base["default"].sincos(ζ); + const [sz, cz] = base["default"].sincos(z); + const [sθ, cθ] = base["default"].sincos(θ); + const xx = cζ * cz * cθ - sζ * sz; + const xy = sζ * cz + cζ * sz * cθ; + const xz = cζ * sθ; + const yx = -cζ * sz - sζ * cz * cθ; + const yy = cζ * cz - sζ * sz * cθ; + const yz = -sζ * sθ; + const zx = -cz * sθ; + const zy = -sz * sθ; + const zz = cθ; + return { + x: xx * x0 + yx * y0 + zx * z0, + y: xy * x0 + yy * y0 + zy * z0, + z: xz * x0 + yz * y0 + zz * z0 + } +} + +var solarxyz = { + position, + longitudeJ2000, + positionJ2000, + xyz, + positionB1950, + positionEquinox +}; + +exports["default"] = solarxyz; +exports.longitudeJ2000 = longitudeJ2000; +exports.position = position; +exports.positionB1950 = positionB1950; +exports.positionEquinox = positionEquinox; +exports.positionJ2000 = positionJ2000; +exports.xyz = xyz; + + +/***/ }), + +/***/ 1368: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var solar = __nccwpck_require__(2332); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module solstice + */ +const { abs, cos, sin } = Math; +const D2R = Math.PI / 180; + +// table 27.a - for years from -1000 to +1000 +const mc0 = [1721139.29189, 365242.13740, 0.06134, 0.00111, -0.00071]; +const jc0 = [1721233.25401, 365241.72562, -0.05323, 0.00907, 0.00025]; +const sc0 = [1721325.70455, 365242.49558, -0.11677, -0.00297, 0.00074]; +const dc0 = [1721414.39987, 365242.88257, -0.00769, -0.00933, -0.00006]; + +// table 27.b - for years from +1000 to +3000 +const mc2 = [2451623.80984, 365242.37404, 0.05169, -0.00411, -0.00057]; +const jc2 = [2451716.56767, 365241.62603, 0.00325, 0.00888, -0.00030]; +const sc2 = [2451810.21715, 365242.01767, -0.11575, 0.00337, 0.00078]; +const dc2 = [2451900.05952, 365242.74049, -0.06223, -0.00823, 0.00032]; + +// table 27.c +const terms = (function () { + const term = [ + [485, 324.96, 1934.136], + [203, 337.23, 32964.467], + [199, 342.08, 20.186], + [182, 27.85, 445267.112], + [156, 73.14, 45036.886], + [136, 171.52, 22518.443], + [77, 222.54, 65928.934], + [74, 296.72, 3034.906], + [70, 243.58, 9037.513], + [58, 119.81, 33718.147], + [52, 297.17, 150.678], + [50, 21.02, 2281.226], + [45, 247.54, 29929.562], + [44, 325.15, 31555.956], + [29, 60.93, 4443.417], + [18, 155.12, 67555.328], + [17, 288.79, 4562.452], + [16, 198.04, 62894.029], + [14, 199.76, 31436.921], + [12, 95.39, 14577.848], + [12, 287.11, 31931.756], + [12, 320.81, 34777.259], + [9, 227.73, 1222.114], + [8, 15.45, 16859.074] + ]; + return term.map((t) => { + return { + a: t[0], + b: t[1], + c: t[2] + } + }) +})(); + +/** + * March returns the JDE of the March equinox for the given year. + * + * Results are valid for the years -1000 to +3000. + * + * Accuracy is within one minute of time for the years 1951-2050. + * @param {Number} y - (int) year + * @returns {Number} JDE + */ +function march (y) { + if (y < 1000) { + return eq(y, mc0) + } + return eq(y - 2000, mc2) +} + +/** + * June returns the JDE of the June solstice for the given year. + * + * Results are valid for the years -1000 to +3000. + * + * Accuracy is within one minute of time for the years 1951-2050. + * @param {Number} y - (int) year + * @returns {Number} JDE + */ +function june (y) { + if (y < 1000) { + return eq(y, jc0) + } + return eq(y - 2000, jc2) +} + +/** + * September returns the JDE of the September equinox for the given year. + * + * Results are valid for the years -1000 to +3000. + * + * Accuracy is within one minute of time for the years 1951-2050. + * @param {Number} y - (int) year + * @returns {Number} JDE + */ +function september (y) { + if (y < 1000) { + return eq(y, sc0) + } + return eq(y - 2000, sc2) +} + +/** + * December returns the JDE of the December solstice for a given year. + * + * Results are valid for the years -1000 to +3000. + * + * Accuracy is within one minute of time for the years 1951-2050. + * @param {Number} y - (int) year + * @returns {Number} JDE + */ +function december (y) { + if (y < 1000) { + return eq(y, dc0) + } + return eq(y - 2000, dc2) +} + +/** + * Fast calculation of solstices/ equinoxes + * Accuracy is within one minute of time for the years 1951-2050. + * + * @param {Number} y - (int) year + * @param {Array} c - term from table 27.a / 27.b + * @returns {Number} JDE + */ +function eq (y, c) { + const J0 = base["default"].horner(y * 0.001, c); + const T = base["default"].J2000Century(J0); + const W = 35999.373 * D2R * T - 2.47 * D2R; + const Δλ = 1 + 0.0334 * cos(W) + 0.0007 * cos(2 * W); + let S = 0; + for (let i = terms.length - 1; i >= 0; i--) { + const t = terms[i]; + S += t.a * cos((t.b + t.c * T) * D2R); + } + return J0 + 0.00001 * S / Δλ +} + +/** + * March2 returns a more accurate JDE of the March equinox. + * + * Result is accurate to one second of time. + * + * @param {Number} year - (int) year + * @param {planetposition.Planet} planet - must be a V87Planet object representing Earth, obtained with + * the package planetposition + * @returns {Number} JDE + */ +function march2 (year, planet) { + return longitude(year, planet, 0) +} + +/** + * June2 returns a more accurate JDE of the June solstice. + * + * Result is accurate to one second of time. + * + * @param {Number} year - (int) year + * @param {planetposition.Planet} planet - must be a V87Planet object representing Earth, obtained with + * the package planetposition + * @returns {Number} JDE + */ +function june2 (year, planet) { + return longitude(year, planet, Math.PI / 2) +} + +/** + * September2 returns a more accurate JDE of the September equinox. + * + * Result is accurate to one second of time. + * + * @param {Number} year - (int) year + * @param {planetposition.Planet} planet - must be a V87Planet object representing Earth, obtained with + * the package planetposition + * @returns {Number} JDE + */ +function september2 (year, planet) { + return longitude(year, planet, Math.PI) +} + +/** + * December2 returns a more accurate JDE of the December solstice. + * + * Result is accurate to one second of time. + * + * @param {Number} year - (int) year + * @param {planetposition.Planet} planet - must be a V87Planet object representing Earth, obtained with + * the package planetposition + * @returns {Number} JDE + */ +function december2 (year, planet) { + return longitude(year, planet, Math.PI * 3 / 2) +} + +/** + * Longitude returns the JDE for a given `year`, VSOP87 Planet `planet` at a + * given geocentric solar longitude `lon` + * @param {Number} year - (int) + * @param {planetposition.Planet} planet + * @param {Number} lon - geocentric solar longitude in radians + * @returns {Number} JDE + */ +function longitude (year, planet, lon) { + let c; + let ct; + + if (year < 1000) { + ct = [mc0, jc0, sc0, dc0]; + } else { + ct = [mc2, jc2, sc2, dc2]; + year -= 2000; + } + + lon = lon % (Math.PI * 2); + + if (lon < Math.PI / 2) { + c = ct[0]; + } else if (lon < Math.PI) { + c = ct[1]; + } else if (lon < Math.PI * 3 / 2) { + c = ct[2]; + } else { + c = ct[3]; + } + + return eq2(year, planet, lon, c) +} + +/** + * Accurate calculation of solstices/ equinoxes + * Result is accurate to one second of time. + * + * @param {Number} year - (int) year + * @param {planetposition.Planet} planet - vsop87 planet + * @param {Number} lon - longitude in radians + * @param {Array} c - term from table 27.a / 27.b + * @returns {Number} JDE + */ +function eq2 (year, planet, lon, c) { + let J0 = base["default"].horner(year * 0.001, c); + + for (;;) { + const a = solar["default"].apparentVSOP87(planet, J0); + const c = 58 * sin(lon - a.lon); // (27.1) p. 180 + J0 += c; + if (abs(c) < 0.000005) { + break + } + } + + return J0 +} + +var solstice = { + march, + june, + september, + december, + march2, + june2, + september2, + december2, + longitude +}; + +exports.december = december; +exports.december2 = december2; +exports["default"] = solstice; +exports.june = june; +exports.june2 = june2; +exports.longitude = longitude; +exports.march = march; +exports.march2 = march2; +exports.september = september; +exports.september2 = september2; + + +/***/ }), + +/***/ 3159: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module stellar + */ +/** + * Stellar: Chapter 56, Stellar Magnitudes. + */ + +/** + * Sum returns the combined apparent magnitude of two stars. + */ +function sum (m1, m2) { // (m1, m2 float64) float64 + const x = 0.4 * (m2 - m1); + return m2 - 2.5 * Math.log10(Math.pow(10, x) + 1) +} + +/** + * SumN returns the combined apparent magnitude of a number of stars. + */ +function sumN (m) { // (m ...float64) float64 + let s = 0; + for (const mi of m) { + s += Math.pow(10, -0.4 * mi); + } + return -2.5 * Math.log10(s) +} + +/** + * Ratio returns the brightness ratio of two stars. + * + * Arguments m1, m2 are apparent magnitudes. + */ +function ratio (m1, m2) { // (m1, m2 float64) float64 + const x = 0.4 * (m2 - m1); + return Math.pow(10, x) +} + +/** + * Difference returns the difference in apparent magnitude of two stars + * given their brightness ratio. + */ +function difference (ratio) { // (ratio float64) float64 + return 2.5 * Math.log10(ratio) +} + +/** + * AbsoluteByParallax returns absolute magnitude given annual parallax. + * + * Argument m is apparent magnitude, π is annual parallax in arc seconds. + */ +function absoluteByParallax (m, π) { // (m, π float64) float64 + return m + 5 + 5 * Math.log10(π) +} + +/** + * AbsoluteByDistance returns absolute magnitude given distance. + * + * Argument m is apparent magnitude, d is distance in parsecs. + */ +function absoluteByDistance (m, d) { // (m, d float64) float64 + return m + 5 - 5 * Math.log10(d) +} + +var stellar = { + sum, + sumN, + ratio, + difference, + absoluteByParallax, + absoluteByDistance +}; + +exports.absoluteByDistance = absoluteByDistance; +exports.absoluteByParallax = absoluteByParallax; +exports["default"] = stellar; +exports.difference = difference; +exports.ratio = ratio; +exports.sum = sum; +exports.sumN = sumN; + + +/***/ }), + +/***/ 379: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); + +/** + * @copyright 2013 Sonia Keys + * @copyright 2016 commenthol + * @license MIT + * @module sundial + */ + +/** + * Point return type represents a point to be used in constructing the sundial. + */ +function Point (x, y) { + this.x = x || 0; + this.y = y || 0; +} + +/** + * Line holds data to draw an hour line on the sundial. + */ +function Line (hour, points) { + this.hour = hour; // 0 to 24 + this.points = points || []; // One or more points corresponding to the hour. +} + +const m = [-23.44, -20.15, -11.47, 0, 11.47, 20.15, 23.44]; + +/** + * General computes data for the general case of a planar sundial. + * + * Argument φ is geographic latitude at which the sundial will be located. + * D is gnomonic declination, the azimuth of the perpendicular to the plane + * of the sundial, measured from the southern meridian towards the west. + * Argument a is the length of a straight stylus perpendicular to the plane + * of the sundial, z is zenithal distance of the direction defined by the + * stylus. Angles φ, D, and z are in radians. Units of stylus length a + * are arbitrary. + * + * Results consist of a set of lines, a center point, u, the length of a + * polar stylus, and ψ, the angle which the polar stylus makes with the plane + * of the sundial. The center point, the points defining the hour lines, and + * u are in units of a, the stylus length. ψ is in radians. + */ +function general (φ, D, a, z) { // (φ, D, a, z float64) (lines []Line, center Point, u, ψ float64) + const [sφ, cφ] = base["default"].sincos(φ); + const tφ = sφ / cφ; + const [sD, cD] = base["default"].sincos(D); + const [sz, cz] = base["default"].sincos(z); + const P = sφ * cz - cφ * sz * cD; + const lines = []; + for (let i = 0; i < 24; i++) { + const l = new Line(i); + const H = (i - 12) * 15 * Math.PI / 180; + const aH = Math.abs(H); + const [sH, cH] = base["default"].sincos(H); + for (const d of m) { + const tδ = Math.tan(d * Math.PI / 180); + const H0 = Math.acos(-tφ * tδ); + if (aH > H0) { + continue // sun below horizon + } + const Q = sD * sz * sH + (cφ * cz + sφ * sz * cD) * cH + P * tδ; + if (Q < 0) { + continue // sun below plane of sundial + } + const Nx = cD * sH - sD * (sφ * cH - cφ * tδ); + const Ny = cz * sD * sH - (cφ * sz - sφ * cz * cD) * cH - (sφ * sz + cφ * cz * cD) * tδ; + l.points.push(new Point(a * Nx / Q, a * Ny / Q)); + } + if (l.points.length > 0) { + lines.push(l); + } + } + const center = new Point(); + center.x = a / P * cφ * sD; + center.y = -a / P * (sφ * sz + cφ * cz * cD); + const aP = Math.abs(P); + const u = a / aP; + const ψ = Math.asin(aP); + return { + lines, + center, + length: u, + angle: ψ + } +} + +/** + * Equatorial computes data for a sundial level with the equator. + * + * Argument φ is geographic latitude at which the sundial will be located; + * a is the length of a straight stylus perpendicular to the plane of the + * sundial. + * + * The sundial will have two sides, north and south. Results n and s define + * lines on the north and south sides of the sundial. Result coordinates + * are in units of a, the stylus length. + */ +function equatorial (φ, a) { // (φ, a float64) (n, s []Line) + const tφ = Math.tan(φ); + const n = []; + const s = []; + for (let i = 0; i < 24; i++) { + const nl = new Line(i); + const sl = new Line(i); + const H = (i - 12) * 15 * Math.PI / 180; + const aH = Math.abs(H); + const [sH, cH] = base["default"].sincos(H); + for (const d of m) { + const tδ = Math.tan(d * Math.PI / 180); + const H0 = Math.acos(-tφ * tδ); + if (aH > H0) { + continue + } + const x = -a * sH / tδ; + const yy = a * cH / tδ; + if (tδ < 0) { + sl.points.push(new Point(x, yy)); + } else { + nl.points.push(new Point(x, -yy)); + } + } + if (nl.points.length > 0) { + n.push(nl); + } + if (sl.points.length > 0) { + s.push(sl); + } + } + return { + north: n, + south: s + } +} + +/** + * Horizontal computes data for a horizontal sundial. + * + * Argument φ is geographic latitude at which the sundial will be located, + * a is the length of a straight stylus perpendicular to the plane of the + * sundial. + * + * Results consist of a set of lines, a center point, and u, the length of a + * polar stylus. They are in units of a, the stylus length. + */ +function horizontal (φ, a) { // (φ, a float64) (lines []Line, center Point, u float64) + const [sφ, cφ] = base["default"].sincos(φ); + const tφ = sφ / cφ; + const lines = []; + for (let i = 0; i < 24; i++) { + const l = new Line(i); + const H = (i - 12) * 15 * Math.PI / 180; + const aH = Math.abs(H); + const [sH, cH] = base["default"].sincos(H); + for (const d of m) { + const tδ = Math.tan(d * Math.PI / 180); + const H0 = Math.acos(-tφ * tδ); + if (aH > H0) { + continue // sun below horizon + } + const Q = cφ * cH + sφ * tδ; + const x = a * sH / Q; + const y = a * (sφ * cH - cφ * tδ) / Q; + l.points.push(new Point(x, y)); + } + if (l.points.length > 0) { + lines.push(l); + } + } + const center = new Point(0, -a / tφ); + const u = a / Math.abs(sφ); + return { + lines, + center, + length: u + } +} + +/** + * Vertical computes data for a vertical sundial. + * + * Argument φ is geographic latitude at which the sundial will be located. + * D is gnomonic declination, the azimuth of the perpendicular to the plane + * of the sundial, measured from the southern meridian towards the west. + * Argument a is the length of a straight stylus perpendicular to the plane + * of the sundial. + * + * Results consist of a set of lines, a center point, and u, the length of a + * polar stylus. They are in units of a, the stylus length. + */ +function vertical (φ, D, a) { // (φ, D, a float64) (lines []Line, center Point, u float64) + const [sφ, cφ] = base["default"].sincos(φ); + const tφ = sφ / cφ; + const [sD, cD] = base["default"].sincos(D); + const lines = []; + for (let i = 0; i < 24; i++) { + const l = new Line(i); + const H = (i - 12) * 15 * Math.PI / 180; + const aH = Math.abs(H); + const [sH, cH] = base["default"].sincos(H); + for (const d of m) { + const tδ = Math.tan(d * Math.PI / 180); + const H0 = Math.acos(-tφ * tδ); + if (aH > H0) { + continue // sun below horizon + } + const Q = sD * sH + sφ * cD * cH - cφ * cD * tδ; + if (Q < 0) { + continue // sun below plane of sundial + } + const x = a * (cD * sH - sφ * sD * cH + cφ * sD * tδ) / Q; + const y = -a * (cφ * cH + sφ * tδ) / Q; + l.points.push(new Point(x, y)); + } + if (l.points.length > 0) { + lines.push(l); + } + } + const center = new Point(); + center.x = -a * sD / cD; + center.y = a * tφ / cD; + const u = a / Math.abs(cφ * cD); + return { + lines, + center, + length: u + } +} + +var sundial = { + general, + equatorial, + horizontal, + vertical +}; + +exports["default"] = sundial; +exports.equatorial = equatorial; +exports.general = general; +exports.horizontal = horizontal; +exports.vertical = vertical; + + +/***/ }), + +/***/ 3110: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var base = __nccwpck_require__(3823); +var eqtime = __nccwpck_require__(6695); +var sexagesimal = __nccwpck_require__(2038); +var solar = __nccwpck_require__(2332); +var julian = __nccwpck_require__(5246); +var rise = __nccwpck_require__(4824); + +/** + * @copyright 2016 commenthol + * @license MIT + * @module sunrise + */ + +const stdh0 = { + sunrise: new sexagesimal["default"].Angle(true, 0, 50, 0).rad(), + sunriseEnd: new sexagesimal["default"].Angle(true, 0, 18, 0).rad(), + twilight: new sexagesimal["default"].Angle(true, 6, 0, 0).rad(), + nauticalTwilight: new sexagesimal["default"].Angle(true, 12, 0, 0).rad(), + night: new sexagesimal["default"].Angle(true, 18, 0, 0).rad(), + goldenHour: new sexagesimal["default"].Angle(false, 6, 0, 0).rad() +}; + +const stdh0Sunrise = (refraction) => rise["default"].refraction(stdh0.sunrise, refraction); +const stdh0SunriseEnd = (refraction) => rise["default"].refraction(stdh0.sunriseEnd, refraction); +const stdh0Twilight = (refraction) => rise["default"].refraction(stdh0.twilight, refraction); +const stdh0NauticalTwilight = (refraction) => rise["default"].refraction(stdh0.nauticalTwilight, refraction); +const stdh0Night = (refraction) => rise["default"].refraction(stdh0.night, refraction); +const stdh0GoldenHour = (refraction) => rise["default"].refraction(stdh0.goldenHour, refraction); + +class Sunrise { + /** + * Computes time of sunrise, sunset for a given day `date` of an observer on earth given by latitude and longitude. + * Methods may return `undefined` instead of `julian.Calendar` for latitudes very near the poles. + * @param {julian.Calendar} date - calendar date + * @param {number} lat - latitude of observer in the range of (-89.6, 89.6) + * @param {number} lon - longitude of observer (measured positively westwards, New York = 40.7° lat, 74° lon) + * @param {number} [refraction] - optional refraction + */ + constructor (date, lat, lon, refraction) { + this.date = date; + this.jde = date.midnight().toJDE(); + this.lat = sexagesimal["default"].angleFromDeg(lat); + this.lon = sexagesimal["default"].angleFromDeg(lon); + this.refraction = refraction; + } + + _calcNoon (jde) { + const etime = sexagesimal["default"].secFromHourAngle(eqtime["default"].eSmart(jde)); + const delta = sexagesimal["default"].secFromHourAngle(this.lon); + const time = 43200 /* noon */ + delta - etime; // in seconds + return base["default"].pmod(time / 86400, 86400) + } + + _calcRiseOrSet (jde, h0, isSet) { + const etime = sexagesimal["default"].secFromHourAngle(eqtime["default"].eSmart(jde)); + const solarDec = solar["default"].apparentEquatorial(jde).dec; + let ha = rise["default"].hourAngle(this.lat, h0, solarDec); + if (isSet) ha = -ha; + const delta = sexagesimal["default"].secFromHourAngle(ha - this.lon); + const time = 43200 /* noon */ - delta - etime; // in seconds + return time / 86400 + } + + _calcPolarDayNight (h0, isSet, step) { + let jde = this.jde; + let t; + let failCnt = 0; + while (failCnt < 190) { // a bit more than days of half a year + jde += step; + try { + t = this._calcRiseOrSet(jde, h0, isSet); + t = this._calcRiseOrSet(jde + t, h0, isSet); + break + } catch (e) { + t = undefined; + failCnt++; + } + } + if (t === undefined) { + return + } + return new julian["default"].Calendar().fromJDE(jde + t) + } + + _calc (h0, isSet) { + let t; + const jde = this.jde; + // calc 2times for higher accuracy + try { + t = this._calcRiseOrSet(jde, h0, isSet); + t = this._calcRiseOrSet(jde + t, h0, isSet); + return new julian["default"].Calendar().fromJDE(jde + t) + } catch (e) { + let step = (isSet ? -1 : 1); + const doy = this.date.dayOfYear(); + if ( // overlap with march, september equinoxes + (this.lat > 0 && (doy > 76 && doy < 267)) || // northern hemisphere + (this.lat < 0 && (doy < 83 || doy > 262)) // southern hemisphere + ) { + step = -step; + } + return this._calcPolarDayNight(h0, isSet, step) + } + } + + /** + * time of solar transit + * @return {julian.Calendar} time of noon + */ + noon () { + const jde = this.jde; + // calc 2times for higher accuracy + let t = this._calcNoon(jde + this.lon / (2 * Math.PI)); + t = this._calcNoon(jde + t); + return new julian["default"].Calendar().fromJDE(jde + t) + } + + /** + * Solar limb appears over the easter horizon in the morning + * @return {julian.Calendar} time of sunrise + */ + rise () { + return this._calc(stdh0Sunrise(this.refraction), false) + } + + /** + * @return {julian.Calendar} time of sunset + * Solar limb disappears on the western horizon in the evening + */ + set () { + return this._calc(stdh0Sunrise(this.refraction), true) + } + + /** + * Solar limb is fully visible at the easter horizon + * @return {julian.Calendar} time of sunrise end + */ + riseEnd () { + return this._calc(stdh0SunriseEnd(this.refraction), false) + } + + /** + * Solar limb starts disappearing on the western horizon in the evening + * @return {julian.Calendar} time of sunset start + */ + setStart () { + return this._calc(stdh0SunriseEnd(this.refraction), true) + } + + /** + * Dawn, there is still enough light for objects to be distinguishable, + * @return {julian.Calendar} time of dawn + */ + dawn () { + return this._calc(stdh0Twilight(this.refraction), false) + } + + /** + * Dusk, there is still enough light for objects to be distinguishable + * Bright stars and planets are visible by naked eye + * @return {julian.Calendar} time of dusk + */ + dusk () { + return this._calc(stdh0Twilight(this.refraction), true) + } + + /** + * nautical dawn - Horizon gets visible by naked eye + * @return {julian.Calendar} time of nautical dawn + */ + nauticalDawn () { + return this._calc(stdh0NauticalTwilight(this.refraction), false) + } + + /** + * nautical dusk - Horizon is no longer visible by naked eye + * @return {julian.Calendar} time of nautical dusk + */ + nauticalDusk () { + return this._calc(stdh0NauticalTwilight(this.refraction), true) + } + + /** + * night starts - No sunlight illumination of the sky, such no intereferance + * with astronomical observations. + * @return {julian.Calendar} time of start of night + */ + nightStart () { + return this._calc(stdh0Night(this.refraction), true) + } + + /** + * night end - Sunlight starts illumination of the sky and interferes + * with astronomical observations. + * @return {julian.Calendar} time of end of night + */ + nightEnd () { + return this._calc(stdh0Night(this.refraction), false) + } + + /** + * Start of "golden hour" before sunset + * @return {julian.Calendar} time of start of golden hour + */ + goldenHourStart () { + return this._calc(stdh0GoldenHour(this.refraction), true) + } + + /** + * End of "golden hour" after sunrise + * @return {julian.Calendar} time of end of golden hour + */ + goldenHourEnd () { + return this._calc(stdh0GoldenHour(this.refraction), false) + } +} + +var sunrise = { + Sunrise +}; + +exports.Sunrise = Sunrise; +exports["default"] = sunrise; + + +/***/ }), + +/***/ 2537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var moment = __nccwpck_require__(7936); +var utils = __nccwpck_require__(2846); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment); + +const PROPS = ['year', 'month', 'day', 'hour', 'minute', 'second']; + +class CalDate { + /** + * constructs a new CalDate instance + * @param {Object|Date} [opts] - See `set(opts)` + * @example + * const CalDate = require('caldate') + * const caldate = new CalDate('2000-01-01 12:00:00') + * caldate.year + * //> 2000 + * caldate.month + * //> 1 + */ + constructor (opts) { + this.set(opts); + } + + static toYear (year) { + return utils.toYear(year) + } + + /** + * set calendar date + * @param {Object|Date} [opts] - defaults to `1900-01-01` + * @param {String} opts.year + * @param {String} opts.month - January equals to 1, December to 12 + * @param {String} opts.day + * @param {String} opts.hour + * @param {String} opts.minute + * @param {String} opts.second + * @param {String} opts.duration - defaults to 24 hours + */ + set (opts) { + opts = opts || { year: 1900, month: 1, day: 1 }; + if (utils.isDate(opts)) { + this.year = opts.getFullYear(); + this.month = opts.getMonth() + 1; + this.day = opts.getDate(); + this.hour = opts.getHours(); + this.minute = opts.getMinutes(); + this.second = opts.getSeconds(); + } else { + PROPS.forEach((p) => { + this[p] = utils.toNumber(opts[p]) || 0; + }); + this.month = this.month || 1; + this.day = this.day || 1; + } + this.duration = opts.duration || 24; // duration is in hours + return this + } + + /** + * checks if Date is equal to `calDate` + * @param {CalDate} calDate + * @return {Boolean} true if date matches + */ + isEqualDate (calDate) { + let res = true; + this.update() + ;['year', 'month', 'day'].forEach((p) => { + res &= (this[p] === calDate[p]); + }); + return !!res + } + + /** + * get day of week + * @return {Number} day of week 0=sunday, 1=monday, ... + */ + getDay () { + return this.toDate().getDay() + } + + /** + * set offset per unit + * @param {Number} number + * @param {String} [unit='d'] - Unit in days `d`, hours `h, minutes `m` + * @return {Object} this + */ + setOffset (number, unit) { + if (number) { + if (typeof number === 'object') { + unit = number.unit; + number = number.number; + } + unit = unit || 'd'; + number = parseFloat(number, 10); + if (isNaN(number)) { + throw new Error('Number required') + } + + const o = { day: 0 }; + if (unit === 'd') { + o.day = number | 0; + number -= o.day; + number *= 24; + } + if (unit === 'd' || unit === 'h') { + o.hour = (number % 24) | 0; + number -= o.hour; + number *= 60; + } + o.minute = (number % 60) | 0; + number -= o.minute; + number *= 60; + o.second = (number % 60) | 0; + + this.day += o.day; + this.hour += o.hour; + this.minute += o.minute; + this.second += o.second; + } + this.update(); + return this + } + + /** + * set time per hour, minute or second while maintaining duration at midnight + * @param {Number} [hour] + * @param {Number} [minute] + * @param {Number} [second] + * @return {Object} this + */ + setTime (hour, minute, second) { + hour = hour || 0; + minute = minute || 0; + second = second || 0; + // the holiday usually ends at midnight - if this is not the case set different duration explicitely + this.duration = 24 - (hour + minute / 60 + second / 3600); + this.hour = hour; + this.minute = minute; + this.second = second; + this.update(); + return this + } + + /** + * set duration in hours + * @param {Number} duration in hours + * @return {Object} this + */ + setDuration (duration) { + this.duration = duration; + return this + } + + /** + * update internal data to real date + * @return {Object} this + */ + update () { + if (this.year) { + const d = new CalDate(this.toDate()); + PROPS.forEach((p) => { + this[p] = d[p]; + }); + } + return this + } + + /** + * get end date of calendar date + * @return {CalDate} + */ + toEndDate () { + const d = new CalDate(this.toDate()); + d.minute += ((this.duration * 60) | 0); + d.update(); + return d + } + + /** + * move internal date to a date in `timezone` + * @param {String} timezone - e.g. 'America/New_York' + * @return {Date} + */ + toTimezone (timezone) { + if (timezone) { + return new Date(moment__default["default"].tz(this.toString(), timezone).format()) + } else { + return this.toDate() + } + } + + /** + * set date from a given `timezone` + * @param {Date} dateUTC - date in UTC + * @param {String} [timezone] - timezone of dateUTC, e.g. 'America/New_York' + * @return {CalDate} self + */ + fromTimezone (dateUTC, timezone) { + if (timezone) { + const m = moment__default["default"].tz(dateUTC, timezone); + this.year = m.year(); + this.month = m.month() + 1; + this.day = m.date(); + this.hour = m.hours(); + this.minute = m.minutes(); + this.second = m.seconds(); + } else { + this.set(dateUTC); + } + return this + } + + /** + * convert to Date + * @return {Date} + */ + toDate () { + return new Date( + this.year, this.month - 1, this.day, + this.hour, this.minute, this.second, 0 + ) + } + + /** + * get Date in ISO format + */ + toISOString () { + return this.toString(true) + } + + /** + * get Date as String `YYYY-MM-DD HH:MM:SS` + */ + toString (iso) { + const d = new CalDate(this.toDate()); + return ( + utils.pad0(d.year, 4) + '-' + + utils.pad0(d.month) + '-' + + utils.pad0(d.day) + + (iso ? 'T' : ' ') + + utils.pad0(d.hour) + ':' + + utils.pad0(d.minute) + ':' + + utils.pad0(d.second) + + (iso ? 'Z' : '') + ) + } +} + +exports.CalDate = CalDate; + + +/***/ }), + +/***/ 8597: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalDate = __nccwpck_require__(2537); + + + +module.exports = CalDate.CalDate; + + +/***/ }), + +/***/ 2846: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function objectToString (o) { + return Object.prototype.toString.call(o) +} + +function isObject (arg) { + return typeof arg === 'object' && arg !== null +} + +function isDate (d) { + return isObject(d) && objectToString(d) === '[object Date]' +} + +/** + * pad number with `0` + * @param {number} number + * @param {number} [len] - length + * @return {string} padded string + */ +function pad0 (number, len) { + len = len || 2; + number = Array(len).join('0') + number.toString(); + return number.substr(number.length - len, len) +} + +/** + * convert string to number + * @private + * @param {String} str + * @return {Number} converted number or undefined + */ +function toNumber (str) { + const num = parseInt(str, 10); + if (!isNaN(num)) { + return num + } +} + +/** + * extract or set year + * @private + * @param {Number|Date|String} year + * @return {Number} year + */ +function toYear (year) { + if (!year) { + year = new Date().getFullYear(); + } else if (isDate(year)) { + year = year.getFullYear(); + } else if (typeof year === 'string') { + year = toNumber(year); + } + return year +} + +exports.isDate = isDate; +exports.isObject = isObject; +exports.pad0 = pad0; +exports.toNumber = toNumber; +exports.toYear = toYear; + + +/***/ }), + +/***/ 7556: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * bengali names were taken from https://github.com/nuhil/bangla-calendar - MIT licensed + */ + +const monthNames = ['বৈশাখ', 'জ্যৈষ্ঠ', 'আষাঢ়', 'শ্রাবণ', 'ভাদ্র', 'আশ্বিন', 'কার্তিক', 'অগ্রহায়ণ', 'পৌষ', 'মাঘ', 'ফাল্গুন', 'চৈত্র']; +const weekDays = ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার']; +const seasonNames = ['গ্রীষ্ম', 'বর্ষা', 'শরৎ', 'হেমন্ত', 'শীত', 'বসন্ত']; + +const digits = ['০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯']; + +let banglas; + +const createBanglas = () => { + banglas = digits.reduce((o, c, i) => { + o[c] = i; + return o + }, {}); +}; + +const digitToBangla = number => String(number).replace(/\d/g, digit => digits[digit]); + +const banglaToDigit = bangla => { + if (!banglas) createBanglas(); // memoize + const month = monthNames.indexOf(bangla); + const str = month !== -1 + ? month + 1 + : String(bangla).replace(/./g, bangla => { + const r = banglas[bangla]; + return r !== undefined ? r : bangla + }); + return Number(str) +}; + +const weekDay = day => weekDays[day]; + +const monthName = month => monthNames[month - 1]; + +const seasonName = month => seasonNames[Math.floor((month - 1) / 2)]; // ('পৌষ' + 'মাঘ') = 'শীত'. Every consecutive two index in 'banglaMonths' indicates a single index in 'banglaSeasons'. + +exports.banglaToDigit = banglaToDigit; +exports.digitToBangla = digitToBangla; +exports.monthName = monthName; +exports.seasonName = seasonName; +exports.weekDay = weekDay; + + +/***/ }), + +/***/ 5497: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var convert = __nccwpck_require__(7556); + +/** + * @copyright 2018-present commenthol + * @license MIT + */ + +const YEAR0 = 593; +const MILLISECONDS_PER_DAY = 86400000; +const monthDaysNorm = [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30]; +const monthDaysLeap = [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 31, 30]; + +const isLeapYear = (year) => ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0); +const UTC6 = 6; // timezone offset UTC+6 +const toEpoch = year => Date.UTC(year, 3, 13, UTC6); + +class CalendarBengaliRevised { + /** + * @constructor + * @param {Number|String} year - bengali year + * @param {Number|String} month - (int) 1...12 + * @param {Number|String} day - 1...31 + * @return {Object} this + */ + constructor (year, month, day) { + Object.assign(this, { + year: convert.banglaToDigit(year), + month: convert.banglaToDigit(month) || 1, + day: convert.banglaToDigit(day) || 1 + }); + } + + /** + * convert gregorian date to bengali calendar date + * @param {Number} year - (int) year in Gregorian Calendar + * @param {Number} month - (int) + * @param {Number} day - (int) + * @return {Object} this + */ + fromGregorian (year, month, day) { + const monthDays = isLeapYear(year) + ? monthDaysLeap + : monthDaysNorm; + + let _year = year; + if (month < 4 || (month === 4 && day < 14)) { + _year -= 1; + } + this.year = _year - YEAR0; + + const date = Date.UTC(year, month - 1, day, UTC6); + let days = Math.floor((date - toEpoch(_year)) / MILLISECONDS_PER_DAY); + + for (let i = 0; i < monthDays.length; i++) { + if (days <= monthDays[i]) { + this.month = i + 1; + break + } + days -= monthDays[i]; + } + + this.day = days; + return this + } + + /** + * convert date to bengali calendar date + * @param {Date} date - javascript date object - uses local date + * @return {Object} this + */ + fromDate (date) { + return this.fromGregorian(date.getFullYear(), date.getMonth() + 1, date.getDate()) + } + + /** + * convert bengali date to gregorian date + * @return {Object} date in gregorian (preleptic) calendar + * {Number} year - (int) + * {Number} month - (int) 1...12 + * {Number} day - (int) 1...31 + */ + toGregorian () { + const date = this.toDate(); + return { + year: date.getUTCFullYear(), + month: date.getUTCMonth() + 1, + day: date.getUTCDate() + } + } + + /** + * convert bengali date to Date + * @return {Date} javascript date object in gregorian (preleptic) calendar + */ + toDate () { + const year = this.year + YEAR0; + const epoch = toEpoch(year); + const _year = this.month > 10 ? year + 1 : year; + const monthDays = isLeapYear(_year) + ? monthDaysLeap + : monthDaysNorm; + + let days = this.day; + for (let i = 0; i < this.month - 1; i++) { + days += monthDays[i]; + } + const date = new Date(days * MILLISECONDS_PER_DAY + epoch); + return date + } + + /** + * format date in bengali + * @param {String} formatStr - string formatter + * + * | Input | Description | + * | ----- | ------------ | + * | Y | Year with any number of digits and sign | + * | Q | Season Name | + * | M | Month number | + * | MMMM | Month name | + * | D | Day of month | + * | dddd | Day name | + * + * @return {String} + */ + format (formatStr) { + formatStr = formatStr || 'D M, Y'; + if (/dddd/.test(formatStr)) { + const date = this.toDate(); + formatStr = formatStr.replace(/dddd/g, convert.weekDay(date.getUTCDay())); + } + return formatStr + .replace(/Y/g, convert.digitToBangla(this.year)) + .replace(/Q/g, convert.seasonName(this.month)) + .replace(/MMMM/g, convert.monthName(this.month)) + .replace(/M/g, convert.digitToBangla(this.month)) + .replace(/D/g, convert.digitToBangla(this.day)) + } +} + +exports.CalendarBengaliRevised = CalendarBengaliRevised; +exports["default"] = CalendarBengaliRevised; + + +/***/ }), + +/***/ 5819: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var astronomia = __nccwpck_require__(4072); +var vsop87Bearth = __nccwpck_require__(4375); + +/** + * @copyright 2016 commenthol + * @license MIT + */ + +const earth = new astronomia.planetposition.Planet(vsop87Bearth.vsop87Bearth); +const lunarOffset = astronomia.moonphase.meanLunarMonth / 2; +const p = 180 / Math.PI; + +// Start of Chinese Calendar in 2636 BCE by Chalmers +const epochY = -2636; +const epoch = new astronomia.julian.CalendarGregorian(epochY, 2, 15).toJDE(); + +function toYear (jde) { + return new astronomia.julian.CalendarGregorian().fromJDE(jde).toYear() +} + +// prevent rounding errors +function toFixed (val, e) { + return parseFloat(val.toFixed(e), 10) +} + +class CalendarChinese { + /** + * constructor + * + * @param {Number|Array|Object} cycle - chinese 60 year cicle; if `{Array}` than `[cycle, year, ..., day]` + * @param {Number} year - chinese year of cycle + * @param {Number} month - chinese month + * @param {Number} leap - `true` if leap month + * @param {Number} day - chinese day + */ + constructor (cycle, year, month, leap, day) { + this.set(cycle, year, month, leap, day); + + this._epochY = epochY; + this._epoch = epoch; + this._cache = { // cache for results + lon: {}, + sue: {}, + ny: {} + }; + } + + /** + * set a new chinese date + * + * @param {Number|Array|Object} cycle - chinese 60 year cicle; if `{Array}` than `[cycle, year, ..., day]` + * @param {Number} year - chinese year of cycle + * @param {Number} month - chinese month + * @param {Number} leap - `true` if leap month + * @param {Number} day - chinese day + */ + set (cycle, year, month, leap, day) { + if (cycle instanceof CalendarChinese) { + this.cycle = cycle.cycle; + this.year = cycle.year; + this.month = cycle.month; + this.leap = cycle.leap; + this.day = cycle.day; + } else if (Array.isArray(cycle)) { + this.cycle = cycle[0]; + this.year = cycle[1]; + this.month = cycle[2]; + this.leap = cycle[3]; + this.day = cycle[4]; + } else { + this.cycle = cycle; + this.year = year; + this.month = month; + this.leap = leap; + this.day = day; + } + return this + } + + /** + * returns chinese date + * @returns {Array} + */ + get () { + return [this.cycle, this.year, this.month, this.leap, this.day] + } + + /** + * get Gregorian year from Epoch / Cycle + * @return {Number} year + */ + yearFromEpochCycle () { + return this._epochY + (this.cycle - 1) * 60 + (this.year - 1) + } + + /** + * convert gregorian date to chinese calendar date + * + * @param {Number} year - (int) year in Gregorian or Julian Calendar + * @param {Number} month - (int) + * @param {Number} day - needs to be in correct (chinese) timezone + * @return {Object} this + */ + fromGregorian (year, month, day) { + const j = this.midnight(new astronomia.julian.CalendarGregorian(year, month, day).toJDE()); + if (month === 1 && day <= 20) year--; // chinese new year never starts before 20/01 + this._from(j, year); + return this + } + + /** + * convert date to chinese calendar date + * + * @param {Date} date - javascript date object + * @return {Object} this + */ + fromDate (date) { + const j = this.midnight(new astronomia.julian.CalendarGregorian().fromDate(date).toJDE()); + this._from(j, date.getFullYear()); + return this + } + + /** + * convert JDE to chinese calendar date + * + * @param {Number} jde - date in JDE + * @return {Object} this + */ + fromJDE (jde) { + const j = this.midnight(jde); + const gc = new astronomia.julian.CalendarGregorian().fromJDE(j); + if (gc.month === 1 && gc.day < 20) gc.year--; // chinese new year never starts before 20/01 + this._from(j, gc.year); + return this + } + + /** + * common conversion from JDE, year to chinese date + * + * @private + * @param {Number} j - date in JDE + * @param {Number} year - gregorian year + */ + _from (j, year) { + let ny = this.newYear(year); + if (ny > j) { + ny = this.newYear(year - 1); + } + let nm = this.previousNewMoon(j); + if (nm < ny) { + nm = ny; + } + + const years = 1.5 + (ny - this._epoch) / astronomia.base.BesselianYear; + this.cycle = 1 + Math.trunc((years - 1) / 60); + this.year = 1 + Math.trunc((years - 1) % 60); + + this.month = this.inMajorSolarTerm(nm).term; + const m = Math.round((nm - ny) / astronomia.moonphase.meanLunarMonth); + if (m === 0) { + this.month = 1; + this.leap = false; + } else { + this.leap = this.isLeapMonth(nm); + } + + if (m > this.month) { + this.month = m; + } else if (this.leap) { + this.month--; + } + + this.day = 1 + Math.trunc(toFixed(j, 3) - toFixed(nm, 3)); + } + + /** + * convert chinese date to gregorian date + * + * @param {Number} [gyear] - (int) gregorian year + * @return {Object} date in gregorian (preleptic) calendar; Timezone is Standard Chinese / Bejing Time + * {Number} year - (int) + * {Number} month - (int) + * {Number} day - (int) + */ + toGregorian (gyear) { + const jde = this.toJDE(gyear); + const gc = new astronomia.julian.CalendarGregorian().fromJDE(jde + 0.5); // add 0.5 as day get truncated + return { + year: gc.year, + month: gc.month, + day: Math.trunc(gc.day) + } + } + + /** + * convert chinese date to Date + * + * @param {Number} [gyear] - (int) gregorian year + * @return {Date} javascript date object in gregorian (preleptic) calendar + */ + toDate (gyear) { + const jde = this.toJDE(gyear); + return new astronomia.julian.CalendarGregorian().fromJDE(toFixed(jde, 4)).toDate() + } + + /** + * convert chinese date to JDE + * + * @param {Number} [gyear] - (int) gregorian year + * @return {Number} date in JDE + */ + toJDE (gyear) { + const years = gyear || this.yearFromEpochCycle(); + const ny = this.newYear(years); + let nm = ny; + if (this.month > 1) { + nm = this.previousNewMoon(ny + this.month * 29); + const st = this.inMajorSolarTerm(nm).term; + const lm = this.isLeapMonth(nm); + + if (st > this.month) { + nm = this.previousNewMoon(nm - 1); + } else if (st < this.month || (lm && !this.leap)) { + nm = this.nextNewMoon(nm + 1); + } + } + if (this.leap) { + nm = this.nextNewMoon(nm + 1); + } + const jde = nm + this.day - 1; + return jde + } + + /** + * timeshift to UTC + * + * @param {CalendarGregorian} gcal - gregorian calendar date + * @return {Number} timeshift in fraction of day + */ + timeshiftUTC (gcal) { + if (gcal.toYear() >= 1929) { + return 8 / 24 // +8:00:00h Standard China time zone (120° East) + } + return 1397 / 180 / 24 // +7:45:40h Beijing (116°25´ East) + } + + /** + * time/date at midnight - truncate `jde` to actual day + * + * @param {Number} jde - julian ephemeris day + * @return {Number} truncated jde + */ + midnight (jde) { + const gcal = new astronomia.julian.CalendarGregorian().fromJDE(jde); + const ts = 0.5 - this.timeshiftUTC(gcal); + let mn = Math.trunc(gcal.toJD() - ts) + ts; + mn = gcal.fromJD(mn).toJDE(); + if (toFixed(jde, 5) === toFixed(mn, 5) + 1) { + return jde + } + return mn + } + + /** + * get major solar term `Z1...Z12` for a given date in JDE + * + * @param {Number} jde - date of new moon + * @returns {Number} major solar term part of that month + */ + inMajorSolarTerm (jde) { + const lon = this._cache.lon[jde] || astronomia.solar.apparentVSOP87(earth, jde).lon; + this._cache.lon[jde] = lon; + const lonDeg = lon * p - 1e-13; + const term = (2 + Math.floor(lonDeg / 30)) % 12 + 1; + return { term, lon: lonDeg } + } + + /** + * Test if date `jde` is inside a leap month + * `jde` and previous new moon need to have the same major solar term + * + * @param {Number} jde - date of new moon + * @returns {Boolean} `true` if previous new moon falls into same solar term + */ + isLeapMonth (jde) { + const t1 = this.inMajorSolarTerm(jde); + const next = this.nextNewMoon(this.midnight(jde + lunarOffset)); + const t2 = this.inMajorSolarTerm(next); + const r = (t1.term === t2.term); + return r + } + + /** + * next new moon since `jde` + * + * @param {Number} jde - date in julian ephemeris days + * @return {Number} jde at midnight + */ + nextNewMoon (jde) { + let nm = this.midnight(astronomia.moonphase.newMoon(toYear(jde))); + let cnt = 0; + while (nm < jde && cnt++ < 4) { + nm = this.midnight(astronomia.moonphase.newMoon(toYear(jde + cnt * lunarOffset))); + } + return nm + } + + /** + * next new moon since `jde` + * + * @param {Number} jde - date in julian ephemeris days + * @return {Number} jde at midnight + */ + previousNewMoon (jde) { + let nm = this.midnight(astronomia.moonphase.newMoon(toYear(jde))); + let cnt = 0; + while (nm > jde && cnt++ < 4) { + nm = this.midnight(astronomia.moonphase.newMoon(toYear(jde - cnt * lunarOffset))); + } + return nm + } + + /** + * chinese new year for a given gregorian year + * + * @param {Number} gyear - gregorian year (int) + * @param {Number} jde at midnight + */ + newYear (gyear) { + gyear = Math.trunc(gyear); + if (this._cache.ny[gyear]) return this._cache.ny[gyear] + + const sue1 = this._cache.sue[gyear - 1] || astronomia.solstice.december2(gyear - 1, earth); + const sue2 = this._cache.sue[gyear] || astronomia.solstice.december2(gyear, earth); + this._cache.sue[gyear - 1] = sue1; + this._cache.sue[gyear] = sue2; + + const m11n = this.previousNewMoon(this.midnight(sue2 + 1)); + const m12 = this.nextNewMoon(this.midnight(sue1 + 1)); + const m13 = this.nextNewMoon(this.midnight(m12 + lunarOffset)); + this.leapSui = Math.round((m11n - m12) / astronomia.moonphase.meanLunarMonth) === 12; + let ny = m13; + + if (this.leapSui && (this.isLeapMonth(m12) || this.isLeapMonth(m13))) { + ny = this.nextNewMoon(this.midnight(m13 + astronomia.moonphase.meanLunarMonth / 2)); + } + this._cache.ny[gyear] = ny; + return ny + } + + /** + * get solar term from solar longitude + * + * @param {Number} term - jiéqì solar term 1 .. 24 + * @param {Number} [gyear] - (int) gregorian year + * @returns {Number} jde at midnight + */ + solarTerm (term, gyear) { + if (gyear && term <= 3) gyear--; + const years = gyear || this.yearFromEpochCycle(); + const lon = (((term + 20) % 24) * 15) % 360; + let st = astronomia.solstice.longitude(years, earth, lon / p); + st = this.midnight(st); + return st + } + + /** + * get major solar term + * + * @param {Number} term - zhōngqì solar term Z1 .. Z12 + * @param {Number} [gyear] - (int) gregorian year + * @returns {Number} jde at midnight + */ + majorSolarTerm (term, gyear) { + return this.solarTerm(term * 2, gyear) + } + + /** + * get minor solar term + * + * @param {Number} term - jiéqì solar term J1 .. J12 + * @param {Number} [gyear] - (int) gregorian year + * @returns {Number} jde at midnight + */ + minorSolarTerm (term, gyear) { + return this.solarTerm(term * 2 - 1, gyear) + } + + /** + * Qı̄ngmíng - Pure brightness Festival + * + * @param {Number} [gyear] - (int) gregorian year + * @returns {Number} jde at midnight + */ + qingming (gyear) { + return this.solarTerm(5, gyear) + } +} + +module.exports = CalendarChinese; + + +/***/ }), + +/***/ 5731: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Chinese = __nccwpck_require__(5819); + +/** + * @copyright 2016 commenthol + * @license MIT + */ + +/** + * @see http://law.e-gov.go.jp/htmldata/M19/M19CO051.html + */ +const UTC_DATES = [ + { + date: new Date('1888-02-11T15:00:00.000Z'), // 1888-02-12T00:00:00+0900 + shift: 9 / 24 + } // +9:00:00h (135° East) Japanese standard meridian +]; + +/** + * Note: I could not find details about the epoch(s) for the year zero of the + * Japanese calendar dating before 1873. Therefore this calendar uses (wrongly) + * the Chinese epoch. + * + * According to the eras are: + * + * Yayoi 300 BC – 250 AD + * Kofun 250 – 538 + * Asuka 538 – 710 + * Nara 710 – 794 + * Heian 794 – 1185 + * Kamakura 1185 – 1333 + * Kenmu Restoration 1333 – 1336 + * Muromachi 1336 – 1573 + * Azuchi–Momoyama 1568 – 1603 + * Edo 1603 – 1868 + * Meiji 1868 – 1912 + * Taishō 1912 – 1926 + * Shōwa 1926 – 1989 + * Heisei 1989 – present + * + * Unfortunately the linking from era to calendar era (especially to the Chinese + * pre 1873 one) is unknown to me. + */ + +class CalendarJapanese extends Chinese { + /** + * timeshift to UTC + * + * @param {CalendarGregorian} gcal - gregorian calendar date + * @return {Number} timeshift in fraction of day + */ + timeshiftUTC (gcal) { + const date = gcal.toDate(); + for (const i in UTC_DATES) { + if (date >= UTC_DATES[i].date) { + return UTC_DATES[i].shift + } + } + return 4193 / 450 / 24 // +9:19:04h (139°46'E) + } +} + +module.exports = CalendarJapanese; + + +/***/ }), + +/***/ 7505: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var astronomia = __nccwpck_require__(4072); +var Chinese = __nccwpck_require__(5819); + +/** + * @copyright 2016 commenthol + * @license MIT + */ + +// Start of Korean Calendar in 2333 BCE (단군기원 http://ko.wikipedia.org/wiki/단기) +const epochY = -2333; +const epoch = new astronomia.julian.CalendarGregorian(epochY, 1, 27).toJDE(); + +/** + * change of timezone shifts during the last century + * @see https://en.wikipedia.org/wiki/Time_in_South_Korea + */ +const UTC_DATES = [ + { + date: new Date('1961-10-09T15:00:00.000Z'), // 1961-10-10T00:00:00+0900 + shift: 9 / 24 + }, // +9:00:00h (135° East) + { + date: new Date('1954-03-20T15:30:00.000Z'), // 1954-03-21T00:00:00+0830 + shift: 8.5 / 24 + }, + { + date: new Date('1911-12-31T15:00:00.000Z'), // 1912-01-01T00:00:00+0900 + shift: 9 / 24 + }, + { + date: new Date('1908-03-31T15:30:00.000Z'), // 1908-04-01T00:00:00+0830 + shift: 8.5 / 24 + } +]; + +class CalendarKorean extends Chinese { + constructor (cycle, year, month, leap, day) { + super(cycle, year, month, leap, day); + + this._epochY = epochY; + this._epoch = epoch; + } + + /** + * timeshift to UTC + * + * @param {CalendarGregorian} gcal - gregorian calendar date + * @return {Number} timeshift in fraction of day + */ + timeshiftUTC (gcal) { + const date = gcal.toDate(); + for (const i in UTC_DATES) { + if (date >= UTC_DATES[i].date) { + return UTC_DATES[i].shift + } + } + return 3809 / 450 / 24 // +8:27:52h Seoul City Hall 126°58'E + } +} + +module.exports = CalendarKorean; + + +/***/ }), + +/***/ 1223: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Chinese = __nccwpck_require__(5819); + +/** + * @copyright 2016 commenthol + * @license MIT + */ + +class CalendarVietnamese extends Chinese { + /** + * timeshift to UTC + * + * @param {CalendarGregorian} gcal - gregorian calendar date + * @return {Number} timeshift in fraction of day + */ + timeshiftUTC (gcal) { + if (gcal.toYear() >= 1968) { + return 7 / 24 // +7:00:00h + } + return 8 / 24 // +8:00:00h Standard China time zone (120° East) + } +} + +module.exports = CalendarVietnamese; + + +/***/ }), + +/***/ 2353: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var Chinese = __nccwpck_require__(5819); +var Korean = __nccwpck_require__(7505); +var Vietnamese = __nccwpck_require__(1223); +var Japanese = __nccwpck_require__(5731); + + + +exports.CalendarChinese = Chinese; +exports.CalendarKorean = Korean; +exports.CalendarVietnamese = Vietnamese; +exports.CalendarJapanese = Japanese; + + +/***/ }), + +/***/ 4375: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var _vsop87Bearth = __nccwpck_require__(1562); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _vsop87Bearth__default = /*#__PURE__*/_interopDefaultLegacy(_vsop87Bearth); + +const vsop87Bearth = _vsop87Bearth__default["default"]; + +exports.vsop87Bearth = vsop87Bearth; + + +/***/ }), + +/***/ 1873: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * @private + */ +function _toYear (year) { + if (!year) { + year = new Date().getFullYear(); + } else if (year instanceof Date) { + year = year.getFullYear(); + } else if (typeof year === 'string') { + year = parseInt(year, 10); + } + return year +} + +function pre (num, l) { + l = l || 2; + const s = '0000' + num; + return s.substr(s.length - l, l) +} + +class EasterDate { + constructor (year, month, day) { + this.year = year; + this.month = month; + this.day = day; + } + + toString () { + return [pre(this.year, 4), pre(this.month), pre(this.day)].join('-') + } +} + +/** + * from https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Osterformel + * ergänzte Formel + */ +function _easter (year, julian, gregorian) { + year = _toYear(year); + + const k = Math.floor(year / 100); + let m = 15 + Math.floor((3 * k + 3) / 4) - Math.floor((8 * k + 13) / 25); + let s = 2 - Math.floor((3 * k + 3) / 4); + if (julian) { + m = 15; + s = 0; + } + const a = year % 19; + const d = (19 * a + m) % 30; + const r = Math.floor((d + a / 11) / 29); + const og = 21 + d - r; + const sz = 7 - Math.floor(year + year / 4 + s) % 7; + const oe = 7 - (og - sz) % 7; + let os = og + oe; + if (gregorian) { + os = os + Math.floor(year / 100) - Math.floor(year / 400) - 2; + } + // 1 2 3 4 5 6 7 8 + const daysPerMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31]; + let day = os; + let month; + for (month = 3; month < 8; month++) { + if (day <= daysPerMonth[month]) { + break + } + day -= daysPerMonth[month]; + } + + return new EasterDate(year, month, day) +} + +/** + * Calculate easter sunday in the gregorian calendar + * @param {Date|Number} year + * @return {EasterDate} + */ +function gregorianEaster (year) { + return _easter(year) +} + +/** + * Calculate easter sunday in the gregorian calendar (Shortcut for + * `gregorianEaster`) + * @param {Date|Number} year + * @return {EasterDate} + */ +const easter = gregorianEaster; + +/** + * Calculate easter sunday in the julian calendar + * @param {Date|Number} year + * @return {EasterDate} + */ +function julianEaster (year) { + return _easter(year, true) +} + +/** + * Orthodox Easter in gregorian calender + * @param {Date|Number} year + * @return {EasterDate} + */ +function orthodoxEaster (year) { + return _easter(year, true, true) +} + +var index = { + easter, + gregorianEaster, + julianEaster, + orthodoxEaster +}; + +exports.EasterDate = EasterDate; +exports["default"] = index; +exports.easter = easter; +exports.gregorianEaster = gregorianEaster; +exports.julianEaster = julianEaster; +exports.orthodoxEaster = orthodoxEaster; + + +/***/ }), + +/***/ 9792: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalBengali = __nccwpck_require__(5497); +var CalDate = __nccwpck_require__(8597); +var CalEvent = __nccwpck_require__(2590); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalBengali__default = /*#__PURE__*/_interopDefaultLegacy(CalBengali); +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class BengaliRevised extends CalEvent { + /** + * @param {object} [opts] + */ + constructor (opts) { + opts = opts || {}; + super(opts); + } + + inYear (year) { + const opts = this.opts; + const date = new CalBengali__default["default"](year - 593, opts.month, opts.day).toGregorian(); + const d = new CalDate__default["default"](date); + this.dates.push(d); + return this + } +} + +module.exports = BengaliRevised; + + +/***/ }), + +/***/ 2590: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var utils = __nccwpck_require__(7797); +var CalDate = __nccwpck_require__(8597); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class CalEvent { + /** + * @param {object|Date} opts + * @param {string} opts.fn function type + * @param {number} [opts.day] + * @param {number} [opts.month] + * @param {number} [opts.year] + * @param {number} [opts.offset] + * @param {boolean} [opts.substitute] + */ + constructor (opts) { + opts = opts || {}; + this.substitute = opts.substitute; + this.opts = opts; + this.offset = opts.offset; + this.dates = []; + this.active = undefined; // active props from prior to rule + if (utils.isDate(opts)) { + this.opts = new CalDate__default["default"](opts); + } + } + + /** + * @param {number} year + * @returns {this} + */ + inYear (year) { + const d = (new CalDate__default["default"](this.opts)).setOffset(this.offset); + if (!(d.year && d.year !== year)) { + d.year = year; + this.dates.push(d); + } + return this + } + + reset () { + this.dates = []; + } + + /** + * @param {CalEvent} calEvent + * @returns {boolean} + */ + isEqualDate (calEvent) { + let res = false; + for (const thisDate of this.dates) { + for (const date of calEvent.dates) { + res |= thisDate.isEqualDate(date); + } + } + return !!res + } + + /** + * Filter out disabled dates + * @param {number} year + * @param {number} month + * @returns {this} + */ + filterDisabled (year, month) { + if (!year) { + return this + } + + this.dates = this.dates.filter((date) => { + const disable = month + ? date.year === year && date.month === month + : date.year === year; + return !disable + }); + + return this + } + + /** + * @param {number} year - year to filter + * @param {object[]} active - definition of active ranges `{from: {Date}, [to]: {Date}}` + * @return {this} for chaining + */ + filterActive (year, active = this.active) { + this.dates = this.dates.filter((date) => { + if (!date._filter && isActive(date, year, active)) { + return date + } + }); + + return this + } + + /** + * @param {object} active + * @param {Date} [active.from ] + * @param {Date} [active.to] + * @returns + */ + setActive (active) { + const { from, to } = active; + let pushIt = true; + this.active = this.active || []; + if (to && !from) { + const last = this.active[this.active.length - 1]; + if (last && last.from && !last.to) { + last.to = to; + pushIt = false; + } + } + if (pushIt) { + this.active.push(active); + } + + return this + } + + /** + * @param {CalEvent} calEvent + */ + push (calEvent) { + if (calEvent && Array.isArray(calEvent.dates)) { + this.dates = this.dates.concat(calEvent.dates); + } + } + + /** + * @param {string} timezone + * @returns + */ + get (timezone) { + const arr = this.dates.map((date) => { + const cdate = new CalDate__default["default"](date); + const o = { + date: cdate.toString(), + start: cdate.toTimezone(timezone), + end: cdate.toEndDate().toTimezone(timezone) + }; + this._addSubstitute(date, o); + return o + }); + return arr + } + + _addSubstitute (date, obj) { + if (this.substitute || date.substitute) obj.substitute = true; + } +} + +function isActive (date, year, active) { + if (!active) { + return date.year === year + } + const _date = date.toDate(); + for (const a of active) { + const { from, to } = a; + if ( + date.year === year && + ((from && to && from <= _date && to > _date) || + (from && !to && from <= _date) || + (!from && to && to > _date)) + ) { + return true + } + } +} + +module.exports = CalEvent; + + +/***/ }), + +/***/ 3983: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const CalEvent = __nccwpck_require__(2590) +const Easter = __nccwpck_require__(5740) + +// --- pre-processor instructions for prepin --- +// #ifndef nojulian +const Julian = __nccwpck_require__(8642) +// #endif +// #ifndef nojalaali +const Jalaali = __nccwpck_require__(9379) +// #endif +// #ifndef nohebrew +const Hebrew = __nccwpck_require__(1088) +// #endif +// #ifndef noislamic +const Hijri = __nccwpck_require__(8610) +// #endif +// #ifndef noequinox +const Equinox = __nccwpck_require__(5689) +// #endif +// #ifndef nochinese +const Chinese = __nccwpck_require__(5288) +// #endif +// #ifndef nobengali +const BengaliRevised = __nccwpck_require__(9792) +// #endif + +/* eslint spaced-comment:0 */ + +class CalEventFactory { + constructor (opts) { + switch (opts.fn) { + case 'easter': + return new Easter(opts) + // #ifndef nojulian + case 'julian': + return new Julian(opts) + // #endif + // #ifndef nohebrew + case 'hebrew': + return new Hebrew(opts) + // #endif + // #ifndef noislamic + case 'islamic': + return new Hijri(opts) + // #endif + // #ifndef nojalaali + case 'jalaali': + return new Jalaali(opts) + // #endif + // #ifndef noequinox + case 'equinox': + return new Equinox(opts) + // #endif + // #ifndef nochinese + case 'chinese': + case 'korean': + case 'vietnamese': + return new Chinese(opts) + // #endif + // #ifndef nobengali + case 'bengali-revised': + return new BengaliRevised(opts) + // #endif + default: + return new CalEvent(opts) + } + } +} + +module.exports = CalEventFactory + + +/***/ }), + +/***/ 7940: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalEvent = __nccwpck_require__(2590); +var CalDate = __nccwpck_require__(8597); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +/** + * Mapper class for mapped calenders like hijri and hebrew + * `this.calender` needs to be set in child classes + */ +class CalEventMap extends CalEvent { + constructor (opts) { + super(opts); + this.calendar = {}; + } + + inYear (year) { + if (!(this.calendar[year] && this.calendar[year + 1] && this.calendar[year - 1])) { + return this + } + + for (let y = year - 1; y <= year + 1; y++) { + // resolve date in `calendar` as gregorian date + const firstDays = this.calendar[y][this.opts.month - 1]; + // firstDays `[M, D, diffYear, ...] | null` + if (!firstDays) { + continue + } + for (let i = 0; i < firstDays.length; i += 3) { + if (this.opts.year) { + const calYear = this.calendar.year + firstDays[i + 2]; + if (this.opts.year !== calYear) { + continue + } + } + const d = (new CalDate__default["default"]({ + year: y, + month: firstDays[i] + 1, + day: firstDays[i + 1] + })).setOffset(this.opts.day - 1); + + if (d.year === year) { + this.dates.push(d); + } + } + } + return this + } +} + +module.exports = CalEventMap; + + +/***/ }), + +/***/ 5288: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var dateChinese = __nccwpck_require__(2353); +var CalEvent = __nccwpck_require__(2590); +var CalDate = __nccwpck_require__(8597); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class Chinese extends CalEvent { + /** + * @param {object} [opts] + */ + constructor (opts) { + opts = opts || {}; + super(opts); + switch (opts.fn) { + case 'chinese': + this.cal = new dateChinese.CalendarChinese(); + break + case 'korean': + this.cal = new dateChinese.CalendarKorean(); + break + case 'vietnamese': + this.cal = new dateChinese.CalendarVietnamese(); + break + } + } + + inYear (year) { + let d; + let jde; + let date; + const opts = this.opts; + if (opts.solarterm) { + jde = this.cal.solarTerm(opts.solarterm, year); + date = this.cal.fromJDE(jde).toGregorian(); + d = new CalDate__default["default"](date).setOffset(opts.day - 1); + } else { + this.cal.set(opts.cycle, opts.year, opts.month, opts.leapMonth, opts.day); + jde = this.cal.toJDE(year); + date = this.cal.fromJDE(jde).toGregorian(); + d = new CalDate__default["default"](date); + } + + this.dates.push(d); + return this + } +} + +module.exports = Chinese; + + +/***/ }), + +/***/ 9760: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var utils = __nccwpck_require__(4801); + +/** + * Handler for holiday data provided in the Json file + * @class + * @param {Object} [data] + * @param {Object|String} [country] + * @param {String} [state] + * @param {String} [region] + */ +class Data { + constructor (data, country, state, region) { + this.opts = Data.splitName(country, state, region) || {}; + this.data = data || {}; + } + + /** + * get all countries from the data + * @param {String} lang - Iso-639 shortcode + * @return {Object} shortcode-name value pairs. E.g. `{ AT: 'Österreich', ... }` + */ + getCountries (lang) { + const o = {}; + const countries = utils["default"].get(this.data, 'holidays', {}); + Object.keys(countries).forEach((country) => { + o[country] = this._name(countries, country, lang, { country }); + }); + return o + } + + /** + * get all states for a given country from the data + * @param {String|Object} country + * @param {String} [lang] - Iso-639 shortcode + * @return {Object} shortcode-name value pairs. E.g. `{ b: 'Burgenland', ... }` + */ + getStates (country, lang) { + const opts = Object.assign({}, Data.splitName(country)); + const states = utils["default"].get(this.data, ['holidays', opts.country, 'states']) || + utils["default"].get(this.data, ['holidays', opts.country, 'regions']); + if (states) { + const o = {}; + Object.keys(states).forEach((state) => { + opts.state = state; + o[state] = this._name(states, state, lang, opts); + }); + return o + } + } + + /** + * get all regions for a given country/ state from the data + * @param {String} country + * @param {String} state + * @param {String} [lang] - Iso-639 shortcode + * @return {Object} shortcode-name value pairs. + */ + getRegions (country, state, lang) { + const opts = Object.assign({}, Data.splitName(country, state)); + const regions = utils["default"].get(this.data, ['holidays', opts.country, 'states', opts.state, 'regions']); + + if (regions) { + const o = {}; + Object.keys(regions).forEach((region) => { + opts.region = region; + o[region] = this._name(regions, region, lang, opts); + }); + return o + } + } + + /** + * @private + */ + _name (obj, key, lang, opts) { + const names = obj[key].names; + const _lang = lang || this.getLanguages(opts)[0] || Object.keys(names)[0]; + const mlang = Data.majorLang(_lang); + const name = obj[key].name || names[_lang] || names[mlang] || names[Object.keys(names)[0]]; + return name + } + + /** + * get languages for selected country, state, region + * @return {Array} containing ISO 639-1 language shortcodes + */ + getLanguages (opts) { + return this._getValue('langs', opts) || [] + } + + /** + * get default day off as weekday + * @return {String} weekday of day off + */ + getDayOff () { + return this._getValue('dayoff') + } + + /** + * get timezones for country, state, region + * @return {Array} of {String}s containing the timezones + */ + getTimezones () { + return this._getValue('zones') || [] + } + + /** + * get list of raw holiday rules for country/ state/ region + * @param {Object|String} [country] + * @param {String} [state] + * @param {String} [region] + * @return {Object} holidayname <-> unparsed rule or date pairs + */ + getRules (country, state, region) { + const rules = {}; + const opts = Data.splitName(country, state, region) || this.opts; + + if (!(opts && opts.country)) { + return rules + } + + country = opts.country.toUpperCase(); + state = opts.state; + region = opts.region; + let tmp = utils["default"].get(this.data, ['holidays', country]); + + if (tmp) { + this._assign(rules, tmp); + if ((state && tmp.regions && (tmp = tmp.regions[state])) || + (state && tmp.states && (tmp = tmp.states[state])) + ) { + this._assign(rules, tmp); + if (region && tmp.regions && (tmp = tmp.regions[region])) { + this._assign(rules, tmp); + } + } + Object.keys(rules).forEach((key) => { + // assign name references with `_name` + const _name = rules[key]._name; + if (_name && this.data.names[_name]) { + delete rules[key]._name; + rules[key] = utils["default"].merge({}, this.data.names[_name], rules[key]); + } + }); + } + + return rules + } + + /** + * get name for substitute name + * @return {Object} translations of substitute day names + */ + getSubstitueNames () { + return utils["default"].get(this.data, ['names', 'substitutes', 'name']) + } + + /** + * helper to assign objects based on properties + * @private + * @param {Object} out - object where obj gets assigned into + * @param {Object} obj - input obj + * @return {Object} + */ + _assign (out, obj) { + let days = {}; + if (obj._days) { // resolve reference + const path = ['holidays'].concat(obj._days, 'days'); + const ref = utils["default"].get(this.data, path); + if (!ref) throw new Error('unknown path for _days: ' + path.join('.')) + days = Object.assign({}, ref); + } + if (days || obj.days) { + days = Object.assign(days, obj.days); + Object.keys(days).forEach(function (p) { + if (days[p] === false) { // remove rules + if (out[p]) { + delete out[p]; + } + return + } + out[p] = Object.assign({}, out[p], days[p]); + if (!days[p].type) { + out[p].type = 'public'; + } + }); + } + return out + } + + /** + * get a object from the data tree + * @private + * @param {String} key - key to look at + * @return {Object} return object + */ + _getValue (key, opts = this.opts) { + return ( + utils["default"].get(this.data, ['holidays', opts.country, 'states', opts.state, 'regions', opts.regions, key]) || + utils["default"].get(this.data, ['holidays', opts.country, 'states', opts.state, key]) || + utils["default"].get(this.data, ['holidays', opts.country, key]) + ) + } +} + +// static functions +/** + * split country state names if they appear in concatenated format e.g. 'at.b' + * @param {String|Object} country + * @param {String} [state] + * @param {String} [region] + * @return {Object} + */ +Data.splitName = function (country, state, region) { + if (typeof country === 'object' && country.country) { + return toUpperCase(country) + } else if (typeof country === 'string') { + const a = country.split(/[.-]/); + const o = { + country: a.shift(), + state: a.shift() || state, + region: a.shift() || region + }; + return toUpperCase(o) + } +}; + +Data.majorLang = function (lang) { + return (lang || '').split(/-/)[0] +}; + +/** + * @private + */ +function toUpperCase (obj) { +['country', 'state', 'region'].forEach(key => { + if (typeof obj[key] === 'string') { + obj[key] = obj[key].toUpperCase(); + } + }); + return obj +} + +module.exports = Data; + + +/***/ }), + +/***/ 8952: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Parser = __nccwpck_require__(7043); +var Rule = __nccwpck_require__(7333); +var PostRule = __nccwpck_require__(202); +var CalEventFactory = __nccwpck_require__(3983); + +/** + * handles one rule + */ +class DateFn { + /** + * @param {string} rule - unparsed rule + * @param {array} holidays - all holidays rules (required for bridge day calculations) + */ + constructor (ruleStr, holidays) { + const parser = new Parser(); + this.ruleStr = ruleStr; + this.rules = parser.parse(ruleStr); + this.ok = !parser.error; + this.holidays = holidays; + this.opts = holidays ? holidays[ruleStr] : {}; + this.event = undefined; + this.cache = new Map(); + } + + /** + * @param {number} year + * @returns {this} + */ + inYear (year) { + if (this.cache.has(year)) { + this.event = this.cache.get(year); + return this + } + + let ruleFn; // current rule + const postProc = new PostRule(this.ruleStr, this.opts, this.holidays); + + this.rules.forEach((rule) => { + if (rule.fn) { + const calEvent = new CalEventFactory(rule) + .inYear(year - 1) // run over neighboring dates to catch overlaps + .inYear(year) + .inYear(year + 1); + postProc.push(calEvent); + ruleFn = new Rule(calEvent); + } else { + if (ruleFn.resolve(rule)) { + postProc.resolve(rule, year); + } + } + }); + + const event = postProc.getEvent(year); + this.cache.set(year, event); + + this.event = event; + return this + } + + get (timezone) { + return this.event.get(timezone) + } +} + +module.exports = DateFn; + + +/***/ }), + +/***/ 5740: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var easter = __nccwpck_require__(1873); +var CalDate = __nccwpck_require__(8597); +var CalEvent = __nccwpck_require__(2590); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var easter__default = /*#__PURE__*/_interopDefaultLegacy(easter); +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class Easter extends CalEvent { + /** + * @param {object} [opts] + * @param {string} opts.type - type of eastern (easter|orthodox) + * @param {number|string} opts.offset - offset in days + */ + constructor (opts) { + opts = opts || {}; + super(opts); + + this._fn = easter__default["default"].easter; + if (opts.type === 'orthodox') { + this._fn = easter__default["default"].orthodoxEaster; + } + } + + inYear (year) { + const d = (new CalDate__default["default"](this._fn(year))).setOffset(this.offset); + this.dates.push(d); + return this + } +} + +module.exports = Easter; + + +/***/ }), + +/***/ 5689: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var astronomia = __nccwpck_require__(4072); +var vsop87Bearth = __nccwpck_require__(5154); +var moment = __nccwpck_require__(7936); +var CalDate = __nccwpck_require__(8597); +var CalEvent = __nccwpck_require__(2590); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment); +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +const earth = new astronomia.planetposition.Planet(vsop87Bearth.vsop87Bearth); + +class Equinox extends CalEvent { + /** + * @param {object} [opts] + * @param {string} opts.season - type of season (spring|summer|autumn|winter) + * @param {number|string} opts.offset - offset in days + */ + constructor (opts) { + opts = opts || {}; + super(opts); + + this._season = opts.season; + this._timezone = opts.timezone || 'GMT'; + } + + inYear (year) { + let jde; + switch (this._season) { + case 'march': { + jde = astronomia.solstice.march2(year, earth); + break + } + case 'june': { + jde = astronomia.solstice.june2(year, earth); + break + } + case 'september': { + jde = astronomia.solstice.september2(year, earth); + break + } + case 'december': { + jde = astronomia.solstice.december2(year, earth); + break + } + } + + const str = new astronomia.julian.Calendar().fromJDE(jde).toDate().toISOString(); + let date; + if (/^[+-]\d{2}:\d{2}?$/.test(this._timezone)) { // for '+08:00' formats + date = moment__default["default"](str).utcOffset(this._timezone); + } else { // for 'Asia/Shanghai' formats + date = moment__default["default"](str).tz(this._timezone); // move to timezone + } + + const floorDate = { + year, + month: date.month() + 1, + day: date.date() + }; + + const d = new CalDate__default["default"](floorDate).setOffset(this.offset); + this.dates.push(d); + return this + } +} + +module.exports = Equinox; + + +/***/ }), + +/***/ 1088: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalDate = __nccwpck_require__(8597); +var CalEventMap = __nccwpck_require__(7940); +var hebrewCalendar = __nccwpck_require__(6197); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class Hebrew extends CalEventMap { + constructor (opts) { + super(opts); + this.calendar = hebrewCalendar.calendar; + } + + get (timezone) { + const arr = this.dates.map((date) => { + const cdate = new CalDate__default["default"](date); + const o = { + date: cdate.toString() + ' -0600', + start: cdate.setOffset(-6, 'h').toTimezone(timezone), + end: cdate.toEndDate().toTimezone(timezone) + }; + this._addSubstitute(date, o); + return o + }); + return arr + } +} + +module.exports = Hebrew; + + +/***/ }), + +/***/ 8610: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalDate = __nccwpck_require__(8597); +var CalEventMap = __nccwpck_require__(7940); +var hijriCalendar = __nccwpck_require__(2435); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class Hijri extends CalEventMap { + constructor (opts) { + super(opts); + this.calendar = hijriCalendar.calendar; + } + + get (timezone) { + const arr = this.dates.map((date) => { + const cdate = new CalDate__default["default"](date); + const o = { + date: cdate.toString() + ' -0600', + start: cdate.setOffset(-6, 'h').toTimezone(timezone), + end: cdate.toEndDate().toTimezone(timezone) + }; + this._addSubstitute(date, o); + return o + }); + return arr + } +} + +module.exports = Hijri; + + +/***/ }), + +/***/ 2557: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var utils = __nccwpck_require__(7797); + +/** + * Holiday Rule + * Apart from `rule` and `name` other options may be set + * @constructor + * @param {object} ruleObj + * @param {string} ruleObj.rule - the rule string + * @param {string|object} [ruleObj.name] - the name of the holiday, plain or with i18n + * @param {string} [ruleObj.type] - type of holiday + * @param {boolean} [ruleObj.substitute] - substitute holiday + * @param {object[]} [ruleObj.active] - active `[{from?: str, to?: str}]` + */ +class HolidayRule { + constructor (ruleObj) { + const { rule, fn, opts, ...other } = ruleObj; + Object.assign(this, { rule, ...other }); + } + + /** + * disable rule in year (month) + * @param {number} year + * @param {number} [month] - 1..12 + */ + disableIn (year, month) { + if (!utils.toNumber(year)) return + month = month < 1 && month > 12 + ? undefined + : month < 10 ? '0' + Number(month) : month; + const dateStr = [year, month].filter(Boolean).join('-'); + this.disable = (this.disable || []).concat(dateStr).sort(); + } +} + +exports.HolidayRule = HolidayRule; + + +/***/ }), + +/***/ 9234: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var CalDate = __nccwpck_require__(8597); +var utils = __nccwpck_require__(4801); +var utils$1 = __nccwpck_require__(7797); +var Data = __nccwpck_require__(9760); +var DateFn = __nccwpck_require__(8952); +var HolidayRule = __nccwpck_require__(2557); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +/** + * @copyright 2016- (c) commenthol + * @license ISC + */ + +// priority in ascending order (low ... high) +const TYPES = ['observance', 'optional', 'school', 'bank', 'public']; + +/** + * @class + * @param {Object} data - holiday data object - see data/holidays.json + * @param {String|Object} country - if object, use `{ country: {String}, state: {String}, region: {String} }` + * @param {String} [state] - specifies state + * @param {String} [region] - specifies region + * @param {Object} [opts] - options + * @param {Array|String} opts.languages - set language(s) with ISO 639-1 shortcodes + * @param {String} opts.timezone - set timezone + * @param {Array} opts.types - holiday types to consider + * @example + * ```js + * new Holiday(data, 'US', 'la', 'no') // is the same as + * new Holiday(data, 'us.la.no') // is the same as + * new Holiday(data, { country: 'us', state: 'la', region: 'no'}) + * ``` + */ +class Holidays { + constructor (data, country, state, region, opts) { + if (!data) { + throw new TypeError('need holiday data') + } + this._data = data; + this.init(country, state, region, opts); + } + + /** + * initialize holidays for a country/state/region + * @param {String|Object} country - if object, use `{ country: {String}, state: {String}, region: {String} }` + * @param {String} [state] - specifies state + * @param {String} [region] - specifies region + * @param {Object} [opts] - options + * @param {Array|String} [opts.languages] - set language(s) with ISO 639-1 shortcodes + * @param {String} [opts.timezone] - set timezone + * @param {Array} [opts.types] - holiday types to consider; priority is in ascending order (low ... high) + */ + init (...args) { + const [country, state, region, opts] = getArgs(...args); + + // reset settings + this.__conf = null; + this.__types = opts.types && opts.types.length ? opts.types : TYPES; + this.holidays = {}; + this.setLanguages(); + + this.__conf = Data.splitName(country, state, region); + this.__data = new Data(opts.data || this._data, this.__conf); + + if (opts.languages) { + this.setLanguages(opts.languages); + } else { + this.setLanguages(this.__data.getLanguages(this.__conf)); + } + + const holidays = this.__data.getRules(); + if (holidays) { + this.__timezone = opts.timezone || this.__data.getTimezones()[0]; + Object.keys(holidays).forEach((rule) => { + this.setHoliday(rule, holidays[rule]); + }); + return true + } + } + + /** + * set (custom) holiday + * @throws {TypeError} + * @param {String} rule - rule for holiday (check supported grammar) or date in ISO Format, e.g. 12-31 for 31st Dec + * @param {Object|String} [opts] - holiday options (if String, then opts is used as name) + * @param {Object} opts.name - translated holiday names e.g. `{ en: 'name', es: 'nombre', ... }` + * @param {String} opts.type - holiday type `public|bank|school|observance` + * @returns {Boolean} `true` if holiday could be set + */ + setHoliday (rule, opts) { + // remove days + if (opts === false) { + if (this.holidays[rule]) { + this.holidays[rule] = false; + return true + } + return false + } + + // assign a name to rule + if (!opts || typeof opts === 'string') { + opts = opts || rule; + const lang = this.getLanguages()[0]; + opts = utils["default"].set({ type: 'public' }, ['name', lang], opts); + } + + // convert active properties to Date + if (opts.active) { + if (!Array.isArray(opts.active)) { + throw TypeError('.active is not of type Array: ' + rule) + } + opts.active = opts.active.map((a) => { + const from = utils$1.toDate(a.from); + const to = utils$1.toDate(a.to); + if (!(from || to)) { + throw TypeError('.active needs .from or .to property: ' + rule) + } + return { from, to } + }); + } + + // check for supported type + if (!this.__types.includes(opts.type)) { + return false + } + + this.holidays[rule] = opts; + + const fn = new DateFn(rule, this.holidays); + if (fn.ok) { + this.holidays[rule].fn = fn; + return true + } else { + // throw Error('could not parse rule: ' + rule) // NEXT + console.error('could not parse rule: ' + rule); // eslint-disable-line + } + return false + } + + /** + * get all holidays for `year` with names using preferred `language` + * @param {String|Date} [year] - if omitted, the current year is chosen + * @param {String} [language] - ISO 639-1 code for language + * @returns {Holiday[]} of found holidays in given year sorted by Date: + * ``` + * {String} date - ISO Date String of (start)-date in local format + * {Date} start - start date of holiday + * {Date} end - end date of holiday + * {String} name - name of holiday using `language` (if available) + * {String} type - type of holiday `public|bank|school|observance` + * ``` + */ + getHolidays (year, language) { + year = utils$1.toYear(year); + + const langs = this.getLanguages(); + if (language) { + langs.unshift(language); + } + + const startSorter = (a, b) => (+a.start) - (+b.start); + const typeIndex = (a) => this.__types.indexOf(a.type); + const typeSorter = (a, b) => typeIndex(b) - typeIndex(a); + const ruleIndex = (a) => /substitutes|and if /.test(a.rule) ? 1 : 0; + const ruleLength = (a) => String(a.rule || '').length; + const ruleSorter = (a, b) => ruleIndex(a) - ruleIndex(b) || ruleLength(a) - ruleLength(b); + + const filterMap = {}; + + const arr = Object.keys(this.holidays) + .reduce((arr, rule) => { + if (this.holidays[rule].fn) { + this._dateByRule(year, rule).forEach((o) => { + arr.push({ ...this._translate(o, langs), rule }); + }); + } + return arr + }, []) + // sort by date and type to filter by duplicate + .sort((a, b) => startSorter(a, b) || typeSorter(a, b) || ruleSorter(a, b)) + .filter(item => { + const hash = item.name + (+item.start); + if (!filterMap[hash]) { + filterMap[hash] = true; + return true + } + return false + }); + + return arr + } + + /** + * check whether `date` is a holiday or not + * @param {Date|String} [date] + * @returns {Holiday[]|false} holiday: + * ``` + * {String} date - ISO Date String of (start)-date in local format + * {Date} start - start date of holiday + * {Date} end - end date of holiday + * {String} name - name of holiday using `language` (if available) + * {String} type - type of holiday `public|bank|school|observance` + * ``` + */ + isHoliday (date) { + date = date ? new Date(date) : new Date(); + const d = new CalDate__default["default"](); + d.fromTimezone(date, this.__timezone); + const year = d.year; + const rules = Object.keys(this.holidays); + const days = []; + for (const rule of rules) { + const hd = [].concat(this._dateByRule(year, rule)); + for (const hdrule of hd) { + if (hdrule && date >= hdrule.start && date < hdrule.end) { + days.push(this._translate(hdrule)); + } + } + } + return days.length ? days : false + } + + /** + * set or update rule + * @param {HolidayRule|object} holidayRule + * @returns {boolean} `true` if holiday could be set, returns `true` + */ + setRule (holidayRule) { + const { rule, ...opts } = holidayRule; + return this.setHoliday(rule, opts) + } + + /** + * unset rule + * @param {String} rule - rule for holiday (check supported grammar) or date in ISO Format, e.g. 12-31 for 31st Dec + * @returns {boolean} `true` if holiday could be set, returns `true` + */ + unsetRule (rule) { + return this.setHoliday(rule, false) + } + + /** + * get available rules for selected country, (state, region) + * @returns {HolidayRule[]} + */ + getRules () { + return Object.entries(this.holidays).map(([ruleStr, obj]) => { + return new HolidayRule.HolidayRule({ ...obj, rule: ruleStr }) + }) + } + + /** + * get rule for selected country, (state, region) + * @param {String} rule - rule for holiday (check supported grammar) or date in ISO Format, e.g. 12-31 for 31st Dec + * @returns {HolidayRule|undefined} + */ + getRule (rule) { + if (this.holidays[rule]) { + return new HolidayRule.HolidayRule({ ...this.holidays[rule], rule }) + } + } + + /** + * Query for available Countries, States, Regions + * @param {String} [country] + * @param {String} [state] + * @param {String} [lang] - ISO-639 language shortcode + * @returns {Object} shortcode, name pairs of supported countries, states, regions + */ + query (country, state, lang) { + const o = Data.splitName(country, state); + if (!o || !o.country) { + return this.getCountries(lang) + } else if (!o.state) { + return this.getStates(o.country, lang) + } else { + return this.getRegions(o.country, o.state, lang) + } + } + + /** + * get supported countries + * @param {String} [lang] - ISO-639 language shortcode + * @returns {Object} shortcode, name pairs of supported countries + * ```js + * { AD: 'Andorra', + * US: 'United States' } + * ``` + */ + getCountries (lang) { + return this.__data.getCountries(lang) + } + + /** + * get supported states for a given country + * @param {String} country - shortcode of country + * @param {String} [lang] - ISO-639 language shortcode + * @returns {Object} shortcode, name pairs of supported states, regions + * ```js + * { al: 'Alabama', ... + * wy: 'Wyoming' } + * ``` + */ + getStates (country, lang) { + return this.__data.getStates(country, lang) + } + + /** + * get supported regions for a given country, state + * @param {String} country - shortcode of country + * @param {String} state - shortcode of state + * @param {String} [lang] - ISO-639 language shortcode + * @returns {Object} shortcode, name pairs of supported regions + * ```js + * { no: 'New Orleans' } + * ``` + */ + getRegions (country, state, lang) { + return this.__data.getRegions(country, state, lang) + } + + /** + * sets timezone + * @param {String} timezone - see `moment-timezone` + * if `timezone` is `undefined`, then all dates are considered local dates + */ + setTimezone (timezone) { + this.__timezone = timezone; + } + + /** + * get timezones for country, state, region + * @returns {Array} of {String}s containing the timezones + */ + getTimezones () { + if (this.__data) { + return this.__data.getTimezones() + } + } + + /** + * set language(s) for holiday names + * @param {Array|String} language + * @returns {Array} set languages + */ + setLanguages (language) { + if (typeof language === 'string') { + language = [language]; + } + const tmp = {}; + this.__languages = [].concat( + language, + (this.__conf ? this.__data.getLanguages(this.__conf) : []), + 'en' + ).filter(function (l) { // filter out duplicates + if (!l || tmp[l]) { + return false + } + tmp[l] = 1; + return true + }); + } + + /** + * get languages for selected country, state, region + * @returns {Array} containing ISO 639-1 language shortcodes + */ + getLanguages () { + return this.__languages + } + + /** + * get default day off as weekday + * @returns {String} weekday of day off + */ + getDayOff () { + if (this.__conf) { + return this.__data.getDayOff() + } + } + + /** + * @private + * @param {Number} year + * @param {String} rule + */ + _dateByRule (year, rule) { + const _rule = this.holidays[rule]; + const dates = _rule.fn.inYear(year) + .get(this.__timezone) + .map((date) => { + const odate = utils["default"].merge({}, + utils["default"].omit(date, ['substitute']), + utils["default"].omit(_rule, ['fn', 'enable', 'disable', 'substitute', 'active']) + ); + if (_rule.substitute && date.substitute) { + odate.substitute = true; + } + return odate + }); + return dates + } + + /** + * translate holiday object `o` to a language + * @private + * @param {Object} o + * @param {Array} langs - languages for translation + * @returns {Object} translated holiday object + */ + _translate (o, langs) { + if (o && typeof o.name === 'object') { + langs = langs || this.getLanguages(); + for (const lang of langs) { + const name = o.name[lang]; + if (name) { + o.name = name; + break + } + } + if (o.substitute) { + for (const lang of langs) { + const subst = this.__data.getSubstitueNames(); + const name = subst[lang]; + if (name) { + o.name += ' (' + name + ')'; + break + } + } + } + } + return o + } +} + +function getArgs (country, state, region, opts) { + if (typeof region === 'object') { + opts = region; + region = null; + } else if (typeof state === 'object') { + opts = state; + state = null; + } else if (typeof country === 'object' && !country.country) { + opts = country; + } + opts = opts || {}; + return [country, state, region, opts] +} + +exports.Holidays = Holidays; + + +/***/ }), + +/***/ 9379: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalDate = __nccwpck_require__(8597); +var CalEvent = __nccwpck_require__(2590); +var jalaali = __nccwpck_require__(8702); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); +var jalaali__default = /*#__PURE__*/_interopDefaultLegacy(jalaali); + +const { toJalaali, toGregorian } = jalaali__default["default"]; + +class Jalaali extends CalEvent { + /** + * @param {number} year gregorian year + * @returns + */ + inYear (year) { + const nowruz = toJalaali(year, 1, 1); + + if (this.opts.year && nowruz.jy !== this.opts.year) { + return this + } + const { gy, gm, gd } = toGregorian(this.opts.year || nowruz.jy, this.opts.month, this.opts.day); + + const d = (new CalDate__default["default"]({ year: gy, month: gm, day: gd })).setOffset(this.offset); + this.dates.push(d); + return this + } +} + +module.exports = Jalaali; + + +/***/ }), + +/***/ 8642: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var astronomia = __nccwpck_require__(4072); +var CalDate = __nccwpck_require__(8597); +var CalEvent = __nccwpck_require__(2590); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +class Julian extends CalEvent { + inYear (year) { + if (this.opts.year && this.opts.year !== year) { + return this + } + const cal = new astronomia.julian.CalendarJulian(year, this.opts.month, this.opts.day).toGregorian(); + const d = (new CalDate__default["default"](cal)).setOffset(this.offset); + this.dates.push(d); + return this + } +} + +module.exports = Julian; + + +/***/ }), + +/***/ 7043: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var utils = __nccwpck_require__(7797); + +/* eslint + no-spaced-func: 0, + no-unexpected-multiline: 0 + */ + +const WEEKDAYS = 'Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday'.split('|'); + +const lowerCaseWeekday = (weekday) => WEEKDAYS.includes(weekday) ? weekday.toLowerCase() : weekday; + +const lowerCaseWeekdayWithoutDay = weekday => (weekday === 'day') + ? undefined + : lowerCaseWeekday(weekday); + +/** + * regular expressions to parse holiday statements + */ +const grammar = (function () { + /** + * combines different regexes + * @private + * @return {RegExp} combined regex + */ + function replace (regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self (name, val) { + if (!name) return new RegExp(regex, opt) + val = val.source || val; + val = val.replace(/(^|[^[])\^/g, '$1'); + regex = regex.replace(name, val); + return self + } + } + + // raw rules + const raw = { + _weekdays: '[Ss]unday|[Mm]onday|[Tt]uesday|[Ww]ednesday|[Tt]hursday|[Ff]riday|[Ss]aturday|day', + _months: 'January|February|March|April|May|June|July|August|September|October|November|December', + _islamicMonths: 'Muharram|Safar|Rabi al-awwal|Rabi al-thani|Jumada al-awwal|Jumada al-thani|Rajab|Shaban|Ramadan|Shawwal|Dhu al-Qidah|Dhu al-Hijjah', + _hebrewMonths: 'Nisan|Iyyar|Sivan|Tamuz|Av|Elul|Tishrei|Cheshvan|Kislev|Tevet|Shvat|AdarII|Adar', + _jalaaliMonths: 'Farvardin|Ordibehesht|Khordad|Tir|Mordad|Shahrivar|Mehr|Aban|Azar|Dey|Bahman|Esfand', + _days: /(_weekdays)s?/, + _direction: /(before|after|next|previous|in)/, + _counts: /(\d+)(?:st|nd|rd|th)?/, + _count_days: /([-+]?\d{1,2}) ?(?:days?|d)?/, + _timezone: / in ([^\s]*|[+-]\d{2}:\d{2})/, + _type: /(public|bank|school|observance|optional)/, + + dateMonth: /^(_months)/, + date: /^(?:0*(\d{1,4})-)?0?(\d{1,2})-0?(\d{1,2})/, + time: /^(?:T?0?(\d{1,2}):0?(\d{1,2})|T0?(\d{1,2}))/, + duration: /^P(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?)?/, // follows ISO 8601 + + julian: /^julian date/, + easter: /^(easter|orthodox)(?: _count_days)?/, + equinox: /^([Mm]arch|[Jj]une|[Ss]eptember|[Dd]ecember) (?:equinox|solstice)(?:_timezone)?/, + hebrew: /^0?(\d{1,2}) (_hebrewMonths)(?: 0*(\d{1,}))?/, + islamic: /^0?(\d{1,2}) (_islamicMonths)(?: 0*(\d{1,}))?/, + jalaali: /^0?(\d{1,2}) (_jalaaliMonths)(?: 0*(\d{1,}))?/, + chineseLunar: /^(chinese|korean|vietnamese) (?:(\d+)-(\d{1,2})-)?(\d{1,2})-([01])-(\d{1,2})/, + chineseSolar: /^(chinese|korean|vietnamese) (?:(\d+)-(\d{1,2})-)?(\d{1,2})-(\d{1,2}) solarterm/, + bengaliRevised: /^(bengali-revised) (?:-?0*(\d{1,4})-)?0?(\d{1,2})-0?(\d{1,2})/, + + modifier: /^(substitutes|and|if equal|then|if)\b/, + rule_year: /^(?:in (even|odd|leap|non-leap) years|every (\d+) years? since 0*(\d{1,4}))/, + rule_weekday: /(not )?on ((?:(?:_weekdays)(?:,\s?)?)*)/, + rule_date_if_then: /^if ((?:(?:_weekdays)(?:,\s?)?)*) then (?:_direction _days)?/, + rule_day_dir_date: /^(?:_counts )?_days _direction/, + rule_bridge: /^is (?:_type )?holiday/, + rule_if_holiday: /^if is (?:_type )?holiday then (?:_counts )?(?:_direction _days)?(?: omit ((?:(?:_weekdays)(?:,\s?)?)*))?/, + rule_same_day: /^#\d+/, + rule_active_from: /^since (0*\d{1,4})(?:-0*(\d{1,2})(?:-0*(\d{1,2})|)|)(?: and|)/, + rule_active_to: /^prior to (0*\d{1,4})(?:-0*(\d{1,2})(?:-0*(\d{1,2})|)|)/, + + // rule_type_if_then: /if ((?:(?:_weekdays)(?:,\s?)?)*) then/, + // rule_type_dir: /_days _direction$/, + // rule_type_bridge: / if .* is .* holiday$/, + + space: /^\s+/ + }; + /* eslint-disable func-call-spacing */ + raw._days = replace(raw._days) + (/_weekdays/, raw._weekdays) + (); + raw.julian = replace(raw.julian, '') + (/date/, raw.date) + (); + raw.easter = replace(raw.easter, '') + (/_count_days/, raw._count_days) + (); + raw.equinox = replace(raw.equinox, '') + (/_count_days/g, raw._count_days) + (/_direction/g, raw._direction) + (/_timezone/g, raw._timezone) + (); + raw.hebrew = replace(raw.hebrew, '') + (/_hebrewMonths/, raw._hebrewMonths) + (); + raw.islamic = replace(raw.islamic, '') + (/_islamicMonths/, raw._islamicMonths) + (); + raw.jalaali = replace(raw.jalaali, '') + (/_jalaaliMonths/, raw._jalaaliMonths) + (); + raw.dateMonth = replace(raw.dateMonth) + (/_months/, raw._months) + (); + + raw.rule_weekday = replace(raw.rule_weekday, '') + (/_weekdays/g, raw._weekdays) + (); + raw.rule_date_if_then = replace(raw.rule_date_if_then, '') + (/_direction/g, raw._direction) + (/_weekdays/g, raw._weekdays) + (/_days/g, raw._days) + (); + raw.rule_bridge = replace(raw.rule_bridge, '') + (/_type/g, raw._type) + (); + raw.rule_if_holiday = replace(raw.rule_if_holiday, '') + (/_type/g, raw._type) + (/_counts/g, raw._counts) + (/_direction/g, raw._direction) + (/_days/g, raw._days) + (/_weekdays/g, raw._weekdays) + (); + raw.rule_day_dir_date = replace(raw.rule_day_dir_date, '') + (/_counts/, raw._counts) + (/_days/g, raw._days) + (/_direction/g, raw._direction) + (); + // raw.rule_type_if_then = replace(raw.rule_type_if_then, '') + // (/_direction/g, raw._direction) + // (/_days/g, raw._days) + // () + + let i = 1; + raw.months = {}; + raw._months.split('|').forEach(function (m) { + raw.months[m] = i++; + }); + + i = 1; + raw.islamicMonths = {}; + raw._islamicMonths.split('|').forEach(function (m) { + raw.islamicMonths[m] = i++; + }); + + i = 1; + raw.hebrewMonths = {}; + raw._hebrewMonths.split('|').forEach(function (m) { + raw.hebrewMonths[m] = i++; + }); + // parser regex needs larger string before shorter AdarII and Adar pos needs correction + raw.hebrewMonths.Adar = 12; + raw.hebrewMonths.AdarII = 13; + + i = 1; + raw.jalaaliMonths = {}; + raw._jalaaliMonths.split('|').forEach(function (m) { + raw.jalaaliMonths[m] = i++; + }); + + return raw + /* eslint-enable */ +})(); + +// console.log(grammar) + +class Parser { + constructor (fns) { + this.fns = fns || [ + '_julian', + '_date', + '_easter', + '_islamic', + '_hebrew', + '_jalaali', + '_equinox', + '_chineseSolar', + '_chineseLunar', + '_bengaliRevised', + '_dateMonth', + '_ruleDateIfThen', + '_ruleWeekday', + '_ruleYear', + '_ruleDateDir', + '_ruleIfHoliday', + '_ruleBridge', + '_ruleTime', + '_ruleDuration', + '_ruleModifier', + '_ruleSameDay', + '_ruleActiveFrom', + '_ruleActiveTo' + ]; + this.tokens = []; + } + + parse (rule) { + this.setup = { str: rule, rule }; + this.error = 0; + this.tokens = []; + this._tokenize(this.setup); + this._reorder(); + return this.tokens + } + + /** + * reorder set of tokens for rule dateDir + * dateDir: [dateDir2, dateDir1, fn] --> [fn, dateDir1, dateDir2] + * dateIfThen: [fn, dateIfThen1, dateIfThen2] --> [fn, dateIfThen1, dateIfThen2] + */ + _reorder () { + const tmp = []; + const res = []; + + this.tokens.forEach((token) => { + if (token.rule === 'dateDir') { + tmp.push(token); + } else { + res.push(token); + if (tmp.length) { + while (tmp.length) { + res.push(tmp.pop()); + } + } + } + + // no modifiers before a date + if (token.fn && res[0].modifier) { + while (res[0].modifier) { + res.push(res.shift()); + } + } + }); + this.tokens = res; + } + + _tokenize (o) { + let last; + while (o.str) { + for (let i = 0; i < this.fns.length; i++) { + if (this[this.fns[i]](o)) break + } + this._space(o); + if (last === o.str) { + this.error++; + break + } + last = o.str; + } + } + + _shorten (o, cap0) { + o.str = o.str.substr(cap0.length, o.str.length); + } + + _date (o) { + let cap; + if ((cap = grammar.date.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'gregorian', + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()), + day: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _julian (o) { + let cap; + if ((cap = grammar.julian.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'julian', + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()), + day: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _easter (o) { + let cap; + if ((cap = grammar.easter.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'easter', + type: cap.shift(), + offset: utils.toNumber(cap.shift()) || 0 + }; + this.tokens.push(res); + return true + } + } + + _equinox (o) { + let cap; + if ((cap = grammar.equinox.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'equinox', + season: cap.shift().toLowerCase(), + timezone: cap.shift() || 'GMT' + }; + this.tokens.push(res); + return true + } + } + + _hebrew (o) { + let cap; + + if ((cap = grammar.hebrew.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'hebrew', + day: utils.toNumber(cap.shift()), + month: grammar.hebrewMonths[cap.shift()], + year: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _islamic (o) { + let cap; + if ((cap = grammar.islamic.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'islamic', + day: utils.toNumber(cap.shift()), + month: grammar.islamicMonths[cap.shift()], + year: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _jalaali (o) { + let cap; + if ((cap = grammar.jalaali.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'jalaali', + day: utils.toNumber(cap.shift()), + month: grammar.jalaaliMonths[cap.shift()], + year: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _chineseSolar (o) { + let cap; + if ((cap = grammar.chineseSolar.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: cap.shift(), + cycle: utils.toNumber(cap.shift()), + year: utils.toNumber(cap.shift()), + solarterm: utils.toNumber(cap.shift()), + day: utils.toNumber(cap.shift()), + timezone: cap.shift() + }; + this.tokens.push(res); + return true + } + } + + _chineseLunar (o) { + let cap; + if ((cap = grammar.chineseLunar.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: cap.shift(), + cycle: utils.toNumber(cap.shift()), + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()), + leapMonth: !!utils.toNumber(cap.shift()), + day: utils.toNumber(cap.shift()), + timezone: cap.shift() + }; + this.tokens.push(res); + return true + } + } + + _bengaliRevised (o) { + let cap; + if ((cap = grammar.bengaliRevised.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: cap.shift(), + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()), + day: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _dateMonth (o) { + let cap; + if ((cap = grammar.dateMonth.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + fn: 'gregorian', + day: 1, + month: grammar.months[cap.shift()], + year: undefined + }; + this.tokens.push(res); + return true + } + } + + _space (o) { + let cap; + if ((cap = grammar.space.exec(o.str))) { + this._shorten(o, cap[0]); + return true + } + } + + _ruleSameDay (o) { + let cap; + if ((cap = grammar.rule_same_day.exec(o.str))) { + this._shorten(o, cap[0]); + return true + } + } + + _ruleModifier (o) { + let cap; + if ((cap = grammar.modifier.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + modifier: cap.shift() + }; + this.tokens.push(res); + return true + } + } + + _ruleTime (o) { + let cap; + if ((cap = grammar.time.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'time', + hour: utils.toNumber(cap.shift()) || 0, + minute: utils.toNumber(cap.shift()) || 0 + }; + res.hour = res.hour || utils.toNumber(cap.shift()) || 0; + this.tokens.push(res); + return true + } + } + + _ruleDuration (o) { + let cap; + if ((cap = grammar.duration.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const tmp = { + days: utils.toNumber(cap.shift()) || 0, + hours: utils.toNumber(cap.shift()) || 0, + minutes: utils.toNumber(cap.shift()) || 0 + }; + const res = { + rule: 'duration', + // duration is calculated in hours + duration: (tmp.days * 24) + tmp.hours + (tmp.minutes / 60) + }; + this.tokens.push(res); + return true + } + } + + _ruleDateIfThen (o) { + let cap; + if ((cap = grammar.rule_date_if_then.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'dateIfThen', + if: (cap.shift()).split(/(?:,\s?)/).map(lowerCaseWeekday), + direction: cap.shift(), + then: lowerCaseWeekday(cap.shift()) + }; + // create a sub-parser to only check for time, duration + const p = new Parser(['_ruleTime', '_ruleDuration']); + p.parse(o.str); + if (p.tokens.length) { + res.rules = p.tokens; + } + o.str = ' ' + p.setup.str; // ' ' required such that the _tokenize function finalizes the loop + this.tokens.push(res); + return true + } + } + + _ruleWeekday (o) { + let cap; + if ((cap = grammar.rule_weekday.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'weekday', + not: !!cap.shift(), + if: (cap.shift()).split(/(?:,\s?)/).map(lowerCaseWeekday) + }; + this.tokens.push(res); + return true + } + } + + _ruleDateDir (o) { + let cap; + if ((cap = grammar.rule_day_dir_date.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'dateDir', + count: utils.toNumber(cap.shift()) || 1, + weekday: lowerCaseWeekday(cap.shift()), + direction: cap.shift() + }; + if (res.direction === 'in') { + res.direction = 'after'; + } + this.tokens.push(res); + return true + } + } + + _ruleYear (o) { + let cap; + if ((cap = grammar.rule_year.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'year', + cardinality: cap.shift(), + every: utils.toNumber(cap.shift()), + since: utils.toNumber(cap.shift()) + }; + this.tokens.push(res); + return true + } + } + + _ruleIfHoliday (o) { + let cap; + if ((cap = grammar.rule_if_holiday.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'ruleIfHoliday', + type: cap.shift(), + count: utils.toNumber(cap.shift()) || 1, + direction: cap.shift(), + weekday: lowerCaseWeekday(cap.shift()), + omit: (cap.shift() || '').split(/(?:,\s?)/).map(lowerCaseWeekdayWithoutDay).filter(Boolean) + }; + this.tokens.push(res); + return true + } + } + + _ruleBridge (o) { + let cap; + if ((cap = grammar.rule_bridge.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'bridge', + type: cap.shift() + }; + this.tokens.push(res); + return true + } + } + + _ruleActiveFrom (o) { + let cap; + if ((cap = grammar.rule_active_from.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'activeFrom', + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()) || 1, + day: utils.toNumber(cap.shift()) || 1 + }; + this.tokens.push(res); + return true + } + } + + _ruleActiveTo (o) { + let cap; + if ((cap = grammar.rule_active_to.exec(o.str))) { + this._shorten(o, cap[0]); + cap.shift(); + const res = { + rule: 'activeTo', + year: utils.toNumber(cap.shift()), + month: utils.toNumber(cap.shift()) || 1, + day: utils.toNumber(cap.shift()) || 1 + }; + this.tokens.push(res); + return true + } + } +} + +module.exports = Parser; + + +/***/ }), + +/***/ 202: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var utils = __nccwpck_require__(4801); +var Rule = __nccwpck_require__(7333); +var CalEvent = __nccwpck_require__(2590); + +class PostRule { + /** + * @param {String} ruleStr + * @param {Object} opts + * @param {Array} [holidays] + */ + constructor (ruleStr, opts, holidays) { + this.opts = opts; + this.ruleStr = ruleStr; + this.ruleSet = holidays && holidays[ruleStr]; + this.holidays = holidays; + this.events = []; + } + + push (calEvent) { + this.events.push(calEvent); + } + + /** + * @param {number} year + * @returns {CalEvent} + */ + getEvent (year) { + const active = this.ruleSet && this.ruleSet.active; + this.disable(year); + const ev = this.events[0]; + ev.filterActive(year, active); + return ev + } + + /** + * @param {Array} rule + * @param {number} year + */ + resolve (rule, year) { + if (rule.rule && typeof this[rule.rule] === 'function') { + this[rule.rule](rule, year); + } + } + + /** + * @param {Array} rule + * @param {number} year + */ + bridge (rule, year) { + const found = new Array(this.events.length).fill(false); + found[0] = true; + const type = rule.type || 'public'; + + // get all holidays of the given year + for (const ruleStr in this.holidays) { + const dateFn = this.holidays[ruleStr].fn; + if (dateFn && dateFn.ruleStr !== this.ruleStr) { + const tmpEv = dateFn.inYear(year); + const tmpEvType = utils.get(tmpEv, 'opts.type') || 'public'; + for (let i = 1; i < this.events.length; i++) { + if (found[i]) continue + const isEqualDate = tmpEv.event.isEqualDate(this.events[i]); + if (isEqualDate && tmpEvType === type) { + found[i] = true; + } + } + } + if (!~found.indexOf(false)) { // pre-exit if all found + break + } + } + + if (~found.indexOf(false)) { + this.events[0].reset(); + } + } + + ruleIfHoliday (rule, year) { + const type = rule.type || 'public'; + + // get all holidays of the given year + for (const ruleStr in this.holidays) { + const dateFn = this.holidays[ruleStr].fn; + if (dateFn && dateFn.ruleStr !== this.ruleStr) { + const tmpEv = dateFn.inYear(year); + const tmpEvType = utils.get(tmpEv, 'opts.type') || 'public'; + for (let i = 0; i < this.events.length; i++) { + const isEqualDate = tmpEv.event.isEqualDate(this.events[i]); + if (isEqualDate && tmpEvType === type) { + new Rule(this.events[i]).resolve({ ...rule, rule: 'dateDir' }); + return + } + } + } + } + } + + /** + * @param {number} year + */ + disable (year) { + const { disable, enable } = this.opts || {}; + if (!disable || !disable.length) return + + const ev = this.events[0]; + + // check if exact event was disabled or moved + let tmpEv = _findEventInYear(year, disable); + if (tmpEv) { + if (tmpEv.isEqualDate(ev)) { + ev.reset(); + tmpEv = _findEventInYear(year, enable); + if (tmpEv) this.events[0] = tmpEv; + } + return + } + + // simply check if the event can be disabled for year-(month) + const [_year, _month] = _findDisabled(year, disable); + ev.filterDisabled(_year, _month); + } +} + +const isoDate = (isoDateStr) => String(isoDateStr).split('-').map(v => utils.toNumber(v)); + +function _findEventInYear (_year, arr = []) { + for (const item of arr) { + const [year, month, day] = isoDate(item); + if (year === _year && month && day) { + return new CalEvent({ year, month, day }).inYear(year) + } + } +} + +function _findDisabled (_year, arr = []) { + for (const isoDateStr of arr) { + const [year, month] = isoDate(isoDateStr); + if (_year === year) { + return [year, month] + } + } + return [] +} + +module.exports = PostRule; + + +/***/ }), + +/***/ 7333: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var CalDate = __nccwpck_require__(8597); +var utils = __nccwpck_require__(7797); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var CalDate__default = /*#__PURE__*/_interopDefaultLegacy(CalDate); + +/** + * handle rule per event + */ + +class Rule { + /** + * @param {CalEvent} [calEvent] + * @param {array} [holidays] + */ + constructor (calEvent) { + this.calEvent = calEvent; + } + + /** + * @param {CalEvent} calEvent + */ + setEvent (calEvent) { + this.calEvent = calEvent; + return this + } + + /** + * @return {CalEvent} + */ + getEvent () { + return this.calEvent + } + + /** + * @param {string} modifier + */ + setModifier (modifier) { + this.modifier = modifier; + } + + /** + * resolves rule to function + * @param {object} rule + */ + resolve (rule) { + if (rule.rule && + typeof this[rule.rule] === 'function' + ) { + this[rule.rule](rule); + } else if (rule.modifier) { + this.modifier = rule.modifier; + } + return this + } + + /** + * @param {CalEvent} [calEvent] + * @param {object} rule + * { + * rule: "dateDir", + * count: 1, + * weekday: "tuesday", + * direction: "after", + * omit: ['sunday'] + * } + */ + dateDir (rule) { + const omitWeekdays = ([].concat(rule.omit)).map(weekday => utils.DAYS[weekday]).filter(v => !utils.isNil(v)); + + const isOmitDay = (offset, weekday) => { + let wd = offset + weekday; + while (wd < 0) { wd += 70; } + return omitWeekdays.includes(wd % 7) + }; + + this.calEvent.dates.forEach((date) => { + let offset; + let count = rule.count - 1; + const weekday = date.getDay(); + const ruleWeekday = utils.DAYS[rule.weekday]; + + const isDirBefore = ['before', 'previous'].includes(rule.direction); + // correct count if weekday is same for next direction + if (rule.direction === 'next' && weekday === ruleWeekday) { + count += 1; + } + + if (rule.weekday === 'day') { + let i = 0; + if (isDirBefore) { + offset = (count + 1) * -1; + while (i++ < 7 && isOmitDay(offset, weekday)) { + offset -= 1; + } + } else { + offset = count + 1; + while (i++ < 7 && isOmitDay(offset, weekday)) { + offset += 1; + } + } + } else { + if (isDirBefore) { + if (weekday === ruleWeekday) { + count++; + } + offset = ((7 + weekday - ruleWeekday) % 7 + count * 7) * -1; + } else { + offset = ((7 - weekday + ruleWeekday) % 7 + count * 7); + } + } + if (offset) { + date.setOffset(offset); + } + }); + } + + /** + * @param {object} rule + * { + * rule: "dateIfThen", + * if: ["sunday"], + * direction: "next", + * then: "sunday" + * } + */ + dateIfThen (rule) { + const dates = []; + + this.calEvent.dates = this.calEvent.dates.map((date) => { + if (date._lock) { + return date + } + const weekday = date.getDay(); + if (~(rule.if).indexOf(utils.DAYS[weekday])) { + if (this.modifier === 'and') { + dates.push(new CalDate__default["default"](date)); + date.substitute = true; + } + date._filter = false; + let offset = 0; + const then = utils.DAYS[rule.then]; + if (rule.then && then !== 'undefined') { + if (rule.direction === 'previous') { + offset = -1 * ((7 + weekday - then) % 7); + if (!offset) { + offset = -7; + } + } else { + offset = ((7 - weekday + then) % 7); + if (!offset) { + offset = 7; + } + } + date.setOffset(offset); + date._lock = true; + if (this.modifier === 'substitutes') date.substitute = true; + } + (rule.rules || []).forEach((rule) => { + switch (rule.rule) { + case 'time': + date.setTime(rule.hour, rule.minute); + break + case 'duration': + date.duration = rule.duration; + break + } + }); + } else if (this.modifier === 'substitutes') { + date._filter = true; + } + return date + }); + this.calEvent.dates = dates.concat(this.calEvent.dates); + } + + /** + * @param {object} rule + * { + * rule: "weekday", + * if: ["sunday", "saturday"], + * not: false, + * } + */ + weekday (rule) { + this.calEvent.dates = this.calEvent.dates.map((date) => { + const weekday = date.getDay(); + let match = (rule.if).indexOf(utils.DAYS[weekday]) !== -1; + if (rule.not) match = !match; + if (match) return date + }).filter(date => date); + } + + time (rule) { + this.calEvent.dates.forEach((date) => { + date.setTime(rule.hour, rule.minute); + }); + } + + duration (rule) { + this.calEvent.dates.forEach((date) => { + date.duration = rule.duration; + }); + } + + bridge () { + return true // needs postprocessing + } + + ruleIfHoliday () { + return true // needs postprocessing + } + + activeFrom (rule) { + this.calEvent.setActive({ from: new CalDate__default["default"](rule).toDate() }); + } + + activeTo (rule) { + this.calEvent.setActive({ to: new CalDate__default["default"](rule).toDate() }); + } + + /** + * @param {object} rule + * { + * rule: "year", + * cardinality: "leap", + * every: undefined, + * since: undefined + * } + */ + year (rule) { + this.calEvent.dates = this.calEvent.dates.map((date) => { + if (rule.cardinality) { + if (rule.cardinality === 'leap' && this._isLeapYear(date.year)) { + return date + } else if (rule.cardinality === 'non-leap' && !this._isLeapYear(date.year)) { + return date + } else if (rule.cardinality === 'even' && (date.year + 1) % 2) { + return date + } else if (rule.cardinality === 'odd' && date.year % 2) { + return date + } + } else if (rule.every !== undefined && rule.since !== undefined) { + const tmp = (date.year - rule.since) % rule.every; + if (tmp === 0) { + return date + } + } + }).filter(date => date); + } + + /** + * @private + * @return {Boolean} if true year is a leap year + */ + _isLeapYear (year) { + if ((year % 400 === 0) || (year % 4 === 0 && year % 100 !== 0)) { + return true + } + return false + } +} + +module.exports = Rule; + + +/***/ }), + +/***/ 3528: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var Holidays = __nccwpck_require__(9234); +var HolidayRule = __nccwpck_require__(2557); + + + +exports["default"] = Holidays.Holidays; +exports.HolidayRule = HolidayRule.HolidayRule; + + +/***/ }), + +/***/ 6197: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/*eslint-disable*/ +const calendar ={1968:[null,null,null,null,null,null,[8,23,0],[9,23,0],[10,22,0],[11,22,0]],1969:[[2,20,0],[3,19,0],[4,18,0],[5,17,0],[6,16,0],[7,15,0],[8,13,1],[9,13,1],[10,11,1],[11,10,1],[0,20,0],[1,19,0],[1,19,0]],1970:[[3,7,1],[4,7,1],[5,5,1],[6,5,1],[7,3,1],[8,2,1],[9,1,2],[9,31,2],[10,29,2],[11,29,2],[0,8,1],[1,7,1],[2,9,1]],1971:[[2,27,2],[3,26,2],[4,25,2],[5,24,2],[6,23,2],[7,22,2],[8,20,3],[9,20,3],[10,19,3],[11,19,3],[0,27,2],[1,26,2],[1,26,2]],1972:[[2,16,3],[3,15,3],[4,14,3],[5,13,3],[6,12,3],[7,11,3],[8,9,4],[9,9,4],[10,7,4],[11,6,4],[0,17,3],[1,16,3],[1,16,3]],1973:[[3,3,4],[4,3,4],[5,1,4],[6,1,4],[6,30,4],[7,29,4],[8,27,5],[9,27,5],[10,26,5],[11,26,5],[0,4,4],[1,3,4],[2,5,4]],1974:[[2,24,5],[3,23,5],[4,22,5],[5,21,5],[6,20,5],[7,19,5],[8,17,6],[9,17,6],[10,15,6],[11,15,6],[0,24,5],[1,23,5],[1,23,5]],1975:[[2,13,6],[3,12,6],[4,11,6],[5,10,6],[6,9,6],[7,8,6],[8,6,7],[9,6,7],[10,5,7],[11,5,7],[0,13,6],[1,12,6],[1,12,6]],1976:[[3,1,7],[4,1,7],[4,30,7],[5,29,7],[6,28,7],[7,27,7],[8,25,8],[9,25,8],[10,23,8],[11,22,8],[0,3,7],[1,2,7],[2,3,7]],1977:[[2,20,8],[3,19,8],[4,18,8],[5,17,8],[6,16,8],[7,15,8],[8,13,9],[9,13,9],[10,11,9],[11,11,9],[0,20,8],[1,19,8],[1,19,8]],1978:[[3,8,9],[4,8,9],[5,6,9],[6,6,9],[7,4,9],[8,3,9],[9,2,10],[10,1,10],[11,1,10],[11,31,10],[0,9,9],[1,8,9],[2,10,9]],1979:[[2,29,10],[3,28,10],[4,27,10],[5,26,10],[6,25,10],[7,24,10],[8,22,11],[9,22,11],[10,21,11],[11,21,11],[0,29,10],[1,28,10],[1,28,10]],1980:[[2,18,11],[3,17,11],[4,16,11],[5,15,11],[6,14,11],[7,13,11],[8,11,12],[9,11,12],[10,9,12],[11,8,12],[0,19,11],[1,18,11],[1,18,11]],1981:[[3,5,12],[4,5,12],[5,3,12],[6,3,12],[7,1,12],[7,31,12],[8,29,13],[9,29,13],[10,27,13],[11,27,13],[0,6,12],[1,5,12],[2,7,12]],1982:[[2,25,13],[3,24,13],[4,23,13],[5,22,13],[6,21,13],[7,20,13],[8,18,14],[9,18,14],[10,17,14],[11,17,14],[0,25,13],[1,24,13],[1,24,13]],1983:[[2,15,14],[3,14,14],[4,13,14],[5,12,14],[6,11,14],[7,10,14],[8,8,15],[9,8,15],[10,7,15],[11,7,15],[0,15,14],[1,14,14],[1,14,14]],1984:[[3,3,15],[4,3,15],[5,1,15],[6,1,15],[6,30,15],[7,29,15],[8,27,16],[9,27,16],[10,25,16],[11,25,16],[0,5,15],[1,4,15],[2,5,15]],1985:[[2,23,16],[3,22,16],[4,21,16],[5,20,16],[6,19,16],[7,18,16],[8,16,17],[9,16,17],[10,14,17],[11,13,17],[0,23,16],[1,22,16],[1,22,16]],1986:[[3,10,17],[4,10,17],[5,8,17],[6,8,17],[7,6,17],[8,5,17],[9,4,18],[10,3,18],[11,3,18],null,[0,11,17],[1,10,17],[2,12,17]],1987:[[2,31,18],[3,30,18],[4,29,18],[5,28,18],[6,27,18],[7,26,18],[8,24,19],[9,24,19],[10,22,19],[0,2,18,11,22,19],[0,31,18],[2,2,18],[2,2,18]],1988:[[2,19,19],[3,18,19],[4,17,19],[5,16,19],[6,15,19],[7,14,19],[8,12,20],[9,12,20],[10,10,20],[11,9,20],[0,20,19],[1,19,19],[1,19,19]],1989:[[3,6,20],[4,6,20],[5,4,20],[6,4,20],[7,2,20],[8,1,20],[8,30,21],[9,30,21],[10,29,21],[11,29,21],[0,7,20],[1,6,20],[2,8,20]],1990:[[2,27,21],[3,26,21],[4,25,21],[5,24,21],[6,23,21],[7,22,21],[8,20,22],[9,20,22],[10,18,22],[11,18,22],[0,27,21],[1,26,21],[1,26,21]],1991:[[2,16,22],[3,15,22],[4,14,22],[5,13,22],[6,12,22],[7,11,22],[8,9,23],[9,9,23],[10,8,23],[11,8,23],[0,16,22],[1,15,22],[1,15,22]],1992:[[3,4,23],[4,4,23],[5,2,23],[6,2,23],[6,31,23],[7,30,23],[8,28,24],[9,28,24],[10,26,24],[11,25,24],[0,6,23],[1,5,23],[2,6,23]],1993:[[2,23,24],[3,22,24],[4,21,24],[5,20,24],[6,19,24],[7,18,24],[8,16,25],[9,16,25],[10,15,25],[11,15,25],[0,23,24],[1,22,24],[1,22,24]],1994:[[2,13,25],[3,12,25],[4,11,25],[5,10,25],[6,9,25],[7,8,25],[8,6,26],[9,6,26],[10,4,26],[11,4,26],[0,13,25],[1,12,25],[1,12,25]],1995:[[3,1,26],[4,1,26],[4,30,26],[5,29,26],[6,28,26],[7,27,26],[8,25,27],[9,25,27],[10,24,27],[11,24,27],[0,2,26],[1,1,26],[2,3,26]],1996:[[2,21,27],[3,20,27],[4,19,27],[5,18,27],[6,17,27],[7,16,27],[8,14,28],[9,14,28],[10,12,28],[11,11,28],[0,22,27],[1,21,27],[1,21,27]],1997:[[3,8,28],[4,8,28],[5,6,28],[6,6,28],[7,4,28],[8,3,28],[9,2,29],[10,1,29],[10,30,29],[11,30,29],[0,9,28],[1,8,28],[2,10,28]],1998:[[2,28,29],[3,27,29],[4,26,29],[5,25,29],[6,24,29],[7,23,29],[8,21,30],[9,21,30],[10,20,30],[11,20,30],[0,28,29],[1,27,29],[1,27,29]],1999:[[2,18,30],[3,17,30],[4,16,30],[5,15,30],[6,14,30],[7,13,30],[8,11,31],[9,11,31],[10,10,31],[11,10,31],[0,18,30],[1,17,30],[1,17,30]],2000:[[3,6,31],[4,6,31],[5,4,31],[6,4,31],[7,2,31],[8,1,31],[8,30,32],[9,30,32],[10,28,32],[11,27,32],[0,8,31],[1,7,31],[2,8,31]],2001:[[2,25,32],[3,24,32],[4,23,32],[5,22,32],[6,21,32],[7,20,32],[8,18,33],[9,18,33],[10,16,33],[11,16,33],[0,25,32],[1,24,32],[1,24,32]],2002:[[2,14,33],[3,13,33],[4,12,33],[5,11,33],[6,10,33],[7,9,33],[8,7,34],[9,7,34],[10,6,34],[11,6,34],[0,14,33],[1,13,33],[1,13,33]],2003:[[3,3,34],[4,3,34],[5,1,34],[6,1,34],[6,30,34],[7,29,34],[8,27,35],[9,27,35],[10,26,35],[11,26,35],[0,4,34],[1,3,34],[2,5,34]],2004:[[2,23,35],[3,22,35],[4,21,35],[5,20,35],[6,19,35],[7,18,35],[8,16,36],[9,16,36],[10,14,36],[11,13,36],[0,24,35],[1,23,35],[1,23,35]],2005:[[3,10,36],[4,10,36],[5,8,36],[6,8,36],[7,6,36],[8,5,36],[9,4,37],[10,3,37],[11,2,37],null,[0,11,36],[1,10,36],[2,12,36]],2006:[[2,30,37],[3,29,37],[4,28,37],[5,27,37],[6,26,37],[7,25,37],[8,23,38],[9,23,38],[10,22,38],[0,1,37,11,22,38],[0,30,37],[2,1,37],[2,1,37]],2007:[[2,20,38],[3,19,38],[4,18,38],[5,17,38],[6,16,38],[7,15,38],[8,13,39],[9,13,39],[10,11,39],[11,10,39],[0,20,38],[1,19,38],[1,19,38]],2008:[[3,6,39],[4,6,39],[5,4,39],[6,4,39],[7,2,39],[8,1,39],[8,30,40],[9,30,40],[10,28,40],[11,28,40],[0,8,39],[1,7,39],[2,8,39]],2009:[[2,26,40],[3,25,40],[4,24,40],[5,23,40],[6,22,40],[7,21,40],[8,19,41],[9,19,41],[10,18,41],[11,18,41],[0,26,40],[1,25,40],[1,25,40]],2010:[[2,16,41],[3,15,41],[4,14,41],[5,13,41],[6,12,41],[7,11,41],[8,9,42],[9,9,42],[10,8,42],[11,8,42],[0,16,41],[1,15,41],[1,15,41]],2011:[[3,5,42],[4,5,42],[5,3,42],[6,3,42],[7,1,42],[7,31,42],[8,29,43],[9,29,43],[10,27,43],[11,27,43],[0,6,42],[1,5,42],[2,7,42]],2012:[[2,24,43],[3,23,43],[4,22,43],[5,21,43],[6,20,43],[7,19,43],[8,17,44],[9,17,44],[10,15,44],[11,14,44],[0,25,43],[1,24,43],[1,24,43]],2013:[[2,12,44],[3,11,44],[4,10,44],[5,9,44],[6,8,44],[7,7,44],[8,5,45],[9,5,45],[10,4,45],[11,4,45],[0,12,44],[1,11,44],[1,11,44]],2014:[[3,1,45],[4,1,45],[4,30,45],[5,29,45],[6,28,45],[7,27,45],[8,25,46],[9,25,46],[10,23,46],[11,23,46],[0,2,45],[1,1,45],[2,3,45]],2015:[[2,21,46],[3,20,46],[4,19,46],[5,18,46],[6,17,46],[7,16,46],[8,14,47],[9,14,47],[10,13,47],[11,13,47],[0,21,46],[1,20,46],[1,20,46]],2016:[[3,9,47],[4,9,47],[5,7,47],[6,7,47],[7,5,47],[8,4,47],[9,3,48],[10,2,48],[11,1,48],[11,30,48],[0,11,47],[1,10,47],[2,11,47]],2017:[[2,28,48],[3,27,48],[4,26,48],[5,25,48],[6,24,48],[7,23,48],[8,21,49],[9,21,49],[10,19,49],[11,19,49],[0,28,48],[1,27,48],[1,27,48]],2018:[[2,17,49],[3,16,49],[4,15,49],[5,14,49],[6,13,49],[7,12,49],[8,10,50],[9,10,50],[10,9,50],[11,9,50],[0,17,49],[1,16,49],[1,16,49]],2019:[[3,6,50],[4,6,50],[5,4,50],[6,4,50],[7,2,50],[8,1,50],[8,30,51],[9,30,51],[10,29,51],[11,29,51],[0,7,50],[1,6,50],[2,8,50]],2020:[[2,26,51],[3,25,51],[4,24,51],[5,23,51],[6,22,51],[7,21,51],[8,19,52],[9,19,52],[10,17,52],[11,16,52],[0,27,51],[1,26,51],[1,26,51]],2021:[[2,14,52],[3,13,52],[4,12,52],[5,11,52],[6,10,52],[7,9,52],[8,7,53],[9,7,53],[10,5,53],[11,5,53],[0,14,52],[1,13,52],[1,13,52]],2022:[[3,2,53],[4,2,53],[4,31,53],[5,30,53],[6,29,53],[7,28,53],[8,26,54],[9,26,54],[10,25,54],[11,25,54],[0,3,53],[1,2,53],[2,4,53]],2023:[[2,23,54],[3,22,54],[4,21,54],[5,20,54],[6,19,54],[7,18,54],[8,16,55],[9,16,55],[10,14,55],[11,13,55],[0,23,54],[1,22,54],[1,22,54]],2024:[[3,9,55],[4,9,55],[5,7,55],[6,7,55],[7,5,55],[8,4,55],[9,3,56],[10,2,56],[11,2,56],null,[0,11,55],[1,10,55],[2,11,55]],2025:[[2,30,56],[3,29,56],[4,28,56],[5,27,56],[6,26,56],[7,25,56],[8,23,57],[9,23,57],[10,21,57],[0,1,56,11,21,57],[0,30,56],[2,1,56],[2,1,56]],2026:[[2,19,57],[3,18,57],[4,17,57],[5,16,57],[6,15,57],[7,14,57],[8,12,58],[9,12,58],[10,11,58],[11,11,58],[0,19,57],[1,18,57],[1,18,57]],2027:[[3,8,58],[4,8,58],[5,6,58],[6,6,58],[7,4,58],[8,3,58],[9,2,59],[10,1,59],[11,1,59],[11,31,59],[0,9,58],[1,8,58],[2,10,58]],2028:[[2,28,59],[3,27,59],[4,26,59],[5,25,59],[6,24,59],[7,23,59],[8,21,60],[9,21,60],[10,19,60],[11,19,60],[0,29,59],[1,28,59],[1,28,59]],2029:[[2,17,60],[3,16,60],[4,15,60],[5,14,60],[6,13,60],[7,12,60],[8,10,61],[9,10,61],[10,8,61],[11,7,61],[0,17,60],[1,16,60],[1,16,60]],2030:[[3,4,61],[4,4,61],[5,2,61],[6,2,61],[6,31,61],[7,30,61],[8,28,62],[9,28,62],[10,27,62],[11,27,62],[0,5,61],[1,4,61],[2,6,61]],2031:[[2,25,62],[3,24,62],[4,23,62],[5,22,62],[6,21,62],[7,20,62],[8,18,63],[9,18,63],[10,16,63],[11,16,63],[0,25,62],[1,24,62],[1,24,62]],2032:[[2,13,63],[3,12,63],[4,11,63],[5,10,63],[6,9,63],[7,8,63],[8,6,64],[9,6,64],[10,4,64],[11,3,64],[0,14,63],[1,13,63],[1,13,63]],2033:[[2,31,64],[3,30,64],[4,29,64],[5,28,64],[6,27,64],[7,26,64],[8,24,65],[9,24,65],[10,23,65],[11,23,65],[0,1,64],[0,31,64],[2,2,64]],2034:[[2,21,65],[3,20,65],[4,19,65],[5,18,65],[6,17,65],[7,16,65],[8,14,66],[9,14,66],[10,13,66],[11,13,66],[0,21,65],[1,20,65],[1,20,65]],2035:[[3,10,66],[4,10,66],[5,8,66],[6,8,66],[7,6,66],[8,5,66],[9,4,67],[10,3,67],[11,2,67],null,[0,11,66],[1,10,66],[2,12,66]],2036:[[2,29,67],[3,28,67],[4,27,67],[5,26,67],[6,25,67],[7,24,67],[8,22,68],[9,22,68],[10,20,68],[0,1,67,11,19,68],[0,30,67],[1,29,67],[1,29,67]],2037:[[2,17,68],[3,16,68],[4,15,68],[5,14,68],[6,13,68],[7,12,68],[8,10,69],[9,10,69],[10,9,69],[11,9,69],[0,17,68],[1,16,68],[1,16,68]],2038:[[3,6,69],[4,6,69],[5,4,69],[6,4,69],[7,2,69],[8,1,69],[8,30,70],[9,30,70],[10,28,70],[11,28,70],[0,7,69],[1,6,69],[2,8,69]],2039:[[2,26,70],[3,25,70],[4,24,70],[5,23,70],[6,22,70],[7,21,70],[8,19,71],[9,19,71],[10,18,71],[11,18,71],[0,26,70],[1,25,70],[1,25,70]],2040:[[2,15,71],[3,14,71],[4,13,71],[5,12,71],[6,11,71],[7,10,71],[8,8,72],[9,8,72],[10,6,72],[11,5,72],[0,16,71],[1,15,71],[1,15,71]],2041:[[3,2,72],[4,2,72],[4,31,72],[5,30,72],[6,29,72],[7,28,72],[8,26,73],[9,26,73],[10,24,73],[11,24,73],[0,3,72],[1,2,72],[2,4,72]],2042:[[2,22,73],[3,21,73],[4,20,73],[5,19,73],[6,18,73],[7,17,73],[8,15,74],[9,15,74],[10,14,74],[11,14,74],[0,22,73],[1,21,73],[1,21,73]],2043:[[3,11,74],[4,11,74],[5,9,74],[6,9,74],[7,7,74],[8,6,74],[9,5,75],[10,4,75],[11,3,75],null,[0,12,74],[1,11,74],[2,13,74]],2044:[[2,29,75],[3,28,75],[4,27,75],[5,26,75],[6,25,75],[7,24,75],[8,22,76],[9,22,76],[10,21,76],[0,1,75,11,21,76],[0,30,75],[1,29,75],[1,29,75]],2045:[[2,19,76],[3,18,76],[4,17,76],[5,16,76],[6,15,76],[7,14,76],[8,12,77],[9,12,77],[10,10,77],[11,10,77],[0,19,76],[1,18,76],[1,18,76]],2046:[[3,7,77],[4,7,77],[5,5,77],[6,5,77],[7,3,77],[8,2,77],[9,1,78],[9,31,78],[10,30,78],[11,30,78],[0,8,77],[1,7,77],[2,9,77]],2047:[[2,28,78],[3,27,78],[4,26,78],[5,25,78],[6,24,78],[7,23,78],[8,21,79],[9,21,79],[10,19,79],[11,18,79],[0,28,78],[1,27,78],[1,27,78]],2048:[[2,15,79],[3,14,79],[4,13,79],[5,12,79],[6,11,79],[7,10,79],[8,8,80],[9,8,80],[10,6,80],[11,6,80],[0,16,79],[1,15,79],[1,15,79]],2049:[[3,3,80],[4,3,80],[5,1,80],[6,1,80],[6,30,80],[7,29,80],[8,27,81],[9,27,81],[10,26,81],[11,26,81],[0,4,80],[1,3,80],[2,5,80]],2050:[[2,24,81],[3,23,81],[4,22,81],[5,21,81],[6,20,81],[7,19,81],[8,17,82],[9,17,82],[10,16,82],[11,16,82],[0,24,81],[1,23,81],[1,23,81]],2051:[[2,14,82],[3,13,82],[4,12,82],[5,11,82],[6,10,82],[7,9,82],[8,7,83],[9,7,83],[10,5,83],[11,4,83],[0,14,82],[1,13,82],[1,13,82]],2052:[[2,31,83],[3,30,83],[4,29,83],[5,28,83],[6,27,83],[7,26,83],[8,24,84],[9,24,84],[10,22,84],[11,22,84],[0,2,83],[1,1,83],[2,2,83]],2053:[[2,20,84],[3,19,84],[4,18,84],[5,17,84],[6,16,84],[7,15,84],[8,13,85],[9,13,85],[10,12,85],[11,12,85],[0,20,84],[1,19,84],[1,19,84]],2054:[[3,9,85],[4,9,85],[5,7,85],[6,7,85],[7,5,85],[8,4,85],[9,3,86],[10,2,86],[11,2,86],null,[0,10,85],[1,9,85],[2,11,85]],2055:[[2,30,86],[3,29,86],[4,28,86],[5,27,86],[6,26,86],[7,25,86],[8,23,87],[9,23,87],[10,21,87],[0,1,86,11,21,87],[0,30,86],[2,1,86],[2,1,86]],2056:[[2,18,87],[3,17,87],[4,16,87],[5,15,87],[6,14,87],[7,13,87],[8,11,88],[9,11,88],[10,9,88],[11,8,88],[0,19,87],[1,18,87],[1,18,87]],2057:[[3,5,88],[4,5,88],[5,3,88],[6,3,88],[7,1,88],[7,31,88],[8,29,89],[9,29,89],[10,28,89],[11,28,89],[0,6,88],[1,5,88],[2,7,88]],2058:[[2,26,89],[3,25,89],[4,24,89],[5,23,89],[6,22,89],[7,21,89],[8,19,90],[9,19,90],[10,17,90],[11,17,90],[0,26,89],[1,25,89],[1,25,89]],2059:[[2,15,90],[3,14,90],[4,13,90],[5,12,90],[6,11,90],[7,10,90],[8,8,91],[9,8,91],[10,6,91],[11,5,91],[0,15,90],[1,14,90],[1,14,90]],2060:[[3,1,91],[4,1,91],[4,30,91],[5,29,91],[6,28,91],[7,27,91],[8,25,92],[9,25,92],[10,24,92],[11,24,92],[0,3,91],[1,2,91],[2,3,91]],2061:[[2,22,92],[3,21,92],[4,20,92],[5,19,92],[6,18,92],[7,17,92],[8,15,93],[9,15,93],[10,14,93],[11,14,93],[0,22,92],[1,21,92],[1,21,92]],2062:[[3,11,93],[4,11,93],[5,9,93],[6,9,93],[7,7,93],[8,6,93],[9,5,94],[10,4,94],[11,3,94],null,[0,12,93],[1,11,93],[2,13,93]],2063:[[2,31,94],[3,30,94],[4,29,94],[5,28,94],[6,27,94],[7,26,94],[8,24,95],[9,24,95],[10,22,95],[0,2,94,11,21,95],[0,31,94],[2,2,94],[2,2,94]],2064:[[2,18,95],[3,17,95],[4,16,95],[5,15,95],[6,14,95],[7,13,95],[8,11,96],[9,11,96],[10,10,96],[11,10,96],[0,19,95],[1,18,95],[1,18,95]],2065:[[3,7,96],[4,7,96],[5,5,96],[6,5,96],[7,3,96],[8,2,96],[9,1,97],[9,31,97],[10,29,97],[11,29,97],[0,8,96],[1,7,96],[2,9,96]],2066:[[2,27,97],[3,26,97],[4,25,97],[5,24,97],[6,23,97],[7,22,97],[8,20,98],[9,20,98],[10,19,98],[11,19,98],[0,27,97],[1,26,97],[1,26,97]],2067:[[2,17,98],[3,16,98],[4,15,98],[5,14,98],[6,13,98],[7,12,98],[8,10,99],[9,10,99],[10,8,99],[11,7,99],[0,17,98],[1,16,98],[1,16,98]],2068:[[3,3,99],[4,3,99],[5,1,99],[6,1,99],[6,30,99],[7,29,99],[8,27,100],[9,27,100],[10,25,100],[11,25,100],[0,5,99],[1,4,99],[2,5,99]],2069:[[2,23,100],[3,22,100],[4,21,100],[5,20,100],[6,19,100],[7,18,100],[8,16,101],[9,16,101],[10,15,101],[11,15,101],[0,23,100],[1,22,100],[1,22,100]],2070:[[2,13,101],[3,12,101],[4,11,101],[5,10,101],[6,9,101],[7,8,101],[8,6,102],[9,6,102],[10,4,102],[11,3,102],[0,13,101],[1,12,101],[1,12,101]],2071:[[2,31,102],[3,30,102],[4,29,102],[5,28,102],[6,27,102],[7,26,102],[8,24,103],[9,24,103],[10,23,103],[11,23,103],[0,1,102],[0,31,102],[2,2,102]],2072:[[2,20,103],[3,19,103],[4,18,103],[5,17,103],[6,16,103],[7,15,103],[8,13,104],[9,13,104],[10,11,104],[11,11,104],[0,21,103],[1,20,103],[1,20,103]],2073:[[3,8,104],[4,8,104],[5,6,104],[6,6,104],[7,4,104],[8,3,104],[9,2,105],[10,1,105],[11,1,105],[11,31,105],[0,9,104],[1,8,104],[2,10,104]],2074:[[2,29,105],[3,28,105],[4,27,105],[5,26,105],[6,25,105],[7,24,105],[8,22,106],[9,22,106],[10,20,106],[11,19,106],[0,29,105],[1,28,105],[1,28,105]],2075:[[2,17,106],[3,16,106],[4,15,106],[5,14,106],[6,13,106],[7,12,106],[8,10,107],[9,10,107],[10,8,107],[11,8,107],[0,17,106],[1,16,106],[1,16,106]],2076:[[3,4,107],[4,4,107],[5,2,107],[6,2,107],[6,31,107],[7,30,107],[8,28,108],[9,28,108],[10,27,108],[11,27,108],[0,6,107],[1,5,107],[2,6,107]],2077:[[2,25,108],[3,24,108],[4,23,108],[5,22,108],[6,21,108],[7,20,108],[8,18,109],[9,18,109],[10,17,109],[11,17,109],[0,25,108],[1,24,108],[1,24,108]],2078:[[2,15,109],[3,14,109],[4,13,109],[5,12,109],[6,11,109],[7,10,109],[8,8,110],[9,8,110],[10,6,110],[11,5,110],[0,15,109],[1,14,109],[1,14,109]],2079:[[3,2,110],[4,2,110],[4,31,110],[5,30,110],[6,29,110],[7,28,110],[8,26,111],[9,26,111],[10,24,111],[11,24,111],[0,3,110],[1,2,110],[2,4,110]],2080:[[2,21,111],[3,20,111],[4,19,111],[5,18,111],[6,17,111],[7,16,111],[8,14,112],[9,14,112],[10,13,112],[11,13,112],[0,22,111],[1,21,111],[1,21,111]],2081:[[3,10,112],[4,10,112],[5,8,112],[6,8,112],[7,6,112],[8,5,112],[9,4,113],[10,3,113],[11,3,113],null,[0,11,112],[1,10,112],[2,12,112]],2082:[[2,31,113],[3,30,113],[4,29,113],[5,28,113],[6,27,113],[7,26,113],[8,24,114],[9,24,114],[10,22,114],[0,2,113,11,22,114],[0,31,113],[2,2,113],[2,2,113]],2083:[[2,20,114],[3,19,114],[4,18,114],[5,17,114],[6,16,114],[7,15,114],[8,13,115],[9,13,115],[10,11,115],[11,10,115],[0,20,114],[1,19,114],[1,19,114]],2084:[[3,6,115],[4,6,115],[5,4,115],[6,4,115],[7,2,115],[8,1,115],[8,30,116],[9,30,116],[10,29,116],[11,29,116],[0,8,115],[1,7,115],[2,8,115]],2085:[[2,27,116],[3,26,116],[4,25,116],[5,24,116],[6,23,116],[7,22,116],[8,20,117],[9,20,117],[10,18,117],[11,18,117],[0,27,116],[1,26,116],[1,26,116]],2086:[[2,16,117],[3,15,117],[4,14,117],[5,13,117],[6,12,117],[7,11,117],[8,9,118],[9,9,118],[10,7,118],[11,6,118],[0,16,117],[1,15,117],[1,15,117]],2087:[[3,3,118],[4,3,118],[5,1,118],[6,1,118],[6,30,118],[7,29,118],[8,27,119],[9,27,119],[10,26,119],[11,26,119],[0,4,118],[1,3,118],[2,5,118]],2088:[[2,23,119],[3,22,119],[4,21,119],[5,20,119],[6,19,119],[7,18,119],[8,16,120],[9,16,120],[10,14,120],[11,14,120],[0,24,119],[1,23,119],[1,23,119]],2089:[[2,12,120],[3,11,120],[4,10,120],[5,9,120],[6,8,120],[7,7,120],[8,5,121],[9,5,121],[10,4,121],[11,4,121],[0,12,120],[1,11,120],[1,11,120]],2090:[[3,1,121],[4,1,121],[4,30,121],[5,29,121],[6,28,121],[7,27,121],[8,25,122],[9,25,122],[10,23,122],[11,22,122],[0,2,121],[1,1,121],[2,3,121]],2091:[[2,20,122],[3,19,122],[4,18,122],[5,17,122],[6,16,122],[7,15,122],[8,13,123],[9,13,123],[10,12,123],[11,12,123],[0,20,122],[1,19,122],[1,19,122]],2092:[[3,8,123],[4,8,123],[5,6,123],[6,6,123],[7,4,123],[8,3,123],[9,2,124],[10,1,124],[10,30,124],[11,30,124],[0,10,123],[1,9,123],[2,10,123]],2093:[[2,28,124],[3,27,124],[4,26,124],[5,25,124],[6,24,124],[7,23,124],[8,21,125],[9,21,125],[10,20,125],[11,20,125],[0,28,124],[1,27,124],[1,27,124]],2094:[[2,18,125],[3,17,125],[4,16,125],[5,15,125],[6,14,125],[7,13,125],[8,11,126],[9,11,126],[10,9,126],[11,8,126],[0,18,125],[1,17,125],[1,17,125]],2095:[[3,5,126],[4,5,126],[5,3,126],[6,3,126],[7,1,126],[7,31,126],[8,29,127],[9,29,127],[10,27,127],[11,27,127],[0,6,126],[1,5,126],[2,7,126]],2096:[[2,24,127],[3,23,127],[4,22,127],[5,21,127],[6,20,127],[7,19,127],[8,17,128],[9,17,128],[10,16,128],[11,16,128],[0,25,127],[1,24,127],[1,24,127]],2097:[[2,14,128],[3,13,128],[4,12,128],[5,11,128],[6,10,128],[7,9,128],[8,7,129],[9,7,129],[10,6,129],[11,6,129],[0,14,128],[1,13,128],[1,13,128]],2098:[[3,3,129],[4,3,129],[5,1,129],[6,1,129],[6,30,129],[7,29,129],[8,27,130],[9,27,130],[10,25,130],[11,24,130],[0,4,129],[1,3,129],[2,5,129]],2099:[[2,22,130],[3,21,130],[4,20,130],[5,19,130],[6,18,130],[7,17,130],[8,15,131],[9,15,131],[10,13,131],[11,13,131],[0,22,130],[1,21,130],[1,21,130]],2100:[[3,10,131],[4,10,131],[5,8,131],[6,8,131],[7,6,131],[8,5,131],null,null,null,null,[0,11,131],[1,10,131],[2,12,131]],months:13,year:5729}; + +exports.calendar = calendar; + + +/***/ }), + +/***/ 2435: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/*eslint-disable*/ +const calendar ={1969:[[2,19,0],[3,18,0],[4,17,0],[5,16,0],[6,15,0],[7,14,0],[8,12,0],[9,12,0],[10,10,0],[11,10,0]],1970:[[2,9,1],[3,8,1],[4,7,1],[5,6,1],[6,5,1],[7,4,1],[8,2,1],[9,2,1],[10,1,1],[10,30,1],[0,8,0,11,30,1],[1,7,0]],1971:[[1,26,2],[2,28,2],[3,26,2],[4,26,2],[5,24,2],[6,24,2],[7,22,2],[8,21,2],[9,20,2],[10,19,2],[11,18,2],[0,28,1]],1972:[[1,16,3],[2,16,3],[3,14,3],[4,14,3],[5,12,3],[6,12,3],[7,10,3],[8,9,3],[9,8,3],[10,7,3],[11,6,3],[0,17,2]],1973:[[1,4,4],[2,6,4],[3,4,4],[4,4,4],[5,2,4],[6,1,4],[6,30,4],[7,29,4],[8,27,4],[9,27,4],[10,25,4],[0,5,3,11,25,4]],1974:[[0,24,5],[1,23,5],[2,24,5],[3,23,5],[4,22,5],[5,21,5],[6,20,5],[7,19,5],[8,17,5],[9,16,5],[10,15,5],[11,15,5]],1975:[[0,13,6],[1,12,6],[2,13,6],[3,12,6],[4,12,6],[5,10,6],[6,10,6],[7,8,6],[8,6,6],[9,6,6],[10,4,6],[11,4,6]],1976:[[0,2,7,11,22,8],[1,1,7],[2,1,7],[2,31,7],[3,30,7],[4,30,7],[5,28,7],[6,28,7],[7,26,7],[8,24,7],[9,24,7],[10,22,7]],1977:[[11,11,9],[0,20,8],[1,19,8],[2,20,8],[3,19,8],[4,19,8],[5,17,8],[6,17,8],[7,15,8],[8,14,8],[9,13,8],[10,12,8]],1978:[[11,1,10],[0,10,9,11,30,10],[1,8,9],[2,10,9],[3,8,9],[4,8,9],[5,6,9],[6,6,9],[7,5,9],[8,3,9],[9,3,9],[10,1,9]],1979:[[10,20,11],[11,20,11],[0,29,10],[1,27,10],[2,29,10],[3,27,10],[4,27,10],[5,25,10],[6,25,10],[7,23,10],[8,22,10],[9,22,10]],1980:[[10,9,12],[11,8,12],[0,19,11],[1,17,11],[2,18,11],[3,16,11],[4,15,11],[5,14,11],[6,13,11],[7,12,11],[8,10,11],[9,10,11]],1981:[[9,28,13],[10,27,13],[0,7,12,11,27,13],[1,5,12],[2,7,12],[3,5,12],[4,5,12],[5,3,12],[6,2,12],[7,1,12],[7,30,12],[8,29,12]],1982:[[9,18,14],[10,16,14],[11,16,14],[0,26,13],[1,24,13],[2,26,13],[3,24,13],[4,24,13],[5,22,13],[6,21,13],[7,20,13],[8,18,13]],1983:[[9,7,15],[10,5,15],[11,5,15],[0,15,14],[1,14,14],[2,15,14],[3,14,14],[4,13,14],[5,12,14],[6,11,14],[7,9,14],[8,8,14]],1984:[[8,26,16],[9,25,16],[10,23,16],[0,4,15,11,23,16],[1,2,15],[2,3,15],[3,2,15],[4,2,15],[4,31,15],[5,30,15],[6,29,15],[7,27,15]],1985:[[8,15,17],[9,15,17],[10,13,17],[11,13,17],[0,22,16],[1,20,16],[2,22,16],[3,21,16],[4,20,16],[5,19,16],[6,18,16],[7,17,16]],1986:[[8,5,18],[9,4,18],[10,3,18],[11,2,18],[0,11,17],[1,10,17],[2,11,17],[3,10,17],[4,9,17],[5,8,17],[6,8,17],[7,6,17]],1987:[[7,25,19],[8,24,19],[9,23,19],[10,22,19],[0,1,18,11,21,19],[0,30,18],[2,1,18],[2,30,18],[3,29,18],[4,28,18],[5,27,18],[6,26,18]],1988:[[7,13,20],[8,12,20],[9,11,20],[10,10,20],[11,10,20],[0,20,19],[1,18,19],[2,19,19],[3,17,19],[4,16,19],[5,15,19],[6,14,19]],1989:[[7,2,21],[8,1,21],[8,30,21],[9,30,21],[10,29,21],[0,8,20,11,29,21],[1,7,20],[2,8,20],[3,7,20],[4,6,20],[5,4,20],[6,4,20]],1990:[[6,23,22],[7,21,22],[8,20,22],[9,19,22],[10,18,22],[11,18,22],[0,27,21],[1,26,21],[2,27,21],[3,26,21],[4,25,21],[5,23,21]],1991:[[6,12,23],[7,11,23],[8,9,23],[9,8,23],[10,7,23],[11,7,23],[0,16,22],[1,15,22],[2,17,22],[3,15,22],[4,15,22],[5,13,22]],1992:[[6,1,24],[6,30,24],[7,29,24],[8,27,24],[9,26,24],[10,25,24],[0,5,23,11,25,24],[1,4,23],[2,5,23],[3,4,23],[4,3,23],[5,2,23]],1993:[[5,21,25],[6,20,25],[7,18,25],[8,17,25],[9,16,25],[10,14,25],[11,14,25],[0,23,24],[1,22,24],[2,24,24],[3,22,24],[4,22,24]],1994:[[5,10,26],[6,9,26],[7,8,26],[8,6,26],[9,6,26],[10,4,26],[11,3,26],[0,12,25],[1,11,25],[2,13,25],[3,12,25],[4,11,25]],1995:[[4,30,27],[5,29,27],[6,28,27],[7,27,27],[8,25,27],[9,25,27],[10,23,27],[0,2,26,11,23,27],[0,31,26],[2,2,26],[3,1,26],[3,30,26]],1996:[[4,18,28],[5,17,28],[6,16,28],[7,15,28],[8,13,28],[9,13,28],[10,12,28],[11,11,28],[0,21,27],[1,19,27],[2,20,27],[3,18,27]],1997:[[4,7,29],[5,6,29],[6,5,29],[7,4,29],[8,2,29],[9,2,29],[10,1,29],[11,1,29],[0,10,28,11,30,29],[1,8,28],[2,10,28],[3,8,28]],1998:[[3,27,30],[4,26,30],[5,25,30],[6,24,30],[7,23,30],[8,21,30],[9,21,30],[10,20,30],[11,19,30],[0,29,29],[1,27,29],[2,29,29]],1999:[[3,17,31],[4,16,31],[5,15,31],[6,14,31],[7,12,31],[8,11,31],[9,10,31],[10,9,31],[11,9,31],[0,18,30],[1,17,30],[2,18,30]],2000:[[3,6,32],[4,5,32],[5,3,32],[6,3,32],[7,1,32],[7,30,32],[8,28,32],[9,28,32],[10,27,32],[0,8,31,11,27,32],[1,7,31],[2,7,31]],2001:[[2,26,33],[3,25,33],[4,24,33],[5,22,33],[6,22,33],[7,20,33],[8,18,33],[9,17,33],[10,16,33],[11,16,33],[0,26,32],[1,24,32]],2002:[[2,15,34],[3,14,34],[4,13,34],[5,12,34],[6,11,34],[7,10,34],[8,8,34],[9,7,34],[10,6,34],[11,5,34],[0,15,33],[1,13,33]],2003:[[2,4,35],[3,3,35],[4,2,35],[5,1,35],[6,1,35],[6,30,35],[7,29,35],[8,27,35],[9,26,35],[10,25,35],[0,4,34,11,24,35],[1,2,34]],2004:[[1,21,36],[2,22,36],[3,20,36],[4,20,36],[5,19,36],[6,18,36],[7,17,36],[8,15,36],[9,15,36],[10,14,36],[11,13,36],[0,23,35]],2005:[[1,10,37],[2,11,37],[3,10,37],[4,9,37],[5,8,37],[6,7,37],[7,6,37],[8,5,37],[9,4,37],[10,3,37],[11,3,37],[0,12,36]],2006:[[0,31,38],[2,1,38],[2,30,38],[3,29,38],[4,28,38],[5,26,38],[6,26,38],[7,25,38],[8,24,38],[9,23,38],[10,22,38],[0,1,37,11,22,38]],2007:[[0,20,39],[1,19,39],[2,20,39],[3,18,39],[4,18,39],[5,16,39],[6,15,39],[7,14,39],[8,13,39],[9,13,39],[10,11,39],[11,11,39]],2008:[[0,10,40,11,29,41],[1,8,40],[2,9,40],[3,7,40],[4,6,40],[5,5,40],[6,4,40],[7,2,40],[8,1,40],[9,1,40],[9,30,40],[10,29,40]],2009:[[11,18,42],[0,27,41],[1,26,41],[2,28,41],[3,26,41],[4,25,41],[5,24,41],[6,23,41],[7,22,41],[8,20,41],[9,20,41],[10,18,41]],2010:[[11,7,43],[0,16,42],[1,15,42],[2,17,42],[3,15,42],[4,15,42],[5,13,42],[6,13,42],[7,11,42],[8,10,42],[9,9,42],[10,7,42]],2011:[[10,26,44],[0,5,43,11,26,44],[1,4,43],[2,6,43],[3,5,43],[4,4,43],[5,3,43],[6,2,43],[7,1,43],[7,30,43],[8,29,43],[9,28,43]],2012:[[10,15,45],[11,14,45],[0,24,44],[1,23,44],[2,24,44],[3,22,44],[4,22,44],[5,21,44],[6,20,44],[7,19,44],[8,17,44],[9,17,44]],2013:[[10,4,46],[11,4,46],[0,13,45],[1,11,45],[2,13,45],[3,11,45],[4,11,45],[5,10,45],[6,9,45],[7,8,45],[8,7,45],[9,6,45]],2014:[[9,25,47],[10,23,47],[0,2,46,11,23,47],[1,1,46],[2,2,46],[3,1,46],[3,30,46],[4,30,46],[5,28,46],[6,28,46],[7,27,46],[8,25,46]],2015:[[9,14,48],[10,13,48],[11,12,48],[0,21,47],[1,20,47],[2,21,47],[3,20,47],[4,19,47],[5,18,47],[6,17,47],[7,16,47],[8,14,47]],2016:[[9,2,49],[10,1,49],[10,30,49],[0,11,48,11,30,49],[1,10,48],[2,10,48],[3,8,48],[4,8,48],[5,6,48],[6,6,48],[7,4,48],[8,2,48]],2017:[[8,21,50],[9,21,50],[10,19,50],[11,19,50],[0,29,49],[1,28,49],[2,29,49],[3,27,49],[4,27,49],[5,25,49],[6,24,49],[7,23,49]],2018:[[8,11,51],[9,10,51],[10,9,51],[11,8,51],[0,18,50],[1,17,50],[2,18,50],[3,17,50],[4,16,50],[5,15,50],[6,14,50],[7,12,50]],2019:[[7,31,52],[8,30,52],[9,29,52],[10,28,52],[0,7,51,11,27,52],[1,6,51],[2,8,51],[3,6,51],[4,6,51],[5,4,51],[6,4,51],[7,2,51]],2020:[[7,20,53],[8,18,53],[9,18,53],[10,16,53],[11,16,53],[0,26,52],[1,25,52],[2,25,52],[3,24,52],[4,24,52],[5,22,52],[6,22,52]],2021:[[7,9,54],[8,8,54],[9,7,54],[10,6,54],[11,5,54],[0,14,53],[1,13,53],[2,14,53],[3,13,53],[4,13,53],[5,11,53],[6,11,53]],2022:[[6,30,55],[7,28,55],[8,27,55],[9,26,55],[10,25,55],[0,4,54,11,25,55],[1,2,54],[2,4,54],[3,2,54],[4,2,54],[4,31,54],[5,30,54]],2023:[[6,19,56],[7,17,56],[8,16,56],[9,16,56],[10,15,56],[11,14,56],[0,23,55],[1,21,55],[2,23,55],[3,21,55],[4,21,55],[5,19,55]],2024:[[6,7,57],[7,5,57],[8,4,57],[9,4,57],[10,3,57],[11,3,57],[0,13,56],[1,11,56],[2,11,56],[3,10,56],[4,9,56],[5,7,56]],2025:[[5,26,58],[6,26,58],[7,24,58],[8,23,58],[9,23,58],[10,22,58],[0,1,57,11,21,58],[0,31,57],[2,1,57],[2,30,57],[3,29,57],[4,28,57]],2026:[[5,16,59],[6,15,59],[7,14,59],[8,12,59],[9,12,59],[10,11,59],[11,10,59],[0,20,58],[1,18,58],[2,20,58],[3,18,58],[4,18,58]],2027:[[5,6,60],[6,5,60],[7,3,60],[8,2,60],[9,1,60],[9,31,60],[10,29,60],[0,9,59,11,29,60],[1,8,59],[2,9,59],[3,8,59],[4,7,59]],2028:[[4,25,61],[5,24,61],[6,23,61],[7,22,61],[8,20,61],[9,19,61],[10,18,61],[11,17,61],[0,28,60],[1,26,60],[2,27,60],[3,26,60]],2029:[[4,14,62],[5,13,62],[6,13,62],[7,11,62],[8,10,62],[9,9,62],[10,7,62],[11,7,62],[0,16,61],[1,14,61],[2,16,61],[3,15,61]],2030:[[4,3,63],[5,2,63],[6,2,63],[7,1,63],[7,30,63],[8,29,63],[9,28,63],[10,26,63],[0,5,62,11,26,63],[1,4,62],[2,5,62],[3,4,62]],2031:[[3,23,64],[4,22,64],[5,21,64],[6,21,64],[7,20,64],[8,18,64],[9,17,64],[10,16,64],[11,15,64],[0,24,63],[1,23,63],[2,24,63]],2032:[[3,11,65],[4,10,65],[5,9,65],[6,9,65],[7,8,65],[8,6,65],[9,6,65],[10,4,65],[11,4,65],[0,14,64],[1,12,64],[2,13,64]],2033:[[3,1,66],[3,30,66],[4,29,66],[5,28,66],[6,28,66],[7,26,66],[8,25,66],[9,24,66],[10,23,66],[0,2,65,11,23,66],[1,1,65],[2,2,65]],2034:[[2,21,67],[3,20,67],[4,19,67],[5,17,67],[6,17,67],[7,15,67],[8,14,67],[9,13,67],[10,12,67],[11,12,67],[0,21,66],[1,20,66]],2035:[[2,11,68],[3,9,68],[4,9,68],[5,7,68],[6,6,68],[7,5,68],[8,3,68],[9,2,68],[10,1,68],[11,1,68],[0,11,67,11,30,68],[1,9,67]],2036:[[1,28,69],[2,29,69],[3,27,69],[4,27,69],[5,25,69],[6,24,69],[7,23,69],[8,21,69],[9,20,69],[10,19,69],[11,19,69],[0,29,68]],2037:[[1,16,70],[2,18,70],[3,17,70],[4,16,70],[5,15,70],[6,14,70],[7,12,70],[8,11,70],[9,10,70],[10,8,70],[11,8,70],[0,17,69]],2038:[[1,5,71],[2,7,71],[3,6,71],[4,5,71],[5,4,71],[6,3,71],[7,2,71],[7,31,71],[8,30,71],[9,29,71],[10,27,71],[0,7,70,11,27,71]],2039:[[0,26,72],[1,24,72],[2,26,72],[3,24,72],[4,24,72],[5,23,72],[6,22,72],[7,21,72],[8,19,72],[9,19,72],[10,17,72],[11,17,72]],2040:[[0,15,73],[1,14,73],[2,14,73],[3,13,73],[4,12,73],[5,11,73],[6,10,73],[7,9,73],[8,7,73],[9,7,73],[10,6,73],[11,5,73]],2041:[[0,4,74,11,24,75],[1,2,74],[2,4,74],[3,2,74],[4,1,74],[4,31,74],[5,29,74],[6,29,74],[7,28,74],[8,26,74],[9,26,74],[10,25,74]],2042:[[11,14,76],[0,23,75],[1,21,75],[2,23,75],[3,21,75],[4,20,75],[5,19,75],[6,18,75],[7,17,75],[8,15,75],[9,15,75],[10,14,75]],2043:[[11,3,77],[0,12,76],[1,11,76],[2,12,76],[3,11,76],[4,10,76],[5,8,76],[6,8,76],[7,6,76],[8,4,76],[9,4,76],[10,3,76]],2044:[[10,21,78],[0,2,77,11,21,78],[0,31,77],[2,1,77],[2,30,77],[3,29,77],[4,28,77],[5,26,77],[6,26,77],[7,24,77],[8,23,77],[9,22,77]],2045:[[10,10,79],[11,10,79],[0,19,78],[1,18,78],[2,20,78],[3,18,78],[4,18,78],[5,16,78],[6,15,78],[7,14,78],[8,12,78],[9,12,78]],2046:[[9,31,80],[10,29,80],[0,8,79,11,28,80],[1,7,79],[2,9,79],[3,7,79],[4,7,79],[5,5,79],[6,5,79],[7,3,79],[8,2,79],[9,1,79]],2047:[[9,20,81],[10,19,81],[11,18,81],[0,27,80],[1,26,80],[2,27,80],[3,26,80],[4,26,80],[5,24,80],[6,24,80],[7,23,80],[8,21,80]],2048:[[9,9,82],[10,7,82],[11,7,82],[0,16,81],[1,15,81],[2,16,81],[3,14,81],[4,14,81],[5,12,81],[6,12,81],[7,11,81],[8,10,81]],2049:[[8,28,83],[9,28,83],[10,26,83],[0,5,82,11,26,83],[1,3,82],[2,5,82],[3,3,82],[4,3,82],[5,2,82],[6,1,82],[6,31,82],[7,30,82]],2050:[[8,17,84],[9,17,84],[10,15,84],[11,15,84],[0,24,83],[1,23,83],[2,24,83],[3,22,83],[4,22,83],[5,20,83],[6,20,83],[7,19,83]],2051:[[8,6,85],[9,6,85],[10,5,85],[11,4,85],[0,14,84],[1,12,84],[2,14,84],[3,12,84],[4,11,84],[5,10,84],[6,9,84],[7,8,84]],2052:[[7,26,86],[8,24,86],[9,24,86],[10,22,86],[0,3,85,11,22,86],[1,2,85],[2,2,85],[3,1,85],[3,30,85],[4,29,85],[5,28,85],[6,27,85]],2053:[[7,15,87],[8,13,87],[9,13,87],[10,11,87],[11,11,87],[0,21,86],[1,20,86],[2,21,86],[3,20,86],[4,19,86],[5,17,86],[6,17,86]],2054:[[7,5,88],[8,3,88],[9,2,88],[10,1,88],[10,30,88],[0,10,87,11,30,88],[1,9,87],[2,10,87],[3,9,87],[4,9,87],[5,7,87],[6,6,87]],2055:[[6,25,89],[7,24,89],[8,22,89],[9,21,89],[10,20,89],[11,19,89],[0,29,88],[1,27,88],[2,29,88],[3,28,88],[4,28,88],[5,26,88]],2056:[[6,14,90],[7,12,90],[8,11,90],[9,10,90],[10,8,90],[11,8,90],[0,18,89],[1,17,89],[2,17,89],[3,16,89],[4,16,89],[5,14,89]],2057:[[6,3,91],[7,1,91],[7,31,91],[8,30,91],[9,29,91],[10,27,91],[0,6,90,11,27,91],[1,5,90],[2,6,90],[3,5,90],[4,5,90],[5,3,90]],2058:[[5,22,92],[6,21,92],[7,20,92],[8,19,92],[9,18,92],[10,17,92],[11,17,92],[0,25,91],[1,24,91],[2,25,91],[3,24,91],[4,23,91]],2059:[[5,11,93],[6,11,93],[7,9,93],[8,8,93],[9,8,93],[10,6,93],[11,6,93],[0,15,92],[1,14,92],[2,15,92],[3,13,92],[4,13,92]],2060:[[4,31,94],[5,29,94],[6,28,94],[7,27,94],[8,26,94],[9,25,94],[10,24,94],[0,5,93,11,24,94],[1,3,93],[2,4,93],[3,2,93],[4,1,93]],2061:[[4,20,95],[5,19,95],[6,18,95],[7,16,95],[8,15,95],[9,15,95],[10,13,95],[11,13,95],[0,23,94],[1,21,94],[2,23,94],[3,21,94]],2062:[[4,10,96],[5,8,96],[6,8,96],[7,6,96],[8,4,96],[9,4,96],[10,3,96],[11,2,96],[0,12,95],[1,10,95],[2,12,95],[3,11,95]],2063:[[3,30,97],[4,29,97],[5,27,97],[6,27,97],[7,25,97],[8,24,97],[9,23,97],[10,22,97],[0,1,96,11,21,97],[0,31,96],[2,1,96],[2,31,96]],2064:[[3,18,98],[4,17,98],[5,16,98],[6,15,98],[7,14,98],[8,12,98],[9,12,98],[10,10,98],[11,9,98],[0,20,97],[1,18,97],[2,19,97]],2065:[[3,7,99],[4,6,99],[5,5,99],[6,5,99],[7,3,99],[8,2,99],[9,1,99],[9,31,99],[10,29,99],[0,8,98,11,28,99],[1,6,98],[2,8,98]],2066:[[2,27,100],[3,25,100],[4,25,100],[5,24,100],[6,24,100],[7,22,100],[8,21,100],[9,20,100],[10,19,100],[11,18,100],[0,27,99],[1,25,99]],2067:[[2,16,101],[3,15,101],[4,14,101],[5,13,101],[6,13,101],[7,11,101],[8,10,101],[9,10,101],[10,8,101],[11,8,101],[0,16,100],[1,15,100]],2068:[[2,5,102],[3,3,102],[4,3,102],[5,1,102],[6,1,102],[6,30,102],[7,29,102],[8,28,102],[9,27,102],[10,26,102],[0,6,101,11,25,102],[1,4,101]],2069:[[1,23,103],[2,24,103],[3,22,103],[4,22,103],[5,20,103],[6,20,103],[7,18,103],[8,17,103],[9,16,103],[10,15,103],[11,15,103],[0,24,102]],2070:[[1,12,104],[2,14,104],[3,12,104],[4,11,104],[5,10,104],[6,9,104],[7,8,104],[8,6,104],[9,5,104],[10,4,104],[11,4,104],[0,13,103]],2071:[[1,1,105],[2,3,105],[3,2,105],[4,1,105],[4,30,105],[5,29,105],[6,28,105],[7,26,105],[8,25,105],[9,24,105],[10,23,105],[0,2,104,11,22,105]],2072:[[0,21,106],[1,20,106],[2,21,106],[3,19,106],[4,19,106],[5,17,106],[6,17,106],[7,15,106],[8,13,106],[9,13,106],[10,11,106],[11,11,106]],2073:[[0,9,107,11,30,108],[1,8,107],[2,10,107],[3,9,107],[4,8,107],[5,7,107],[6,6,107],[7,5,107],[8,3,107],[9,2,107],[10,1,107],[10,30,107]],2074:[[11,19,109],[0,28,108],[1,27,108],[2,29,108],[3,27,108],[4,27,108],[5,26,108],[6,25,108],[7,23,108],[8,22,108],[9,21,108],[10,20,108]],2075:[[11,9,110],[0,18,109],[1,16,109],[2,18,109],[3,16,109],[4,16,109],[5,15,109],[6,14,109],[7,13,109],[8,11,109],[9,11,109],[10,9,109]],2076:[[10,27,111],[0,7,110,11,27,111],[1,6,110],[2,6,110],[3,5,110],[4,4,110],[5,3,110],[6,2,110],[7,1,110],[7,30,110],[8,29,110],[9,29,110]],2077:[null,null,[0,26,111],[1,24,111],[2,25,111],[3,24,111],[4,23,111],[5,21,111],[6,21,111],[7,19,111],[8,18,111],[9,18,111]],year:1389}; + +exports.calendar = calendar; + + +/***/ }), + +/***/ 7797: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/** + * { + * 0: 'sunday', ... + * sunday: 0, ... + * } + */ +const DAYS = (function () { + const o = {}; + 'sunday|monday|tuesday|wednesday|thursday|friday|saturday' + .split('|') + .forEach((name, idx) => { + o[name] = idx; + o[idx] = name; + }); + return o +})(); + +function objectToString (o) { + return Object.prototype.toString.call(o) +} + +function isObject (arg) { + return typeof arg === 'object' && arg !== null +} + +function isDate (d) { + return isObject(d) && objectToString(d) === '[object Date]' +} + +const isNil = (v) => v === null || v === undefined; + +/** + * convert string to number + * @private + * @param {String} str + * @return {Number} converted number or undefined + */ +function toNumber (str) { + const num = parseInt(str, 10); + if (!isNaN(num)) { + return num + } +} + +/** + * extract or set year + * @private + * @param {Number|Date|String} year + * @return {Number} year + */ +function toYear (year) { + if (!year) { + year = new Date().getFullYear(); + } else if (year instanceof Date) { + year = year.getFullYear(); + } else if (typeof year === 'string') { + year = toNumber(year); + } + return year +} + +/** + * convert string to Date. + * 2017 : year = 2017, month = 1, day = 1 + * '2017-07' : year = 2017, month = 7, day = 1 + * '2017-07-03': year = 2017, month = 7, day = 3 + * @param {String} str + * @param {Boolean} isUTC - return date in UTC + * @return {Date} + */ +function toDate (str, isUTC) { + const m = /^(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?.*$/.exec((str || '').toString()); + if (m) { + m.shift(); + const [year, month, day] = m.map((num) => parseInt(num || 1, 10)); + if (isUTC) { + return new Date(Date.UTC(year, month - 1, day)) + } else { + return new Date(year, month - 1, day) + } + } +} + +exports.DAYS = DAYS; +exports.isDate = isDate; +exports.isNil = isNil; +exports.isObject = isObject; +exports.toDate = toDate; +exports.toNumber = toNumber; +exports.toYear = toYear; + + +/***/ }), + +/***/ 4801: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var deepmerge = __nccwpck_require__(6323); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge); + +/** + * lodash compatible methods + */ + +/** + * get value at `keys` from `object` + * @example + * get({a: {b: {c: 2}}}, ['a', 'b', 'c']) //> 2 + */ +const get = (obj, keys = [], def) => { + let o = obj; + if (typeof keys === 'string') keys = keys.split('.'); + for (const key of keys) { + if (o && o[key]) { o = o[key]; } else { return def } + } + return o +}; + +/** + * set `value` at `keys` from `object` + * @example + * set({a: {b: {c: 2}}}, ['a', 'b', 'c'], 3) + */ +const set = (obj, keys = [], value) => { + let key; + let ref; + let o = obj; + for (key of keys) { + ref = o; + if (toString.call(o[key]) !== '[object Object]') o[key] = {}; + o = o[key]; + } + ref[key] = value; + return obj +}; + +/** + * omit `object` properties `props` + */ +const omit = (object, props = []) => Object.keys(object) + .filter(p => !~props.indexOf(p)) + .reduce((o, p) => { + p in object && (o[p] = object[p]); + return o + }, {}); + +const merge = (...args) => deepmerge__default["default"].all(args); + +const toNumber = (num, def) => { + const _num = Number(num); + return isNaN(_num) ? def : _num +}; + +var _ = { + get, + set, + omit, + merge +}; + +exports["default"] = _; +exports.get = get; +exports.merge = merge; +exports.omit = omit; +exports.set = set; +exports.toNumber = toNumber; + + +/***/ }), + +/***/ 5154: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var _vsop87Bearth = __nccwpck_require__(1562); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var _vsop87Bearth__default = /*#__PURE__*/_interopDefaultLegacy(_vsop87Bearth); + +const vsop87Bearth = _vsop87Bearth__default["default"]; + +exports.vsop87Bearth = vsop87Bearth; + + +/***/ }), + +/***/ 5803: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var HolidaysParser = __nccwpck_require__(3528); +var data = __nccwpck_require__(159); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var HolidaysParser__default = /*#__PURE__*/_interopDefaultLegacy(HolidaysParser); + +/** + * @copyright 2015-present (c) commenthol + * @license ISC + */ + +/** + * @class + * @param {String|Object} country - if object use `{ country: {String}, state: {String}, region: {String} }` + * @param {String} [state] - specifies state + * @param {String} [region] - specifies region + * @param {Object} [opts] - options + * @param {Array|String} opts.languages - set language(s) with ISO 639-1 shortcodes + * @param {String} opts.timezone - set timezone + * @param {Array} opts.types - holiday types to consider + * @example + * ```js + * new Holiday('US', 'la', 'no') // is the same as + * new Holiday('us.la.no') // is the same as + * new Holiday({ country: 'us', state: 'la', region: 'no'}) + * ``` + */ +class Holidays extends HolidaysParser__default["default"] { + constructor (country, state, region, opts) { + super(data.data, country, state, region, opts); + } +} + +exports.Holidays = Holidays; + + +/***/ }), + +/***/ 159: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const data = { + "version": "2022-11-02", + "license": "CC-BY-SA-3", + "holidays": { + "AD": { + "names": { + "ca": "Andorra", + "es": "Andorra", + "en": "Andorra" + }, + "dayoff": "sunday", + "langs": [ + "ca", + "es" + ], + "zones": [ + "Europe/Andorra" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "03-14": { + "_name": "Constitution Day" + }, + "05-01": { + "_name": "05-01" + }, + "08-15": { + "_name": "08-15" + }, + "09-08": { + "name": { + "en": "Our Lady of Meritxell", + "es": "Nuestra Sra. De Meritxell", + "ca": "Mare de Déu de Meritxell" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-24": { + "type": "bank", + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -3 14:00": { + "type": "bank", + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + } + }, + "regions": { + "07": { + "name": "Andorra la Vella", + "days": { + "1st saturday in August P3D": { + "name": { + "en": "Andorra La Vella Festival", + "ca": "Andorra La Vella Festival" + } + } + } + } + } + }, + "AE": { + "names": { + "en": "United Arab Emirates", + "ar": "دولة الإمارات العربية المتحدة" + }, + "langs": [ + "ar" + ], + "zones": [ + "Asia/Dubai" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01", + "name": { + "ar": "رأس السنة الميلادية" + } + }, + "12-02": { + "name": { + "en": "National Day", + "ar": "اليوم الوطني" + } + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + } + } + }, + "AG": { + "names": { + "en": "Antigua & Barbuda" + }, + "langs": [ + "en" + ], + "dayoff": "sunday", + "weekend": [ + "saturday", + "sunday" + ], + "zones": [ + "America/Port_of_Spain" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "08-01": { + "name": { + "en": "J'Ouvert Morning" + } + }, + "08-02": { + "name": { + "en": "Last Lap" + } + }, + "11-01 if saturday,sunday then next monday": { + "_name": "Independence Day" + }, + "12-09": { + "name": { + "en": "V.C Bird Day" + } + }, + "12-25 and if saturday then next monday if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + } + }, + "regions": { + "10": { + "name": "Barbuda", + "days": { + "easter 47 P4D": { + "name": { + "en": "Caribana" + }, + "type": "observance" + } + } + } + } + }, + "AI": { + "names": { + "en": "Anguilla" + }, + "langs": [ + "en" + ], + "dayoff": "sunday", + "weekend": [ + "saturday", + "sunday" + ], + "zones": [ + "America/Port_of_Spain" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-02": { + "name": { + "en": "James Ronald Webster Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-30": { + "name": { + "en": "Anguilla Day" + } + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "2nd monday in June": { + "name": { + "en": "Celebration of the Birthday of Her Majesty the Queen" + } + }, + "1st monday in August": { + "name": { + "en": "August Monday" + } + }, + "1st thursday in August": { + "name": { + "en": "August Thursday" + } + }, + "1st friday in August": { + "_name": "Constitution Day" + }, + "12-19": { + "name": { + "en": "National Heroes and Heroines Day" + } + }, + "12-25 and if saturday then next monday if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + } + } + }, + "AL": { + "names": { + "sq": "Shqipëri", + "en": "Albania" + }, + "dayoff": "sunday", + "langs": [ + "sq", + "es" + ], + "zones": [ + "Europe/Tirane" + ], + "days": { + "01-01 and if sunday then next tuesday": { + "_name": "01-01", + "substitute": true + }, + "01-02 and if sunday then next monday": { + "name": { + "sq": "Festa e Vitit të Ri", + "en": "New Year Holiday" + }, + "substitute": true + }, + "03-02": { + "name": { + "sq": "Dita e Besëlidhjes së Lezhës", + "en": "League of Lezhë day" + }, + "type": "observance" + }, + "03-07": { + "name": { + "sq": "Dita e Mësuesit", + "en": "Teacher's Day" + }, + "type": "observance" + }, + "03-08": { + "_name": "Mothers Day", + "type": "observance" + }, + "03-14 and if sunday then next monday": { + "name": { + "sq": "Dita e Verës", + "en": "Summer Day" + }, + "substitute": true + }, + "03-22 and if sunday then next monday": { + "name": { + "sq": "Dita e Sulltan Nevruzit", + "en": "Sultan Nevruz's Day" + }, + "substitute": true + }, + "04-01": { + "_name": "04-01", + "type": "observance" + }, + "easter": { + "name": { + "sq": "Pashkët Katolike", + "en": "Catholic Easter" + } + }, + "easter 1": { + "name": { + "sq": "Pashkët Katolike", + "en": "Catholic Easter" + } + }, + "orthodox": { + "name": { + "sq": "Pashkët Ortodokse", + "en": "Orthodox Easter" + } + }, + "orthodox 1": { + "name": { + "sq": "Pashkët Ortodokse", + "en": "Orthodox Easter" + } + }, + "05-01 and if sunday then next monday": { + "_name": "05-01", + "substitute": true + }, + "06-01": { + "name": { + "sq": "Dita Ndërkombëtare e Fëmijëve", + "en": "Children's Day" + }, + "type": "observance" + }, + "10-19 and if sunday then next monday": { + "name": { + "sq": "Dita e Nënë Terezës", + "en": "Mother Teresa Day" + }, + "substitute": true, + "active": [ + { + "from": 2004 + } + ] + }, + "11-22": { + "name": { + "sq": "Dita e Alfabetit", + "en": "Alphabet Day" + }, + "type": "observance" + }, + "11-28 and if sunday then next monday": { + "_name": "Independence Day", + "substitute": true + }, + "11-29 and if sunday then next monday": { + "_name": "Liberation Day", + "substitute": true + }, + "12-08 and if sunday then next monday": { + "name": { + "sq": "Dita Kombëtare e Rinisë", + "en": "Youth Day" + }, + "substitute": true, + "active": [ + { + "from": 2010 + } + ] + }, + "12-24": { + "_name": "12-24", + "type": "bank" + }, + "12-25 and if sunday then next monday": { + "_name": "12-25", + "substitute": true + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + }, + "regions": {} + }, + "AM": { + "names": { + "hy": "Հայաստան", + "en": "Armenia" + }, + "dayoff": "sunday", + "langs": [ + "hy" + ], + "zones": [ + "Asia/Yerevan" + ], + "days": { + "12-31": { + "_name": "12-31" + }, + "01-01 P2D": { + "_name": "01-01" + }, + "01-03 P3D": { + "name": { + "en": "Pre-Christmas holidays", + "hy": "Նախածննդյան տոներ" + } + }, + "01-06": { + "_name": "12-25" + }, + "01-28": { + "name": { + "en": "Army Day", + "hy": "Բանակի օր" + } + }, + "02-21": { + "name": { + "en": "Mother Language Day", + "hy": "Մայրենի լեզվի օր" + }, + "type": "observance" + }, + "easter -52": { + "name": { + "en": "St. Vartan the good work and the duty days", + "hy": "Սուրբ Վարդանանց տոն՝ բարի գործի եւ ազգային տուրքի օր" + }, + "type": "observance" + }, + "03-08": { + "_name": "03-08" + }, + "04-07": { + "name": { + "en": "Motherhood and Beauty Day", + "hy": "Մայրության, գեղեցկության եւ սիրո տոն" + }, + "type": "observance" + }, + "04-24": { + "_name": "Mothers Day" + }, + "05-01": { + "_name": "05-01" + }, + "05-08": { + "name": { + "en": "Yerkrapah Day", + "hy": "Երկրապահի օր" + }, + "type": "observance" + }, + "05-09": { + "name": { + "en": "Victory and Peace Day", + "hy": "Հաղթանակի եւ Խաղաղության տոն" + } + }, + "05-28": { + "name": { + "en": "Republic Day", + "hy": "Հանրապետության օր" + } + }, + "06-01": { + "name": { + "en": "The day of protection of children rights", + "hy": "Երեխաների իրավունքների պաշտպանության օր" + }, + "type": "observance" + }, + "07-05": { + "_name": "Constitution Day" + }, + "09-01": { + "name": { + "en": "Knowledge, Literacy and Education Day", + "hy": "Գիտելիքի, գրի եւ դպրության օր" + }, + "type": "observance" + }, + "09-21": { + "_name": "Independence Day" + }, + "2nd saturday in October": { + "name": { + "en": "Translator's Day", + "hy": "Թարգմանչաց տոն" + }, + "type": "observance" + }, + "12-07": { + "name": { + "en": "Earthquake Remembrance Day", + "hy": "Երկրաշարժի զոհերի հիշատակի օր" + }, + "type": "observance" + } + } + }, + "AO": { + "names": { + "pt": "Angola", + "en": "Angola" + }, + "dayoff": "sunday", + "zones": [ + "Africa/Lagos" + ], + "langs": [ + "pt" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-04": { + "name": { + "pt": "Dia do Início da Luta Armada de Libertação Nacional", + "en": "Liberation Day" + } + }, + "easter -47": { + "_name": "easter -47" + }, + "03-08": { + "name": { + "pt": "Dia Internacional da Mulher", + "en": "International Woman's Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-04": { + "name": { + "pt": "Dia da Paz", + "en": "Peace Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "09-17": { + "name": { + "pt": "Fundador da Nação e Dia dos Heróis Nacionais", + "en": "National Hero Day" + } + }, + "11-02": { + "_name": "11-02" + }, + "11-11": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "AR": { + "names": { + "es": "Argentina", + "en": "Argentina" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "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" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day", + "disable": [ + 2015 + ] + }, + "easter -48": { + "_name": "easter -48" + }, + "easter -47": { + "_name": "easter -47" + }, + "03-24": { + "name": { + "en": "Day of Remembrance for Truth and Justice", + "es": "Día de la Memoria por la Verdad y la Justicia" + } + }, + "substitutes 03-24 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "2020-03-30": { + "_name": "Bridge Day" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "04-02": { + "name": { + "en": "Day of the veterans and the fallen in Malvinas War", + "es": "Día del Veterano y de los Caídos en la Guerra de Malvinas" + } + }, + "substitutes 04-02 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "05-01": { + "_name": "05-01" + }, + "substitutes 05-01 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "05-25": { + "name": { + "en": "Day of the First National Government", + "es": "Primer Gobierno Patrio" + } + }, + "substitutes 05-25 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "06-20": { + "name": { + "en": "National Flag Day", + "es": "Día de la Bandera" + } + }, + "substitutes 06-20 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "07-09": { + "_name": "Independence Day" + }, + "substitutes 07-09 if tuesday then previous monday if thursday then next friday if saturday then previous friday": { + "_name": "Bridge Day", + "disable": [ + 2015, + 2022 + ] + }, + "3rd monday in August": { + "name": { + "en": "Anniversary of the death of General José de San Martín", + "es": "Día del Libertador José de San Martín" + } + }, + "10-12 if tuesday,wednesday then previous monday if thursday,friday,saturday,sunday then next monday": { + "name": { + "en": "Day of Respect for Cultural Diversity", + "es": "Día del Respeto a la Diversidad Cultural" + } + }, + "substitutes 10-12 if monday,tuesday,wednesday then previous friday": { + "_name": "Bridge Day", + "disable": [ + 2015, + 2016, + 2020 + ] + }, + "11-20 if tuesday,wednesday then previous monday if friday then next monday": { + "name": { + "en": "Day of National Sovereignty", + "es": "Día de la Soberanía nacional" + } + }, + "substitutes 11-20 if saturday,sunday then next monday": { + "_name": "Bridge Day", + "disable": [ + 2016 + ] + }, + "12-08": { + "_name": "12-08" + }, + "substitutes 12-08 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "12-24 12:00": { + "_name": "12-24", + "type": "optional" + }, + "substitutes 12-24 if tuesday then previous monday": { + "_name": "Bridge Day" + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if tuesday then previous monday if thursday then next friday": { + "_name": "Bridge Day" + }, + "12-31 12:00": { + "_name": "12-31", + "type": "optional" + } + } + }, + "AS": { + "names": { + "en": "American Samoa" + }, + "dayoff": "sunday", + "zones": [ + "Pacific/Pago_Pago" + ], + "langs": [ + "en" + ], + "_days": [ + "US" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington's Birthday" + } + }, + "03-17": false, + "04-15 if friday then next monday if saturday,sunday then next tuesday": false, + "04-17 and if sunday then next monday": { + "name": { + "en": "American Samoa Flag Day" + }, + "substitute": true + }, + "07-16": { + "name": { + "en": "Manu'a Cession Day" + }, + "type": "optional", + "note": "Goverment offices closed" + }, + "2nd sunday in October": { + "name": { + "en": "White Sunday" + }, + "type": "observance", + "note": "christian" + }, + "12-24 12:00": { + "_name": "12-24", + "type": "bank" + }, + "12-31 12:00": { + "_name": "12-31", + "type": "bank" + } + } + }, + "AT": { + "names": { + "de-at": "Österreich", + "en": "Austria" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Vienna" + ], + "langs": [ + "de-at", + "de" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "easter -2 prior to 2019": { + "_name": "easter -2", + "type": "optional" + }, + "easter -1": { + "_name": "easter -1", + "type": "observance" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "name": { + "de-at": "Staatsfeiertag" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "10-26": { + "_name": "National Holiday" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-24 14:00 if sunday then 00:00": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 14:00 if sunday then 00:00": { + "_name": "12-31", + "type": "bank" + } + }, + "states": { + "1": { + "name": "Burgenland", + "days": { + "11-11": { + "name": { + "de-at": "Martinstag" + } + } + } + }, + "2": { + "names": { + "de": "Kärnten", + "en": "Carinthia" + }, + "days": { + "03-19": { + "_name": "03-19" + }, + "10-10": { + "name": { + "de-at": "Tag der Volksabstimmung" + } + } + } + }, + "3": { + "names": { + "de": "Niederösterreich", + "en": "Lower Austria" + }, + "days": { + "11-15": { + "name": { + "de-at": "Leopold" + } + } + } + }, + "4": { + "names": { + "de": "Oberösterreich", + "en": "Upper Austria" + }, + "days": { + "05-04": { + "name": { + "de-at": "Florian" + } + } + } + }, + "5": { + "names": { + "de": "Land Salzburg", + "en": "Salzburg" + }, + "days": { + "09-24": { + "name": { + "de-at": "Rupert" + } + } + } + }, + "6": { + "names": { + "de": "Steiermark", + "en": "Styria" + }, + "days": { + "03-19": { + "_name": "03-19" + } + } + }, + "7": { + "names": { + "de": "Tirol", + "en": "Tyrol" + }, + "days": { + "03-19": { + "_name": "03-19" + } + } + }, + "8": { + "name": "Vorarlberg", + "days": { + "03-19": { + "_name": "03-19" + } + } + }, + "9": { + "names": { + "de": "Wien", + "en": "Vienna" + }, + "days": { + "11-15": { + "name": { + "de-at": "Leopold" + } + } + } + } + } + }, + "AU": { + "names": { + "en": "Australia" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Australia/Sydney", + "Australia/Lord_Howe", + "Antarctica/Macquarie", + "Australia/Hobart", + "Australia/Currie", + "Australia/Melbourne", + "Australia/Broken_Hill", + "Australia/Brisbane", + "Australia/Lindeman", + "Australia/Adelaide", + "Australia/Darwin", + "Australia/Perth", + "Australia/Eucla" + ], + "days": { + "01-01 and if saturday,sunday then next monday": { + "_name": "01-01" + }, + "01-26 if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Australia Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-25": { + "name": { + "en": "Anzac Day" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "1st sunday in September": { + "_name": "Fathers Day", + "type": "observance" + }, + "12-25 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-26" + }, + "2022-09-22": { + "name": { + "en": "National Day of Mourning for Queen Elizabeth II" + } + } + }, + "states": { + "ACT": { + "name": "Australian Capital Territory", + "zones": [ + "Australia/Sydney" + ], + "days": { + "2nd monday in March": { + "name": { + "en": "Canberra Day" + } + }, + "04-25": false, + "04-25 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Anzac Day" + } + }, + "2020-04-27": { + "name": { + "en": "Declared public holiday" + }, + "type": "public" + }, + "monday after 05-27": { + "name": { + "en": "Reconciliation Day" + } + }, + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in October": { + "name": { + "en": "Labour Day" + } + } + } + }, + "NSW": { + "name": "New South Wales", + "zones": [ + "Australia/Sydney" + ], + "days": { + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in August": { + "name": { + "en": "Bank Holiday" + }, + "type": "bank" + }, + "1st monday in October": { + "name": { + "en": "Labour Day" + } + } + } + }, + "NT": { + "name": "Northern Territory", + "zones": [ + "Australia/Darwin" + ], + "days": { + "easter": false, + "04-25": false, + "04-25 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Anzac Day" + } + }, + "1st monday in May": { + "name": { + "en": "May Day" + } + }, + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in August": { + "name": { + "en": "Picnic Day" + } + }, + "1st monday in October": false, + "12-24 19:00": { + "_name": "12-24" + }, + "12-25 and if saturday then next monday if sunday then next tuesday": false, + "12-25 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if saturday then next monday if sunday then next tuesday": false, + "12-26 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-26" + }, + "12-31 19:00": { + "_name": "12-31" + } + } + }, + "QLD": { + "name": "Queensland", + "zones": [ + "Australia/Brisbane", + "Australia/Lindeman" + ], + "days": { + "04-25": false, + "04-25 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Anzac Day" + } + }, + "1st monday in May": { + "name": { + "en": "Labour Day" + } + }, + "2nd monday in June": false, + "1st monday in October": { + "name": { + "en": "Queen's Birthday" + } + }, + "12-24 18:00": { + "_name": "12-24" + } + } + }, + "SA": { + "name": "South Australia", + "zones": [ + "Australia/Adelaide" + ], + "days": { + "easter": false, + "2nd monday in March": { + "name": { + "en": "Adelaide Cup Day" + } + }, + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in October": { + "name": { + "en": "Labour Day" + } + }, + "12-24 19:00": { + "_name": "12-24" + }, + "12-25 and if saturday then next monday if sunday then next tuesday": false, + "12-25 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if saturday then next monday if sunday then next tuesday": false, + "12-26 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "name": "Proclamation Day" + }, + "12-31 19:00": { + "_name": "12-31" + } + } + }, + "TAS": { + "name": "Tasmania", + "zones": [ + "Australia/Hobart" + ], + "days": { + "01-01 and if saturday,sunday then next monday": false, + "01-01 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "2nd monday in March": { + "name": { + "en": "Eight Hours Day" + } + }, + "easter -1": false, + "easter": false, + "easter +2": { + "name": "Easter Tuesday", + "type": "optional", + "note": "Public Service employees or contract dependent" + }, + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in October": false, + "12-26 and if saturday then next monday if sunday then next tuesday": false, + "12-26 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-26" + } + } + }, + "VIC": { + "name": "Victoria", + "zones": [ + "Australia/Melbourne" + ], + "days": { + "2nd monday in March": { + "name": { + "en": "Labour Day" + } + }, + "2nd monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st monday in October": false, + "1st friday before October": { + "name": { + "en": "AFL Grand Final Friday" + }, + "note": "Date might differ as dependent on AFL schedule" + }, + "1st tuesday in November": { + "name": { + "en": "Melbourne Cup" + } + } + } + }, + "WA": { + "name": "Western Australia", + "zones": [ + "Australia/Perth", + "Australia/Eucla" + ], + "days": { + "1st monday in March": { + "name": { + "en": "Labour Day" + } + }, + "easter -1": false, + "easter": false, + "04-25": false, + "04-25 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Anzac Day" + } + }, + "1st monday in June": { + "name": { + "en": "Western Australia Day" + } + }, + "2nd monday in June": false, + "monday before October": { + "name": { + "en": "Queen's Birthday" + }, + "note": "Might be on a different day; is proclaimed by Governor" + }, + "1st monday in October": false + } + } + } + }, + "AW": { + "names": { + "pap": "Aruba", + "nl": "Aruba", + "en": "Aruba" + }, + "dayoff": "sunday", + "zones": [ + "America/Curacao" + ], + "langs": [ + "pap", + "nl" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-25": { + "name": { + "pap": "Dia di Betico", + "nl": "Herdenking G. F. Croes", + "en": "Betico Croes Day" + } + }, + "easter -48": { + "_name": "easter -48" + }, + "03-18 and if saturday then previous friday if sunday then next monday": { + "substitute": true, + "name": { + "pap": "Dia di Himno y Bandera", + "nl": "Herdenking Vlag en Volkslied", + "en": "National Anthem and Flag Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27": { + "name": { + "pap": "Aña di Rey", + "nl": "Koningsdag", + "en": "Kings Day" + } + }, + "05-01 if sunday then next monday": { + "_name": "05-01" + }, + "06-24": { + "name": { + "pap": "Dera Gai", + "nl": "Dera Gai", + "en": "Dera Gai" + }, + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "12-05": { + "name": { + "nl": "Sinterklaasavond", + "en": "St. Nicholas' Eve" + }, + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "AX": { + "names": { + "sv": "Landskapet Åland", + "en": "Åland Islands" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Helsinki" + ], + "langs": [ + "sv" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "03-30": { + "name": { + "sv": "Ålands demilitariseringsdag", + "en": "Demilitarization Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "06-09": { + "name": { + "sv": "Självstyrelsedagen", + "en": "Autonomy Day" + } + }, + "3rd friday after 06-01 12:00": { + "name": { + "sv": "Midsommarafton", + "en": "Midsummer Eve" + } + }, + "3rd saturday after 06-01": { + "name": { + "sv": "Midsommardagen", + "en": "Midsummer Day" + } + }, + "12-06": { + "_name": "Independence Day" + }, + "12-24 12:00": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 12:00": { + "_name": "12-31", + "type": "bank" + } + } + }, + "AZ": { + "names": { + "az": "Azərbaycan Respublikası", + "en": "Azerbaijan" + }, + "dayoff": "sunday", + "weekend": [ + "saturday", + "sunday" + ], + "zones": [ + "Asia/Baku" + ], + "langs": [ + "az" + ], + "days": { + "01-01 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "01-02 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "01-20": { + "name": { + "az": "Qara Yanvar", + "en": "Martyrs' Day" + }, + "type": "observance" + }, + "03-08 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "03-08" + }, + "03-20": { + "name": { + "az": "Novruz", + "en": "Spring Festival" + }, + "active": [ + { + "from": 2011 + } + ] + }, + "05-09 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Faşizm üzərində qələbə günü", + "en": "Day of Victory over Fascism" + } + }, + "05-28 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Respublika günü", + "en": "Republic Day" + } + }, + "06-15 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Azərbaycan xalqının Milli Qurtuluş günü", + "en": "National Salvation Day" + } + }, + "06-26 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Azərbaycan Respublikasının Silahlı Qüvvələri günü", + "en": "Azerbaijan Armed Forces Day" + } + }, + "10-18 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Dövlət Müstəqilliyi günü", + "en": "Independence Day" + } + }, + "11-09 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Dövlət Bayrağı günü", + "en": "Flag Day" + } + }, + "11-12": { + "name": { + "az": "Konstitusiya günü", + "en": "Constitution Day" + } + }, + "11-17": { + "name": { + "az": "Milli Dirçəliş günü", + "en": "National Revival Day" + } + }, + "12-31 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "az": "Dünya azərbaycanlıların həmrəyliyi günü", + "en": "International Solidarity Day of Azerbaijanis" + } + }, + "1 Shawwal and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "1 Shawwal" + }, + "2 Shawwal and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "10 Dhu al-Hijjah" + }, + "11 Dhu al-Hijjah and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "10 Dhu al-Hijjah" + } + } + }, + "BA": { + "names": { + "bs": "Bosna i Hercegovina", + "sr": "Боснa и Херцеговина", + "hr": "Bosna i Hercegovina", + "en": "Bosnia and Herzegovina" + }, + "langs": [ + "bs", + "sr", + "hr" + ], + "zones": [ + "Europe/Belgrade" + ], + "dayoff": "sunday", + "days": { + "01-01 and if sunday then next tuesday": { + "_name": "01-01", + "substitute": true + }, + "01-02 and if sunday then next monday": { + "name": { + "en": "2nd day of the New Year", + "bs": "Drugi dan Nove Godine" + }, + "substitute": true + }, + "05-01 and if sunday then next tuesday": { + "_name": "05-01", + "substitute": true + }, + "05-02 and if sunday then next monday": { + "name": { + "en": "2nd day of the Labour Day", + "bs": "Drugi dan Dana rada" + }, + "substitute": true + }, + "01-06": { + "_name": "01-06" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-02": { + "_name": "11-02" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "julian 01-01": { + "_name": "julian 01-01" + }, + "orthodox": { + "_name": "orthodox" + }, + "julian 08-15": { + "_name": "08-15", + "note": "orthodox" + }, + "julian 12-25": { + "_name": "julian 12-25" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "10 Dhu al-Hijjah P4D": { + "_name": "10 Dhu al-Hijjah" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + } + }, + "states": { + "BIH": { + "name": "Federation of Bosnia and Herzegovina", + "days": { + "03-01": { + "_name": "Independence Day" + }, + "11-25": { + "name": { + "en": "Statehood Day", + "bs": "Dan državnosti" + } + } + }, + "regions": { + "W": { + "name": "Western Herzegovina", + "days": { + "11-25": false + } + } + } + }, + "BRC": { + "name": "Brčko District", + "days": { + "03-08": { + "name": { + "en": "Day of the Establishment of the District" + } + } + } + }, + "SRP": { + "name": "Republika Srpska", + "days": { + "01-09": { + "name": { + "en": "Republic Day", + "bs": "Dan Republike" + } + }, + "05-09": { + "name": { + "en": "Victory Day", + "bs": "Dan pobjede" + } + }, + "11-21": { + "name": { + "en": "Dayton Agreement Day", + "bs": "Dan uspostave Opšteg okvirnog sporazuma za mir u Bosni i Hercegovini" + } + } + } + } + } + }, + "BB": { + "names": { + "en": "Barbados" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Barbados" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-21": { + "name": { + "en": "Errol Barrow Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-28": { + "name": { + "en": "National Heroes Day" + } + }, + "05-01 if sunday then next monday": { + "name": { + "en": "May Day" + } + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "08-01": { + "name": { + "en": "Emancipation Day" + } + }, + "1st monday in August": { + "name": { + "en": "Kadooment Day" + } + }, + "11-30": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if sunday then next tuesday": { + "_name": "Public Holiday" + }, + "12-26": { + "_name": "12-26" + }, + "substitutes 12-26 if sunday then next monday": { + "_name": "Public Holiday" + } + } + }, + "BD": { + "names": { + "bn": "গণপ্রজাতন্ত্রী বাংলাদেশ", + "en": "People's Republic of Bangladesh" + }, + "langs": [ + "bn" + ], + "zones": [ + "Asia/Dhaka" + ], + "dayoff": "friday", + "weekend": [ + "friday", + "saturday" + ], + "days": { + "bengali-revised 11-9": { + "name": { + "bn": "শহীদ দিবস", + "en": "Language Martyrs' Day" + } + }, + "bengali-revised 12-3": { + "name": { + "bn": "মুজিব জয়ন", + "en": "Mujib's Birthday & Children's Day" + } + }, + "bengali-revised 12-12": { + "name": { + "bn": "স্বাধীনতা দিবস", + "en": "Independence Day" + } + }, + "bengali-revised 1-1": { + "name": { + "bn": "পহেলা বৈশাখ", + "en": "Bengali New Year's Day" + } + }, + "bengali-revised 1-18": { + "_name": "05-01", + "name": { + "bn": "মে দিবস", + "en": "May Day" + } + }, + "bengali-revised 4-31": { + "name": { + "bn": "জাতীয় শোক দিবস", + "en": "National Mourning Day" + } + }, + "bengali-revised 9-2": { + "name": { + "bn": "বিজয় দিবস", + "en": "Victory Day" + } + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + }, + "05-19": { + "name": { + "bn": "বুদ্ধ পূর্ণিমা", + "en": "Buddha's Birthday" + }, + "enable": [ + "2016-05-21", + "2017-05-10", + "2018-04-29", + "2019-05-19", + "2020-05-07" + ], + "disable": [ + "2016-05-19", + "2017-05-19", + "2018-05-19", + "2019-05-19", + "2020-05-19" + ] + }, + "08-24": { + "name": { + "bn": "জন্মাষ্টমী", + "en": "Krishna Janmashtami" + }, + "enable": [ + "2016-08-25", + "2017-08-14", + "2018-09-02", + "2019-08-24", + "2020-08-11" + ], + "disable": [ + "2016-08-24", + "2017-08-24", + "2018-08-24", + "2019-08-24", + "2020-08-24" + ] + }, + "10-08": { + "name": { + "bn": "দুর্গা পূজা", + "en": "Durga Puja" + }, + "enable": [ + "2016-10-11", + "2017-09-30", + "2018-10-19", + "2019-10-08", + "2020-10-25" + ], + "disable": [ + "2016-10-08", + "2017-10-08", + "2018-10-08", + "2019-10-08", + "2020-10-08" + ] + }, + "bengali-revised 9-11": { + "_name": "12-25" + }, + "03-25": { + "name": { + "en": "Genocide Remembrance Day" + }, + "type": "observance" + }, + "11-21": { + "name": { + "en": "Armed Forces Day" + }, + "type": "observance" + }, + "12-14": { + "name": { + "en": "Martyred Intellectuals Day" + }, + "type": "observance" + } + } + }, + "BE": { + "names": { + "fr": "Belgique", + "nl": "België", + "de": "Belgien", + "en": "Belgium" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Brussels" + ], + "langs": [ + "fr", + "nl", + "de" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "name": { + "de": "Erscheinung des Herrn" + }, + "type": "observance" + }, + "02-14": { + "_name": "02-14", + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "07-21": { + "_name": "National Holiday" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-02": { + "_name": "11-02", + "type": "observance" + }, + "11-11": { + "name": { + "de": "Waffenstillstand", + "fr": "Armistice", + "nl": "Wapenstilstand" + } + }, + "11-15": { + "name": { + "nl": "Koningsdag", + "fr": "Fête du Roi", + "de": "Festtag des Königs" + }, + "type": "observance" + }, + "12-06": { + "_name": "12-06", + "type": "observance" + }, + "12-25": { + "_name": "12-25" + } + }, + "states": { + "BRU": { + "name": "Bruxelles", + "langs": [ + "fr", + "nl" + ], + "days": { + "05-08": { + "name": { + "nl": "Feest van de Iris", + "fr": "Fête de l'Iris" + }, + "type": "observance" + } + } + }, + "DE": { + "name": "Deutschsprachige Gemeinschaft", + "langs": [ + "de" + ], + "days": { + "11-15": { + "name": { + "de": "Tag der Deutschsprachigen Gemeinschaft", + "fr": "Jour de la Communauté Germanophone", + "nl": "Feestdag van de Duitstalige Gemeenschap" + }, + "type": "observance" + } + } + }, + "VLG": { + "name": "Vlaamse Gemeenschap", + "langs": [ + "nl" + ], + "days": { + "07-11": { + "name": { + "de": "Festtag der Wallonischen Region", + "fr": "Fête de la Région wallonne", + "nl": "Feestdag van de Vlaamse Gemeenschap" + }, + "type": "observance" + } + } + }, + "WAL": { + "name": "Communauté française", + "langs": [ + "fr" + ], + "days": { + "09-27": { + "name": { + "de": "Tag der Französischsprachigen Gemeinschaft", + "fr": "La fête de la communauté française", + "nl": "Feestdag van de Franse Gemeenschap" + }, + "type": "observance" + } + } + } + } + }, + "BF": { + "names": { + "fr": "Burkina Faso", + "en": "Burkina Faso" + }, + "langs": [ + "fr" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-03": { + "name": { + "fr": "Soulèvement populaire", + "en": "Anniversary of the 1966 Upper Voltan coup d'état" + } + }, + "03-08": { + "_name": "03-08" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "05-01": { + "_name": "05-01" + }, + "08-05": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-11": { + "name": { + "fr": "Fête nationale", + "en": "Proclamation of the Republic" + } + }, + "12-25": { + "_name": "12-25" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "BG": { + "names": { + "bg": "България", + "en": "Bulgaria" + }, + "langs": [ + "bg" + ], + "zones": [ + "Europe/Sofia" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-01": { + "name": { + "bg": "Баба Марта", + "en": "Granny March Day" + }, + "type": "observance" + }, + "03-03": { + "name": { + "bg": "Ден на Освобождението на България от Османската Империя", + "en": "Liberation Day" + } + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-06": { + "name": { + "bg": "Гергьовден", + "en": "St. George's Day" + } + }, + "05-07": { + "name": { + "bg": "Ден на радиото и телевизията", + "en": "Radio and Television Day" + }, + "type": "observance" + }, + "05-24": { + "name": { + "bg": "Ден на азбуката, културата и просветата", + "en": "Bulgarian Education and Culture, and Slavonic Literature Day" + } + }, + "09-06": { + "name": { + "bg": "Ден на съединението", + "en": "Unification Day" + } + }, + "09-22": { + "_name": "Independence Day" + }, + "11-01": { + "name": { + "bg": "Ден на народните будители", + "en": "Revival Leaders' Day" + }, + "type": "school" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "type": "observance" + } + } + }, + "BH": { + "names": { + "ar": "مملكة البحرين", + "en": "Bahrain" + }, + "langs": [ + "ar" + ], + "zones": [ + "Asia/Qatar" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "05-01": { + "_name": "05-01", + "name": { + "ar": "يوم العمال" + } + }, + "12-16": { + "name": { + "ar": "اليوم الوطني", + "en": "National Day" + } + }, + "12-17": { + "name": { + "ar": "يوم الجلوس", + "en": "Accession Day" + } + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "9 Dhu al-Hijjah": { + "_name": "9 Dhu al-Hijjah" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "BI": { + "names": { + "rn": "Republika y'Uburundi", + "fr": "République du Burundi", + "en": "Burundi" + }, + "dayoff": "sunday", + "langs": [ + "fr", + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-05": { + "name": { + "fr": "Jour de l'Unité", + "en": "Unity Day" + } + }, + "04-06": { + "name": { + "fr": "Jour de Ntaryamira", + "en": "Ntaryamira Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "07-01": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "10-13": { + "name": { + "fr": "Jour de Rwagasore", + "en": "Rwagasore Day" + } + }, + "10-21": { + "name": { + "fr": "Jour de Ndadaye", + "en": "Ndadaye Day" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "2015-07-24": { + "_name": "Public Holiday", + "name": { + "fr": "Jour l'élection des Sénateurs" + } + } + } + }, + "BJ": { + "names": { + "fr": "République du Bénin", + "en": "Benin" + }, + "langs": [ + "fr" + ], + "zones": [ + "Africa/Lagos" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-10": { + "name": { + "fr": "Fête du Vodoun" + } + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "05-01": { + "_name": "05-01" + }, + "08-01": { + "_name": "Independence Day", + "name": { + "fr": "Fête Nationale" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + } + } + }, + "BL": { + "names": { + "fr": "St. Barthélemy", + "en": "St. Barths" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/St_Barthelemy" + ], + "_days": "FR", + "days": { + "easter -48": { + "_name": "easter -48", + "type": "observance" + }, + "easter -47": { + "_name": "easter -47", + "type": "Observance" + }, + "easter -46": { + "_name": "easter -46", + "type": "observance" + }, + "easter -21": { + "name": { + "fr": "Mi-Carême", + "en": "Laetare Sunday" + }, + "type": "observance" + }, + "easter -2": { + "_name": "easter -2", + "type": "bank" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "08-24": { + "name": { + "fr": "Fête de Saint Barthélemy", + "en": "Saint Barth" + }, + "type": "observance" + }, + "10-09": { + "_name": "Abolition of Slavery" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "BM": { + "names": { + "en": "Bermuda" + }, + "langs": [ + "en" + ], + "zones": [ + "Atlantic/Bermuda" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if saturday, sunday then next monday": { + "_name": "01-01", + "substitute": true, + "type": "bank", + "note": "Goverment offices close" + }, + "easter -2": { + "_name": "easter -2" + }, + "friday before 06-01": { + "name": { + "en": "Bermuda Day" + } + }, + "3nd monday in June": { + "name": { + "en": "National Heroes Day" + } + }, + "thursday before 08-04": { + "name": { + "en": "Emancipation Day" + } + }, + "friday before 08-05": { + "name": { + "en": "Somers' Day" + } + }, + "monday after 09-01": { + "name": { + "en": "Labour Day" + } + }, + "11-11": { + "name": { + "en": "Remembrance Day" + } + }, + "substitutes 11-11 if saturday, sunday then next monday": { + "name": { + "en": "Remembrance Day" + }, + "substitute": true, + "type": "bank", + "note": "Goverment offices close" + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if saturday then next monday if sunday then next tuesday": { + "_name": "12-25", + "substitute": true, + "type": "bank", + "note": "Goverment offices close" + }, + "12-26": { + "_name": "12-26" + }, + "substitutes 12-26 if saturday then next monday if sunday then next tuesday": { + "_name": "12-26", + "substitute": true, + "type": "bank", + "note": "Goverment offices close" + } + } + }, + "BN": { + "names": { + "ms": "Negara Brunei Darussalam", + "en": "Brunei" + }, + "langs": [ + "ms", + "en" + ], + "zones": [ + "Asia/Brunei" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01", + "name": { + "ms": "Awal Tahun Masihi" + } + }, + "02-23": { + "name": { + "en": "National Day", + "ms": "Hari Kebangsaan" + } + }, + "03-31": { + "name": { + "en": "Armed Forces Day", + "ms": "Hari Angkatan Bersenjata Diraja Brunei" + } + }, + "07-15": { + "name": { + "en": "Sultan's Birthday", + "ms": "Hari Keputeraan KDYMM Sultan Brunei" + } + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "17 Ramadan": { + "name": { + "en": "Nuzul Al-Quran", + "ms": "Hari Nuzul Al-Quran" + } + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "12-25": { + "_name": "12-25" + }, + "chinese 01-0-01": { + "name": { + "en": "Chinese New Year", + "ms": "Tahun Baru Cina" + } + } + } + }, + "BO": { + "names": { + "es": "Bolivia", + "en": "Bolivia" + }, + "dayoff": "sunday", + "langs": [ + "es", + "qu", + "ay" + ], + "zones": [ + "America/La_Paz" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-02": { + "name": { + "en": "Feast of the Virgin of Candelaria", + "qu": "Mamacha Candelaria", + "es": "Fiesta de la Virgen de Candelaria" + } + }, + "easter -48": { + "name": { + "en": "Carnival", + "es": "Carnaval" + } + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "06-21": { + "name": { + "en": "Andean New Year", + "ay": "Willkakuti", + "es": "Año Nuevo Andino" + } + }, + "08-02": { + "name": { + "en": "Agrarian Reform Day", + "es": "Día de la Revolución Agraria, Productiva y Comunitaria" + } + }, + "08-06": { + "_name": "Independence Day", + "name": { + "es": "Día de la Patria" + } + }, + "11-02": { + "_name": "11-02" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "BQ": { + "names": { + "nl": "Caribisch Nederland", + "en": "Caribbean Netherlands" + }, + "dayoff": "sunday", + "zones": [ + "America/Curacao" + ], + "langs": [ + "nl", + "en", + "pap" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27": { + "name": { + "pap": "Aña di Rey", + "nl": "Koningsdag", + "en": "Kings Day" + } + }, + "05-01 if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "12-05": { + "name": { + "nl": "Sinterklaasavond", + "en": "St. Nicholas' Eve" + }, + "type": "observance" + }, + "12-15": { + "name": { + "pap": "Dia di Reino", + "nl": "Koninkrijksdag", + "en": "Kingdom Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + }, + "regions": { + "BO": { + "name": "Bonaire", + "days": { + "easter -48": { + "_name": "easter -48", + "name": { + "en": "Carnival Monday" + } + }, + "04-30": { + "name": { + "en": "Rincon Day", + "pap": "Dia di Rincon" + } + }, + "09-06": { + "name": { + "nl": "Boneiru Dag", + "en": "Bonaire Day", + "pap": "Dia di Boneiru" + } + } + } + }, + "SA": { + "name": "Saba", + "days": { + "1st monday in August": { + "_name": "easter -48", + "name": { + "en": "Carnival Monday" + } + }, + "1st friday in December": { + "name": { + "en": "Saba Day" + } + } + } + }, + "SE": { + "name": "Sint Eustatius", + "days": { + "08-01": { + "name": { + "en": "Emancipation Day" + } + }, + "11-16": { + "name": { + "en": "Statia Day" + } + } + } + } + } + }, + "BR": { + "names": { + "pt": "Brasil", + "en": "Brazil" + }, + "dayoff": "sunday", + "langs": [ + "pt" + ], + "zones": [ + "America/Sao_Paulo", + "America/Noronha", + "America/Belem", + "America/Fortaleza", + "America/Recife", + "America/Araguaina", + "America/Maceio", + "America/Bahia", + "America/Campo_Grande", + "America/Cuiaba", + "America/Santarem", + "America/Porto_Velho", + "America/Boa_Vista", + "America/Manaus", + "America/Eirunepe", + "America/Rio_Branco" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "04-21": { + "name": { + "pt": "Dia de Tiradentes", + "en": "Tiradentes' Day" + } + }, + "easter -50 PT110H": { + "name": { + "pt": "Carnaval", + "en": "Carnival" + }, + "type": "optional" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 60": { + "_name": "easter 60", + "type": "optional" + }, + "06-12": { + "name": { + "pt": "Dia dos Namorados", + "en": "Lovers' Day" + }, + "type": "observance" + }, + "2nd sunday in August": { + "_name": "Fathers Day", + "type": "observance" + }, + "09-07": { + "_name": "Independence Day" + }, + "10-12": { + "name": { + "pt": "Nossa Senhora Aparecida", + "en": "Our Lady of Aparecida" + } + }, + "1st sunday in October in even years": { + "name": { + "pt": "Dia de Eleição", + "en": "Election Day" + } + }, + "1st sunday before 11-01 in even years": { + "name": { + "pt": "Dia de Eleição", + "en": "Election Day" + } + }, + "11-02": { + "_name": "11-02" + }, + "11-15": { + "name": { + "pt": "Proclamação da República", + "en": "Republic Day" + } + }, + "12-24 14:00": { + "_name": "12-24", + "type": "optional" + }, + "12-25": { + "_name": "12-25" + }, + "12-31 14:00": { + "_name": "12-31", + "type": "optional" + } + }, + "states": { + "AC": { + "name": "Acre", + "zones": [ + "America/Rio_Branco" + ], + "days": { + "01-12": { + "name": { + "pt": "Dia do evangélico" + }, + "active": [ + { + "from": "2004-01-29T00:00:00.000Z" + } + ] + }, + "03-08": { + "name": { + "pt": "Alusivo ao Dia Internacional da Mulher" + }, + "active": [ + { + "from": "2001-09-14T00:00:00.000Z" + } + ] + }, + "06-15": { + "name": { + "pt": "Aniversário do estado" + }, + "active": [ + { + "from": "1964-09-02T00:00:00.000Z" + } + ] + }, + "09-05": { + "name": { + "pt": "Dia da Amazônia" + }, + "active": [ + { + "from": "2004-01-05T00:00:00.000Z" + } + ] + }, + "11-17": { + "name": { + "pt": "Assinatura do Tratado de Petrópolis" + }, + "type": "optional", + "active": [ + { + "from": "2012-02-21T00:00:00.000Z" + } + ] + } + } + }, + "AL": { + "name": "Alagoas", + "zones": [ + "America/Maceio" + ], + "days": { + "06-24": { + "name": { + "pt": "São João" + }, + "active": [ + { + "from": "1993-07-07T00:00:00.000Z" + } + ] + }, + "06-29": { + "name": { + "pt": "São Pedro" + }, + "active": [ + { + "from": "1993-07-07T00:00:00.000Z" + } + ] + }, + "09-16": { + "name": { + "pt": "Emancipação política" + } + }, + "11-20": { + "name": { + "pt": "Morte de Zumbi dos Palmares" + }, + "active": [ + { + "from": "1995-08-01T00:00:00.000Z" + } + ] + } + } + }, + "AM": { + "name": "Amazonas", + "zones": [ + "America/Manaus" + ], + "days": { + "09-05": { + "name": { + "pt": "Elevação do Amazonas à categoria de província" + }, + "active": [ + { + "from": "1977-12-21T00:00:00.000Z" + } + ] + }, + "11-20": { + "name": { + "pt": "Dia da Consciência Negra" + }, + "active": [ + { + "from": "2010-07-08T00:00:00.000Z" + } + ] + } + } + }, + "AP": { + "name": "Amapá", + "zones": [ + "America/Belem" + ], + "days": { + "03-19": { + "name": { + "pt": "Dia de São José" + }, + "note": "Santo padroeiro do Estado do Amapá", + "active": [ + { + "from": "2002-04-16T00:00:00.000Z" + } + ] + }, + "09-13": { + "name": { + "pt": "Criação do Território Federal" + } + } + } + }, + "BA": { + "name": "Bahia", + "zones": [ + "America/Bahia" + ], + "days": { + "07-02": { + "name": { + "pt": "Independência da Bahia" + } + } + } + }, + "CE": { + "name": "Ceará", + "zones": [ + "America/Fortaleza" + ], + "days": { + "03-25": { + "name": { + "pt": "Data magna do estado" + }, + "active": [ + { + "from": "2011-12-01T00:00:00.000Z" + } + ] + } + } + }, + "DF": { + "name": "Distrito Federal", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "04-21": { + "name": { + "pt": "Fundação de Brasília" + } + }, + "11-30": { + "name": { + "pt": "Dia do Evangélico" + }, + "type": "public", + "active": [ + { + "from": "1995-12-04T00:00:00.000Z" + } + ] + } + } + }, + "MA": { + "name": "Maranhão", + "zones": [ + "America/Belem" + ], + "days": { + "07-28": { + "name": { + "pt": "Adesão do Maranhão à independência do Brasil" + }, + "active": [ + { + "from": "1964-10-02T00:00:00.000Z" + } + ] + } + } + }, + "MG": { + "name": "Minas Gerais", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "04-21": { + "name": { + "pt": "Data magna do estado" + } + } + }, + "regions": { + "BH": { + "name": "Belo Horizonte", + "days": { + "08-15": { + "_name": "08-15", + "name": { + "pt": "Assunção de Nossa Senhora" + }, + "type": "public" + }, + "12-08": { + "_name": "12-08", + "type": "public" + } + } + } + } + }, + "MS": { + "name": "Mato Grosso do Sul", + "zones": [ + "America/Campo_Grande" + ], + "days": { + "10-11": { + "name": { + "pt": "Criação do estado" + }, + "active": [ + { + "from": "1979-10-29T00:00:00.000Z" + } + ] + } + } + }, + "MT": { + "name": "Mato Grosso", + "zones": [ + "America/Cuiaba" + ], + "days": { + "11-20": { + "name": { + "pt": "Dia da Consciência Negra" + }, + "active": [ + { + "from": "2002-12-27T00:00:00.000Z" + } + ] + } + } + }, + "PA": { + "name": "Pará", + "zones": [ + "America/Santarem" + ], + "days": { + "08-15": { + "name": { + "pt": "Adesão do Grão-Pará à independência do Brasil" + }, + "active": [ + { + "from": "1996-09-10T00:00:00.000Z" + } + ] + } + } + }, + "PB": { + "name": "Paraíba", + "zones": [ + "America/Recife" + ], + "days": { + "07-26": { + "name": { + "pt": "Homenagem à memória do ex-presidente João Pessoa" + } + }, + "08-05": { + "name": { + "pt": "Nossa Senhora das Neves" + }, + "note": "Fundação do Estado em 1585 e dia da sua padroeira", + "active": [ + { + "from": "1967-08-30T00:00:00.000Z" + } + ] + } + } + }, + "PE": { + "name": "Pernambuco", + "zones": [ + "America/Recife" + ], + "days": { + "1st sunday in March": { + "name": { + "pt": "Revolução Pernambucana de 1817" + }, + "active": [ + { + "from": "2009-07-02T00:00:00.000Z" + } + ] + } + }, + "regions": { + "RE": { + "name": "Recife", + "days": { + "06-24": { + "name": { + "pt": "São João", + "en": "Saint John's Day" + }, + "type": "public" + }, + "07-16": { + "name": { + "pt": "Nossa Senhora do Carmo" + }, + "type": "public" + }, + "12-08": { + "_name": "12-08", + "name": { + "pt": "Nossa Senhora da Conceição" + }, + "type": "public" + } + } + } + } + }, + "PI": { + "name": "Piauí", + "zones": [ + "America/Fortaleza" + ], + "days": { + "10-19": { + "name": { + "pt": "Dia do Piauí" + }, + "active": [ + { + "from": "1937-01-01T00:00:00.000Z" + } + ] + } + } + }, + "PR": { + "name": "Paraná", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "12-19": { + "name": { + "pt": "Emancipação política do estado do Paraná" + }, + "active": [ + { + "from": "1962-12-18T00:00:00.000Z" + } + ] + } + }, + "regions": { + "CU": { + "name": "Curitiba", + "days": { + "09-08": { + "name": { + "pt": "Nossa Senhora da Luz dos Pinhais" + }, + "type": "public" + } + } + } + } + }, + "RJ": { + "name": "Rio de Janeiro", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "easter -47": { + "name": { + "pt": "Carnaval" + }, + "active": [ + { + "from": "2008-05-14T00:00:00.000Z" + } + ] + }, + "04-23": { + "name": { + "pt": "Dia de São Jorge" + }, + "active": [ + { + "from": "2008-03-05T00:00:00.000Z" + } + ] + }, + "3rd tuesday in October": { + "name": { + "pt": "Dia do Comércio" + }, + "type": "observance", + "note": "feriado para os comerciantes e trabalhadores da construção civil" + }, + "11-20": { + "name": { + "pt": "Dia da Consciência Negra" + }, + "active": [ + { + "from": "2002-11-11T00:00:00.000Z" + } + ] + } + } + }, + "RN": { + "name": "Rio Grande do Norte", + "zones": [ + "America/Recife" + ], + "days": { + "10-03": { + "name": { + "pt": "Mártires de Cunhaú e Uruaçu" + }, + "active": [ + { + "from": "2006-12-06T00:00:00.000Z" + } + ] + } + } + }, + "RO": { + "name": "Rondônia", + "zones": [ + "America/Porto_Velho" + ], + "days": { + "01-04": { + "name": { + "pt": "Criação do estado" + }, + "active": [ + { + "from": "2010-04-22T00:00:00.000Z" + } + ] + }, + "06-18": { + "name": { + "pt": "Dia do evangélico" + }, + "active": [ + { + "from": "2001-12-20T00:00:00.000Z" + } + ] + } + } + }, + "RR": { + "name": "Roraima", + "zones": [ + "America/Boa_Vista" + ], + "days": { + "10-05": { + "name": { + "pt": "Criação do estado" + } + } + } + }, + "RS": { + "name": "Rio Grande do Sul", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "09-20": { + "name": { + "pt": "Proclamação da República Rio-Grandense" + } + } + } + }, + "SC": { + "name": "Santa Catarina", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "08-11": { + "name": { + "pt": "Dia de Santa Catarina" + }, + "active": [ + { + "from": "2004-01-22T00:00:00.000Z", + "to": "2005-07-15T00:00:00.000Z" + } + ] + }, + "08-11 if monday,tuesday,wednesday,thursday,friday,saturday then next sunday": { + "name": { + "pt": "Dia de Santa Catarina" + }, + "active": [ + { + "from": "2005-07-15T00:00:00.000Z" + } + ] + }, + "11-25": { + "name": { + "pt": "Dia de Santa Catarina de Alexandria" + }, + "active": [ + { + "from": "1996-12-26T00:00:00.000Z", + "to": "2005-07-15T00:00:00.000Z" + } + ] + }, + "11-25 if monday,tuesday,wednesday,thursday,friday,saturday then next sunday": { + "name": { + "pt": "Dia de Santa Catarina de Alexandria" + }, + "active": [ + { + "from": "2005-07-15T00:00:00.000Z" + } + ] + } + } + }, + "SE": { + "name": "Sergipe", + "zones": [ + "America/Recife" + ], + "days": { + "07-08": { + "name": { + "pt": "Emancipação política de Sergipe" + } + } + } + }, + "SP": { + "name": "São Paulo", + "zones": [ + "America/Sao_Paulo" + ], + "days": { + "07-09": { + "name": { + "pt": "Revolução Constitucionalista" + }, + "active": [ + { + "from": "1997-03-05T00:00:00.000Z" + } + ] + } + }, + "regions": { + "SP": { + "name": "São Paulo", + "days": { + "01-25": { + "name": { + "pt": "Aniversário da Cidade", + "en": "City Birthday" + }, + "type": "public" + } + } + } + } + }, + "TO": { + "name": "Tocantins", + "zones": [ + "America/Araguaina" + ], + "days": { + "10-05": { + "name": { + "pt": "Criação do estado" + }, + "active": [ + { + "from": "1989-11-17T00:00:00.000Z" + } + ] + }, + "03-18": { + "name": { + "pt": "Autonomia do Estado" + }, + "active": [ + { + "from": "1998-03-17T00:00:00.000Z" + } + ] + }, + "09-08": { + "name": { + "pt": "Nossa Senhora da Natividade" + }, + "note": "Padroeira do Estado", + "active": [ + { + "from": "1993-12-28T00:00:00.000Z" + } + ] + } + } + } + } + }, + "BS": { + "names": { + "en": "Bahamas" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Nassau" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-10 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Majority Rule Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "1st friday in June": { + "_name": "05-01", + "name": { + "en": "Randol Fawkes Labour Day" + } + }, + "07-10 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "1st monday in August": { + "name": { + "en": "Emancipation Day" + } + }, + "10-12 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "National Heroes' Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "BW": { + "names": { + "en": "Botswana" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01", + "note": "except mining industy" + }, + "01-02": { + "name": { + "en": "New Year's Holiday" + }, + "note": "except mining industy" + }, + "substitutes 01-02 if monday then next tuesday": { + "name": { + "en": "Public Holiday" + }, + "note": "except mining industy" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1", + "note": "except mining industy" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1", + "note": "except mining industy" + }, + "easter 39": { + "_name": "easter 39", + "note": "except mining industy" + }, + "05-01": { + "_name": "05-01", + "note": "except mining industy" + }, + "substitutes 05-01 if sunday then next monday": { + "name": { + "en": "Public Holiday" + }, + "note": "except mining industy" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "07-01": { + "name": { + "en": "Sir Seretse Khama Day" + }, + "note": "except mining industy" + }, + "substitutes 07-01 if sunday then next monday": { + "name": { + "en": "Public Holiday" + }, + "note": "except mining industy" + }, + "3rd monday in July": { + "name": { + "en": "President’s Day" + }, + "note": "except mining industy" + }, + "tuesday after 3rd monday in July": { + "name": { + "en": "President’s Day Holiday" + }, + "note": "except mining industy" + }, + "09-30": { + "name": { + "en": "Botswana Day" + } + }, + "substitutes 09-30 if saturday,sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "name": { + "en": "Family Day" + }, + "note": "except mining industy" + }, + "substitutes 12-26 if monday then next tuesday": { + "name": { + "en": "Public Holiday" + } + } + } + }, + "BY": { + "names": { + "be": "Рэспубліка Беларусь", + "ru": "Республика Беларусь", + "en": "Belarus" + }, + "zones": [ + "Europe/Minsk" + ], + "langs": [ + "be", + "ru" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "julian 12-25": { + "_name": "12-25", + "name": { + "be": "Каляды праваслаўныя" + } + }, + "easter": { + "_name": "easter", + "name": { + "be": "Вялiкдзень каталiцкi" + }, + "type": "observance" + }, + "orthodox": { + "name": { + "en": "Orthodox Easter", + "be": "Вялiкдзень праваслаўны" + }, + "type": "observance" + }, + "orthodox +9": { + "name": { + "en": "Commemoration Day", + "be": "Радунiца" + } + }, + "03-08": { + "_name": "03-08" + }, + "05-01": { + "_name": "05-01" + }, + "05-09": { + "name": { + "en": "Victory Day", + "be": "Дзень Перамогi" + } + }, + "07-03": { + "_name": "Independence Day", + "active": [ + { + "from": 1996 + } + ] + }, + "11-07": { + "name": { + "en": "October Revolution Day", + "be": "Дзень Кастрычніцкай рэвалюцыі" + } + }, + "12-25": { + "_name": "12-25", + "name": { + "be": "Каляды каталiцкiя" + } + } + } + }, + "BZ": { + "names": { + "en": "Belize" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Belize" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-09 if friday,saturday,sunday then next monday if tuesday,wednesday,thursday then previous monday": { + "name": { + "en": "Baron Bliss Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 if sunday then next monday": { + "_name": "05-01" + }, + "05-24 if friday,saturday,sunday then next monday if tuesday,wednesday,thursday then previous monday": { + "name": { + "en": "Commonwealth Day, Sovereign's Day" + } + }, + "09-10 if sunday then next monday": { + "name": { + "en": "Saint George's Caye Day, National Day" + } + }, + "09-21 if sunday then next monday": { + "_name": "Independence Day" + }, + "10-12 if friday,saturday,sunday then next monday if tuesday,wednesday,thursday then previous monday": { + "name": { + "en": "Day of the Americas" + } + }, + "11-19 if sunday then next monday": { + "name": { + "en": "Garifuna Settlement Day" + } + }, + "12-25 and if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + } + } + }, + "CA": { + "names": { + "en": "Canada", + "fr": "Canada" + }, + "zones": [ + "America/Toronto", + "America/St_Johns", + "America/Halifax", + "America/Glace_Bay", + "America/Moncton", + "America/Goose_Bay", + "America/Blanc-Sablon", + "America/Nipigon", + "America/Thunder_Bay", + "America/Iqaluit", + "America/Pangnirtung", + "America/Resolute", + "America/Atikokan", + "America/Rankin_Inlet", + "America/Winnipeg", + "America/Rainy_River", + "America/Regina", + "America/Swift_Current", + "America/Edmonton", + "America/Cambridge_Bay", + "America/Yellowknife", + "America/Inuvik", + "America/Creston", + "America/Dawson_Creek", + "America/Fort_Nelson", + "America/Vancouver", + "America/Whitehorse", + "America/Dawson" + ], + "langs": [ + "en", + "fr" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-02": { + "name": { + "en": "Groundhog Day", + "fr": "Jour de la marmotte" + }, + "type": "observance" + }, + "02-14": { + "_name": "02-14", + "type": "observance" + }, + "03-17": { + "name": { + "en": "St. Patrick’s Day", + "fr": "Fête de la Saint-Patrick" + }, + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "2nd sunday after 05-01": { + "_name": "Mothers Day", + "type": "observance" + }, + "monday before 05-25": { + "name": { + "en": "Victoria Day", + "fr": "Fête de la Reine" + } + }, + "3rd sunday after 06-01": { + "_name": "Fathers Day", + "type": "observance" + }, + "07-01": { + "name": { + "en": "Canada Day", + "fr": "Fête du Canada" + } + }, + "monday after 08-01": { + "name": { + "en": "Civic Holiday", + "fr": "Premier lundi d’août" + } + }, + "1st monday in September": { + "_name": "05-01" + }, + "09-30 since 2021": { + "name": { + "en": "National Day for Truth and Reconciliation", + "fr": "Journée nationale de la vérité et de la réconciliation" + } + }, + "2nd monday after 10-01": { + "name": { + "en": "Thanksgiving", + "fr": "Action de grâce" + } + }, + "10-31 18:00": { + "name": { + "en": "Halloween", + "fr": "l'Halloween" + }, + "type": "observance" + }, + "11-11": { + "name": { + "en": "Remembrance Day", + "fr": "Jour du Souvenir" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + }, + "states": { + "AB": { + "name": "Alberta", + "zones": [ + "America/Edmonton" + ], + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Family Day", + "fr": "Fête de la famille" + } + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "monday after 08-01": { + "name": { + "en": "Heritage Day", + "fr": "Fête du patrimoine" + }, + "type": "optional" + } + } + }, + "BC": { + "name": "British Columbia", + "zones": [ + "America/Vancouver", + "America/Edmonton", + "America/Creston", + "America/Dawson_Creek" + ], + "days": { + "2nd monday after 02-01": { + "name": { + "en": "Family Day", + "fr": "Fête de la famille" + }, + "active": [ + { + "to": 2019 + } + ] + }, + "3rd monday after 02-01": { + "name": { + "en": "Family Day", + "fr": "Fête de la famille" + }, + "active": [ + { + "from": 2019 + } + ] + } + } + }, + "MB": { + "name": "Manitoba", + "zones": [ + "America/Winnipeg" + ], + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Louis Riel Day", + "fr": "Journée Louis Riel" + } + } + } + }, + "NB": { + "name": "New Brunswick", + "zones": [ + "America/Moncton" + ], + "days": { + "monday after 08-01": { + "name": { + "en": "New Brunswick Day", + "fr": "Jour de Nouveau Brunswick" + } + } + } + }, + "NL": { + "name": "Newfoundland and Labrador", + "zones": [ + "America/St_Johns", + "America/Goose_Bay" + ], + "days": { + "03-17": { + "name": { + "en": "Saint Patrick's Day", + "fr": "Jour de la Saint-Patrick" + }, + "type": "optional" + }, + "04-23": { + "name": { + "en": "Saint George's Day", + "fr": "Jour de St. George" + }, + "type": "optional" + }, + "06-24": { + "name": { + "en": "Discovery Day", + "fr": "Journée découverte" + }, + "type": "optional" + }, + "07-12": { + "name": { + "en": "Orangemen's Day", + "fr": "Fête des orangistes" + }, + "type": "optional" + }, + "11-11": { + "name": { + "en": "Armistice Day", + "fr": "Jour de l'Armistice" + } + } + } + }, + "NS": { + "name": "Nova Scotia", + "zones": [ + "America/Halifax", + "America/Moncton" + ], + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Heritage Day", + "fr": "Fête du Patrimoine" + } + }, + "monday after 08-01": { + "name": { + "en": "Natal Day", + "fr": "Jour de la Fondation" + } + } + } + }, + "NT": { + "name": "Northwest Territories", + "zones": [ + "America/Yellowknife", + "America/Inuvik" + ], + "days": { + "06-21": { + "name": { + "en": "National Aboriginal Day", + "fr": "Journée nationale des Autochthones" + } + } + } + }, + "NU": { + "name": "Nunavut", + "zones": [ + "America/Iqaluit", + "America/Pangnirtung", + "America/Resolute", + "America/Rankin_Inlet", + "America/Atikokan", + "America/Cambridge_Bay" + ], + "days": { + "07-09": { + "name": { + "en": "Nunavut Day" + }, + "type": "bank" + } + } + }, + "ON": { + "name": "Ontario", + "zones": [ + "America/Toronto", + "America/Nipigon", + "America/Thunder_Bay", + "America/Atikokan", + "America/Rainy_River", + "America/Winnipeg" + ], + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Family Day", + "fr": "Fête de la famille" + } + }, + "easter 1": { + "_name": "easter 1" + } + } + }, + "PE": { + "name": "Prince Edward Island", + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Islander Day", + "fr": "Fête des Insulaires" + } + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "3rd friday after 08-01": { + "name": { + "en": "Gold Cup Parade Day", + "fr": "Défilé de la Coupe d'or" + } + } + } + }, + "QC": { + "name": "Quebec", + "zones": [ + "America/Blanc-Sablon", + "America/Toronto", + "America/Nipigon" + ], + "days": { + "easter -2": { + "_name": "easter -2", + "note": "Either Good Friday or Easter Monday, at the employer’s option" + }, + "easter 1": { + "_name": "easter 1", + "note": "Either Good Friday or Easter Monday, at the employer’s option" + }, + "monday before 05-25": { + "name": { + "en": "National Patriots' Day", + "fr": "Journée nationale des patriotes" + } + }, + "06-24": { + "name": { + "en": "National Holiday", + "fr": "Fête nationale du Québec" + } + }, + "monday after 08-01": false + } + }, + "SK": { + "name": "Saskatchewan", + "zones": [ + "America/Regina", + "America/Swift_Current", + "America/Edmonton" + ], + "days": { + "3rd monday after 02-01": { + "name": { + "en": "Family Day", + "fr": "Fête de la famille" + } + }, + "3rd monday after 08-01": { + "name": { + "en": "Saskatchewan Day" + } + } + } + }, + "YT": { + "name": "Yukon", + "zones": [ + "America/Whitehorse", + "America/Dawson" + ], + "days": { + "easter 1": { + "_name": "easter 1" + }, + "3rd monday after 08-01": { + "name": { + "en": "Discovery Day", + "fr": "Jour de la Découverte" + } + } + } + } + } + }, + "CC": { + "names": { + "en": "Cocos (Keeling) Islands" + }, + "langs": [ + "en" + ], + "zones": [ + "Indian/Cocos" + ], + "dayoff": "sunday", + "days": { + "chinese 01-0-01 and if sunday then next tuesday if saturday then next monday": { + "name": { + "en": "Chinese New Year" + }, + "substitute": true + }, + "chinese 01-0-02 and if sunday then next tuesday if saturday then next monday": { + "name": { + "en": "Chinese New Year (2nd Day)" + }, + "substitute": true + }, + "01-01": { + "_name": "01-01" + }, + "01-26": { + "name": { + "en": "Australia Day" + } + }, + "03-20": { + "name": { + "en": "Labour Day" + } + }, + "easter 1": { + "_name": "easter 1" + }, + "04-06": { + "name": { + "en": "Self Determination Day" + } + }, + "04-25": { + "name": { + "en": "Anzac Day" + } + }, + "12-25 and if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + }, + "1 Muharram and if sunday then next monday": { + "substitute": true, + "_name": "1 Muharram" + }, + "1 Shawwal and if sunday then next monday": { + "substitute": true, + "_name": "1 Shawwal", + "name": { + "en": "Hari Raya Puasa" + } + }, + "10 Dhu al-Hijjah and if sunday then next monday": { + "substitute": true, + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Hari Raya Haji" + } + }, + "12 Rabi al-awwal and if sunday then next monday": { + "substitute": true, + "_name": "12 Rabi al-awwal", + "name": { + "en": "Hari Maulaud Nabi" + } + } + } + }, + "CD": { + "names": { + "fr": "République démocratique du Congo", + "en": "Democratic Republic of the Congo" + }, + "dayoff": "sunday", + "langs": [ + "fr" + ], + "zones": [ + "Africa/Maputo", + "Africa/Lagos" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "01-04 and if sunday then next monday": { + "substitute": true, + "name": { + "fr": "Martyrs de l'Indépendance", + "en": "Day of the Martyrs" + } + }, + "01-16 and if sunday then next tuesday": { + "substitute": true, + "name": { + "fr": "Journée du Héro National Laurent Désiré Kabila", + "en": "Anniversary of President Laurent Kabila" + } + }, + "01-17 and if sunday then next monday": { + "substitute": true, + "name": { + "fr": "Journée du Héro National Patrice Emery Lumumba", + "en": "Anniversary of Prime Minister Patrice Emery Lumumba" + } + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "05-17 and if sunday then next monday": { + "substitute": true, + "name": { + "fr": "Journée de la Révolution et des Forces Armées", + "en": "Liberation Day" + } + }, + "06-30 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day", + "name": { + "fr": "Anniversaire de Indépendance" + } + }, + "08-01 and if sunday then next monday": { + "substitute": true, + "name": { + "fr": "Fête des parents", + "en": "Parents' Day" + } + }, + "12-25 and if sunday then next monday": { + "substitute": true, + "_name": "12-25" + }, + "2016-01-15": { + "_name": "Public Holiday" + } + } + }, + "CF": { + "names": { + "fr": "République centrafricaine", + "sg": "Ködörösêse tî Bêafrîka", + "en": "Central African Republic" + }, + "dayoff": "sunday", + "langs": [ + "fr", + "sg" + ], + "zones": [ + "Africa/Lagos" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-29": { + "name": { + "fr": "Décès du Fondateur Barthélémy Boganda", + "en": "Boganda Day" + } + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-30": { + "name": { + "fr": "Journée de prière", + "en": "General Prayer Day" + } + }, + "08-13": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-01": { + "name": { + "fr": "Jour de la République", + "en": "Republic Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "CG": { + "names": { + "fr": "République du Congo", + "en": "Republic of the Congo" + }, + "dayoff": "sunday", + "langs": [ + "fr", + "en" + ], + "zones": [ + "Africa/Lagos" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-10": { + "name": { + "fr": "Fête de la commémoration de la conférence nationale souveraine" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-28": { + "name": { + "fr": "Journée nationale de la République" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "CH": { + "names": { + "de": "Schweiz", + "fr": "Suisse", + "it": "Svizzera", + "en": "Switzerland" + }, + "dayoff": "sunday", + "langs": [ + "de-ch", + "de", + "fr", + "it" + ], + "zones": [ + "Europe/Zurich" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -3": { + "_name": "easter -3", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 39": { + "_name": "easter 39", + "name": { + "de": "Auffahrt" + } + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "1st sunday in June": { + "name": { + "de": "Vätertag", + "fr": "Fête des pères" + }, + "type": "observance", + "active": [ + { + "from": "2009-01-01" + } + ] + }, + "08-01": { + "name": { + "de": "Bundesfeiertag", + "fr": "Fête nationale", + "it": "Giorno festivo federale" + } + }, + "3rd sunday after 09-01": { + "name": { + "de": "Eidg. Dank-, Buss- und Bettag", + "fr": "Jeûne fédéral", + "it": "Digiuno federale", + "en": "Federal Day of Thanksgiving, Repentance and Prayer" + } + }, + "12-25": { + "_name": "12-25", + "name": { + "de": "Weihnachtstag" + } + }, + "12-26": { + "_name": "12-26", + "name": { + "de": "Stephanstag", + "fr": "Saint-Etienne" + } + } + }, + "states": { + "ZH": { + "names": { + "de": "Kanton Zürich", + "fr": "Canton de Zurich", + "it": "Canton Zurigo", + "en": "Canton of Zürich" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "05-01": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "monday after 2nd saturday in September 13:00": { + "name": { + "de": "Knabenschiessen" + }, + "type": "optional" + } + } + }, + "BE": { + "names": { + "de": "Kanton Bern", + "fr": "Canton de Berne", + "it": "Canton Berna", + "en": "Canton of Bern" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "2 janvier" + } + } + } + }, + "LU": { + "names": { + "de": "Kanton Luzern", + "fr": "Canton de Lucerne", + "it": "Canton Lucerna", + "en": "Canton of Lucerne" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "03-19": { + "_name": "03-19", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + } + } + }, + "UR": { + "names": { + "de": "Kanton Uri", + "fr": "Canton d'Uri", + "it": "Canton Uri", + "en": "Canton of Uri" + }, + "days": { + "01-06": { + "_name": "01-06" + }, + "03-19": { + "_name": "03-19" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-26": false, + "12-26 not on monday, friday": { + "_name": "12-26" + } + } + }, + "SZ": { + "names": { + "de": "Kanton Schwyz", + "fr": "Canton de Schwytz", + "it": "Canton Svitto", + "en": "Canton of Schwyz" + }, + "days": { + "01-06": { + "_name": "01-06" + }, + "03-19": { + "_name": "03-19" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + } + } + }, + "OW": { + "names": { + "de": "Kanton Obwalden", + "fr": "Canton d'Obwald", + "it": "Canton Obvaldo", + "en": "Canton of Obwalden" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "09-25": { + "name": { + "de": "Bruderklausenfest", + "fr": "Saint-Nicholas-de-Flüe", + "en": "Saint Nicholas of Flüe" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-26": { + "_name": "12-26", + "type": "optional" + } + } + }, + "NW": { + "names": { + "de": "Kanton Nidwalden", + "fr": "Canton de Nidwald", + "it": "Canton Nidvaldo", + "en": "Canton of Nidwalden" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "bank" + }, + "03-19": { + "_name": "03-19" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-26": { + "_name": "12-26", + "type": "optional" + } + } + }, + "GL": { + "sources": [ + "https://www.gl.ch/verwaltung/staatskanzlei/oeffentliche-feiertage.html/1335" + ], + "names": { + "de": "Kanton Glarus", + "fr": "Canton de Glaris", + "it": "Canton Glarona", + "en": "Canton of Glarus" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "Thursday after 04-02 if is observance holiday then next Thursday": { + "name": { + "de": "Näfelser Fahrt", + "fr": "Bataille de Näfels" + } + }, + "3rd sunday after 09-01": false, + "11-01": { + "_name": "11-01" + }, + "12-24": { + "_name": "12-24" + }, + "12-31": { + "_name": "12-31" + } + } + }, + "ZG": { + "names": { + "de": "Kanton Zug", + "fr": "Canton de Zoug", + "it": "Canton Zugo", + "en": "Canton of Zug" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-26": { + "_name": "12-26", + "type": "optional" + } + } + }, + "FR": { + "names": { + "fr": "Canton de Fribourg", + "de": "Kanton Freiburg", + "it": "Canton Friburgo", + "en": "Canton of Fribourg" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60", + "note": "excluding communities: Agriswil, Altavilla, Büchslen, Cordast, Courgevaux, Courlevon, Fräschels, Galmiz, Gempenach, Greng, Jeuss, Kerzers, Lurtigen, Meyriez, Muntelier, Murten, Ried bei Kerzers (halb), Salvenach, Ulmiz, Bas-Vully, Haut-Vully\n" + }, + "08-15": { + "_name": "08-15", + "note": "excluding communities: Agriswil, Altavilla, Büchslen, Cordast, Courgevaux, Courlevon, Fräschels, Galmiz, Gempenach, Greng, Jeuss, Kerzers, Lurtigen, Meyriez, Muntelier, Murten, Ried bei Kerzers (halb), Salvenach, Ulmiz, Bas-Vully, Haut-Vully\n" + }, + "11-01": { + "_name": "11-01", + "note": "excluding communities: Agriswil, Altavilla, Büchslen, Cordast, Courgevaux, Courlevon, Fräschels, Galmiz, Gempenach, Greng, Jeuss, Kerzers, Lurtigen, Meyriez, Muntelier, Murten, Ried bei Kerzers (halb), Salvenach, Ulmiz, Bas-Vully, Haut-Vully\n" + }, + "12-08": { + "_name": "12-08", + "note": "excluding communities: Agriswil, Altavilla, Büchslen, Cordast, Courgevaux, Courlevon, Fräschels, Galmiz, Gempenach, Greng, Jeuss, Kerzers, Lurtigen, Meyriez, Muntelier, Murten, Ried bei Kerzers (halb), Salvenach, Ulmiz, Bas-Vully, Haut-Vully\n" + }, + "12-26": { + "_name": "12-26", + "type": "optional" + } + } + }, + "SO": { + "names": { + "de": "Kanton Solothurn", + "fr": "Canton de Soleure", + "it": "Canton Soletta", + "en": "Canton of Solothurn" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "03-19": { + "_name": "03-19", + "note": "Only in communities: Fulenbach, Walterswil, Wisen, Metzerlen, Nulgar-St. Pantaleon, Rodersdorf, Bärschwil, Büsserach\n" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "05-01 12:00": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60", + "note": "is optional in Bucheggberg" + }, + "08-15": { + "_name": "08-15", + "note": "is optional in Bucheggberg" + }, + "11-01": { + "_name": "11-01", + "note": "is optional in Bucheggberg" + }, + "12-26": { + "_name": "12-26", + "type": "optional" + } + } + }, + "BS": { + "names": { + "de": "Kanton Basel-Stadt", + "fr": "Canton de Bâle-Ville", + "it": "Canton Basilea Città", + "en": "Canton of Basel-City" + }, + "days": { + "05-01": { + "_name": "05-01" + } + } + }, + "BL": { + "names": { + "de": "Kanton Basel-Landschaft", + "fr": "Canton de Bâle-Campagne", + "it": "Canton Basilea Campagna", + "en": "Canton of Basel-Country" + }, + "days": { + "05-01": { + "_name": "05-01" + }, + "easter 60": { + "_name": "easter 60", + "type": "observance" + } + } + }, + "SH": { + "names": { + "de": "Kanton Schaffhausen", + "fr": "Canton de Schaffhouse", + "it": "Canton Sciaffusa", + "en": "Canton of Schaffhausen" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "optional" + }, + "05-01": { + "_name": "05-01" + } + } + }, + "AR": { + "names": { + "de": "Kanton Appenzell Ausserrhoden", + "fr": "Canton d'Appenzell Rhodes-Extérieures", + "it": "Canton Appenzello Esterno", + "en": "Canton of Appenzell Outer Rhodes" + }, + "days": { + "12-26": false, + "12-26 not on monday": { + "_name": "12-26" + } + } + }, + "AI": { + "names": { + "de": "Kanton Appenzell Innerrhoden", + "fr": "Canton d'Appenzell Rhodes-Intérieures", + "it": "Canton Appenzello Interno", + "en": "Canton of Appenzell Inner-Rhodes" + }, + "days": { + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "09-22": { + "name": { + "de": "Mauritiustag" + }, + "note": "excluding: Bezirk Oberegg\n" + }, + "11-01": { + "_name": "11-01" + }, + "12-26": { + "type": "observance" + }, + "12-26 not on tuesday, saturday": { + "_name": "12-26" + } + } + }, + "SG": { + "names": { + "de": "Kanton St. Gallen", + "fr": "Canton de Saint-Gall", + "it": "Canton San Gallo", + "en": "Canton of St. Gallen" + }, + "days": { + "11-01": { + "_name": "11-01" + } + } + }, + "GR": { + "names": { + "de": "Kanton Graubünden", + "it": "Cantone dei Grigioni", + "fr": "Canton des Grisons", + "en": "Canton of Grisons" + }, + "langs": [ + "de-ch", + "de", + "it", + "fr" + ], + "days": { + "01-06": { + "_name": "01-06", + "type": "observance" + }, + "03-19": { + "_name": "03-19", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2", + "type": "optional" + }, + "easter 60": { + "_name": "easter 60", + "type": "observance" + }, + "08-15": { + "_name": "08-15", + "type": "observance" + }, + "11-01": { + "_name": "11-01", + "type": "observance" + }, + "12-08": { + "_name": "12-08", + "type": "observance" + } + } + }, + "AG": { + "names": { + "de": "Kanton Aargau", + "fr": "Canton d'Argovie", + "it": "Canton Argovia", + "en": "Canton of Aargau" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + } + }, + "05-01": { + "_name": "05-01" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + } + } + }, + "TG": { + "names": { + "de": "Kanton Thurgau", + "fr": "Canton de Thurgovie", + "it": "Canton Turgovia", + "en": "Canton of Thurgau" + }, + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + } + }, + "05-01": { + "_name": "05-01" + } + } + }, + "TI": { + "names": { + "it": "Canton Ticino", + "de": "Kanton Tessin", + "fr": "Canton du Tessin", + "en": "Canton of Ticino" + }, + "langs": [ + "it", + "de-ch", + "de", + "fr" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "bank" + }, + "01-06": { + "_name": "01-06", + "name": { + "it": "Epifania" + } + }, + "03-19": { + "_name": "03-19" + }, + "easter -2": false, + "easter 60": { + "_name": "easter 60" + }, + "05-01": { + "_name": "05-01" + }, + "06-29": { + "_name": "06-29" + }, + "1st sunday in June": false, + "08-15": { + "_name": "08-15", + "name": { + "it": "Assunzione" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + } + } + }, + "VD": { + "names": { + "fr": "Canton de Vaud", + "de": "Kanton Waadt", + "it": "Canton Vaud", + "en": "Canton of Vaud" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "2 Janvier" + } + }, + "monday after 3rd sunday in September": { + "name": { + "de": "Bettagsmontag", + "fr": "Lundi du Jeûne Fédéral", + "en": "Monday after Federal Day of Thanksgiving, Repentance and Prayer" + } + }, + "12-26": false + } + }, + "VS": { + "names": { + "fr": "Canton du Valais", + "de": "Kanton Wallis", + "it": "Canton Vallese", + "en": "Canton of Valais" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "Saint-Berthold" + }, + "type": "bank" + }, + "03-19": { + "_name": "03-19" + }, + "easter -2": false, + "easter 1": { + "_name": "easter 1", + "type": "optional" + }, + "05-01 12:00": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "monday after 3rd sunday after 09-01": { + "name": { + "de": "Bettagsmontag", + "fr": "Lundi du Jeûne Fédéral", + "en": "Monday after Federal Day of Thanksgiving, Repentance and Prayer" + }, + "type": "bank" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-24 12:00": { + "_name": "12-24" + }, + "12-26": { + "type": "optional" + } + } + }, + "NE": { + "names": { + "fr": "Canton de Neuchâtel", + "de": "Kanton Neuenburg", + "it": "Canton Neuchâtel", + "en": "Canton of Neuchâtel" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02 on monday": { + "name": { + "de": "Berchtoldstag", + "fr": "2 Janvier" + } + }, + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "2 Janvier" + }, + "type": "observance" + }, + "03-01": { + "name": { + "fr": "Instauration de la République", + "de": "Jahrestag Ausrufung der Republik" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50", + "type": "observance" + }, + "easter 60": { + "_name": "easter 60" + }, + "monday after 3rd sunday in September": { + "name": { + "de": "Bettagsmontag", + "fr": "Lundi du Jeûne Fédéral", + "en": "Monday after Federal Day of Thanksgiving, Repentance and Prayer" + }, + "type": "optional" + }, + "12-26": { + "type": "observance" + }, + "12-26 on monday": { + "_name": "12-26" + } + } + }, + "GE": { + "names": { + "fr": "Canton de Genève", + "de": "Kanton Genf", + "it": "Canton Ginevra", + "en": "Canton of Geneva" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "2 Janvier" + }, + "type": "bank" + }, + "thursday after 1st sunday after 09-01": { + "name": { + "de": "Genfer Bettag", + "fr": "Jeûne Genevois" + } + }, + "12-26": { + "type": "bank" + }, + "12-31": { + "name": { + "de": "Wiederherstellung der Republik", + "fr": "Restauration de la République", + "en": "Restoration of the Republic" + } + }, + "3rd sunday after 09-01": false + } + }, + "JU": { + "names": { + "fr": "Canton du Jura", + "de": "Kanton Jura", + "it": "Canton Giura", + "en": "Canton of Jura" + }, + "langs": [ + "fr", + "de-ch", + "de", + "it" + ], + "days": { + "01-02": { + "name": { + "de": "Berchtoldstag", + "fr": "2 Janvier" + } + }, + "05-01": { + "_name": "05-01" + }, + "easter 60": { + "_name": "easter 60" + }, + "06-23": { + "name": { + "fr": "Plébiscite jurassien", + "en": "Jura Plebiscite", + "de": "Fest der Unabhängigkeit" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-26": false + } + } + } + }, + "CI": { + "names": { + "fr": "République de Côte d'Ivoire", + "en": "Republic of Côte d'Ivoire" + }, + "langs": [ + "fr", + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "08-07 since 1960": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-15 since 1996": { + "name": { + "en": "National Peace Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "27 Ramadan": { + "_name": "27 Ramadan" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "CK": { + "names": { + "rar": "Kūki 'Āirani", + "en": "Cook Islands" + }, + "langs": [ + "en", + "rar" + ], + "zones": [ + "Pacific/Rarotonga" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "01-02 and if Saturday then next Monday if Monday, Sunday then next Tuesday": { + "substitute": true, + "name": { + "en": "Day after New Year's Day" + } + }, + "04-25": { + "name": { + "en": "Anzac Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "1st Monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st Friday in July": { + "name": { + "en": "Ra o te Ui Ariki (House of Ariki)", + "rar": "Ra o te Ui Ariki" + } + }, + "08-04 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "Constitution Day" + }, + "10-26 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Gospel Day" + } + }, + "12-25 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Saturday then next Monday if Monday, Sunday then next Tuesday": { + "substitute": true, + "_name": "12-26" + } + }, + "states": { + "Aitutaki": { + "names": { + "en": "Aitutaki" + }, + "days": { + "10-26 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Aitutaki Gospel Day" + } + } + } + }, + "Atiu": { + "names": { + "en": "Atiu" + }, + "days": { + "07-19 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Atiu Gospel Day" + } + } + } + }, + "Mangaia": { + "names": { + "en": "Mangaia" + }, + "days": { + "06-15 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Mangaia Gospel Day" + } + } + } + }, + "Manihiki": { + "names": { + "en": "Manihiki" + }, + "days": { + "08-08 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Manihiki Gospel Day" + } + } + } + }, + "Mitiaro": { + "names": { + "en": "Mitiaro" + }, + "days": { + "07-21 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Mitiaro Gospel Day" + } + } + } + }, + "Palmerston": { + "names": { + "en": "Palmerston" + }, + "days": { + "05-25 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Palmerston Gospel Day" + } + } + } + }, + "Penrhyn": { + "names": { + "en": "Penrhyn" + }, + "days": { + "05-13 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Penrhyn Gospel Day" + } + } + } + }, + "Pukapuka": { + "names": { + "en": "Pukapuka" + }, + "days": { + "12-06 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Pukapuka Gospel Day" + } + } + } + }, + "Rakahanga": { + "names": { + "en": "Rakahanga" + }, + "days": { + "08-15 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Rakahanga Gospel Day" + } + } + } + }, + "Rarotonga": { + "names": { + "en": "Rarotonga" + }, + "days": { + "07-25 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Rarotonga Gospel Day" + } + } + } + } + } + }, + "CL": { + "names": { + "es": "Chile", + "en": "Chile" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Santiago", + "Pacific/Easter" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "05-01": { + "_name": "05-01" + }, + "05-21": { + "name": { + "en": "Navy Day", + "es": "Día de las Glorias Navales" + } + }, + "06-29": { + "_name": "06-29" + }, + "07-16": { + "name": { + "en": "Our Lady of Mount Carmel", + "es": "Virgen del Carmen" + } + }, + "08-15": { + "_name": "08-15" + }, + "2022-09-16": { + "name": { + "es": "Fiestas Patrias", + "en": "National Holiday" + } + }, + "09-18": { + "name": { + "en": "National holiday", + "es": "Fiestas Patrias" + } + }, + "09-19": { + "name": { + "en": "Army Day", + "es": "Día de las Glorias del Ejército" + } + }, + "10-12 if tuesday, wednesday, thursday, friday then previous monday": { + "name": { + "en": "Columbus Day", + "es": "Encuentro de Dos Mundos" + } + }, + "10-31 if wednesday then next friday if tuesday then previous friday": { + "_name": "Reformation Day" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + }, + "states": { + "AP": { + "name": "Arica y Parinacota", + "days": { + "06-07": { + "name": { + "en": "Battle of Arica", + "es": "Asalto y Toma del Morro de Arica" + } + } + } + }, + "BI": { + "name": "Biobío", + "regions": { + "CH": { + "name": "Chillán y Chillán Viejo", + "days": { + "08-20": { + "name": { + "en": "Nativity of Liberator Bernardo O'Higgins", + "es": "Nacimiento del Prócer de la Independencia" + } + } + } + } + } + }, + "TA": { + "name": "Tarapacá", + "days": { + "08-10": { + "name": { + "en": "Saint Lawrence", + "es": "San Lorenzo de Tarapacá" + } + } + } + } + } + }, + "CM": { + "names": { + "fr": "Cameroun", + "en": "Cameroon" + }, + "dayoff": "sunday", + "langs": [ + "fr", + "en" + ], + "zones": [ + "Africa/Lagos" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-11": { + "name": { + "fr": "Fête de la Jeunesse", + "en": "Youth Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01 if sunday then next monday": { + "_name": "05-01" + }, + "05-20": { + "name": { + "fr": "Fête nationale ou de l'unité", + "en": "National Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "08-15": { + "_name": "08-15" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "CN": { + "names": { + "en": "China", + "zh": "中华人民共和国" + }, + "dayoff": "sunday", + "langs": [ + "zh", + "en" + ], + "zones": [ + "Asia/Shanghai", + "Asia/Urumqi" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-08 12:00": { + "_name": "03-08", + "note": "Women" + }, + "05-01": { + "_name": "05-01" + }, + "05-04 12:00": { + "name": { + "en": "Youth Day", + "zh": "青年节" + }, + "note": "Youth from the age of 14 to 28" + }, + "06-01": { + "name": { + "en": "Children's Day", + "zh": "六一儿童节" + }, + "note": "Children below the age of 14" + }, + "08-01 12:00": { + "name": { + "en": "Army Day", + "zh": "建军节" + }, + "note": "Military personnel in active service" + }, + "10-01": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + }, + "10-02": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + }, + "10-03": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + }, + "chinese 01-0-00": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "chinese 01-0-01": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "chinese 01-0-02": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "chinese 5-01 solarterm": { + "name": { + "en": "Qingming Festival", + "zh": "清明节 清明節" + } + }, + "chinese 05-0-05": { + "name": { + "en": "Dragon Boat Festival", + "zh": "端午节" + } + }, + "chinese 08-0-15": { + "name": { + "en": "Mid-Autumn Festival", + "zh": "中秋节" + } + }, + "2021-01-02": { + "_name": "01-01" + }, + "2021-01-03": { + "_name": "01-01" + }, + "2021-02-14": { + "name": { + "en": "Spring Festival", + "zh": "春节" + }, + "note": "Work on Sun February 7 and Sat February 20." + }, + "2021-02-15": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "2021-02-16": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "2021-02-17": { + "name": { + "en": "Spring Festival", + "zh": "春节" + } + }, + "2021-04-03": { + "name": { + "en": "Qingming Festival", + "zh": "清明节 清明節" + } + }, + "2021-04-05": { + "name": { + "en": "Qingming Festival", + "zh": "清明节 清明節" + } + }, + "2021-05-02": { + "_name": "05-01", + "note": "Work on Sun April 25 and Sat May 8." + }, + "2021-05-03": { + "_name": "05-01" + }, + "2021-05-04": { + "_name": "05-01" + }, + "2021-05-05": { + "_name": "05-01" + }, + "2021-06-12": { + "name": { + "en": "Dragon Boat Festival", + "zh": "端午节" + } + }, + "2021-06-13": { + "name": { + "en": "Dragon Boat Festival", + "zh": "端午节" + } + }, + "2021-09-19": { + "name": { + "en": "Mid-Autumn Festival", + "zh": "中秋节" + }, + "note": "Work on Sat September 18." + }, + "2021-09-20": { + "name": { + "en": "Mid-Autumn Festival", + "zh": "中秋节" + } + }, + "2021-10-04": { + "name": { + "en": "National Day", + "zh": "国庆节" + }, + "note": "Work on Sun September 26 and Sat October 9." + }, + "2021-10-05": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + }, + "2021-10-06": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + }, + "2021-10-07": { + "name": { + "en": "National Day", + "zh": "国庆节" + } + } + } + }, + "CO": { + "names": { + "es": "Colombia", + "en": "Colombia" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Bogota" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "monday after 01-06": { + "_name": "01-06" + }, + "monday after 03-19": { + "_name": "03-19" + }, + "easter -7": { + "_name": "easter -7", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "05-01": { + "_name": "05-01" + }, + "easter 43": { + "_name": "easter 39" + }, + "easter 64": { + "_name": "easter 60" + }, + "easter 71": { + "name": { + "es": "Sagrado Corazón de Jesús", + "en": "Sacred Heart" + } + }, + "monday after 06-29": { + "_name": "06-29" + }, + "07-20": { + "_name": "Independence Day" + }, + "08-07": { + "name": { + "en": "Battle of Boyacá", + "es": "Batalla de Boyacá" + } + }, + "monday after 08-15": { + "_name": "08-15" + }, + "monday after 10-12": { + "name": { + "es": "Día de la Raza", + "en": "Columbus Day" + } + }, + "1st monday in November": { + "_name": "11-01" + }, + "monday after 11-11": { + "name": { + "es": "Independencia de Cartagena", + "en": "Independence of Cartagena" + } + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "CR": { + "names": { + "es": "Costa Rica", + "en": "Costa Rica" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Costa_Rica" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-11": { + "name": { + "es": "Gesta Heroica de Juan Santamaría" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-25": { + "name": { + "en": "Guanacaste Day", + "es": "Anexión del Partido de Nicoya" + } + }, + "08-02": { + "name": { + "en": "Our Lady of Los Ángeles", + "es": "Día de la Virgen de los Ángeles" + } + }, + "08-15": { + "_name": "Mothers Day" + }, + "09-15": { + "_name": "Independence Day" + }, + "10-12 if monday then previous friday": { + "name": { + "en": "Columbus Day", + "es": "Día de la Raza" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "CU": { + "names": { + "es": "Cuba", + "en": "Cuba" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Havana" + ], + "days": { + "01-01": { + "name": { + "es": "Triunfo de la Revolución", + "en": "Triumph of the Revolution" + } + }, + "01-02": { + "name": { + "es": "Día de Victoria de las Fuerzas Armadas", + "en": "Victory of Armed Forces Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "07-25": { + "name": { + "es": "Conmemoración del asalto a Moncada", + "en": "Day before the Commemoration of the Assault of the Moncada garrison" + } + }, + "07-26": { + "name": { + "es": "Día de la Rebeldía Nacional", + "en": "Commemoration of the Assault of the Moncada garrison" + } + }, + "07-27": { + "name": { + "es": "Conmemoración del asalto a Moncada", + "en": "Day after the Commemoration of the Assault of the Moncada garrison" + } + }, + "10-10": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "CV": { + "names": { + "pt": "República de Cabo Verde", + "en": "Cape Verde" + }, + "langs": [ + "pt" + ], + "zones": [ + "Atlantic/Cape_Verde" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-13": { + "name": { + "pt": "Dia da Democracia", + "en": "Democracy Day" + } + }, + "01-20": { + "name": { + "pt": "Dia dos Heróis Nacionais", + "en": "Heroes' Day" + } + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -46": { + "_name": "easter -46" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "06-01": { + "name": { + "pt": "Dia das Crianças", + "en": "Children's Day" + } + }, + "07-05": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15", + "name": { + "pt": "Dia da Padroeira Nacional" + } + }, + "09-12": { + "name": { + "pt": "Dia Nacional", + "en": "National Day" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + } + }, + "states": { + "S": { + "name": "Sotavento Islands", + "regions": { + "PR": { + "name": "Praia", + "days": { + "05-19": { + "name": { + "pt": "Dia do Município da Praia" + } + } + } + } + } + } + } + }, + "CW": { + "names": { + "nl": "Curaçao", + "pap": "Kòrsou", + "en": "Curaçao" + }, + "langs": [ + "nl", + "pap", + "en" + ], + "zones": [ + "America/Curacao" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -48": { + "_name": "easter -48", + "name": { + "en": "Carnival Monday" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27": { + "name": { + "pap": "Aña di Rey", + "nl": "Koningsdag", + "en": "Kings Day" + } + }, + "05-01 if sunday then next monday": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "1st sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39", + "name": { + "nl": "Hemelvaartsdag" + } + }, + "07-02": { + "name": { + "nl": "Dag van het volkslied en de Vlag", + "pap": "Dia di Himno i Bandera", + "en": "Flag Day" + } + }, + "10-10": { + "name": { + "nl": "Dag van het land Curaçao", + "pap": "Pais Kòrsou", + "en": "Curaçao Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 12:00": { + "_name": "12-31" + } + } + }, + "CX": { + "names": { + "en": "Christmas Island" + }, + "langs": [ + "en", + "ms" + ], + "zones": [ + "Indian/Christmas" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-26": { + "name": { + "en": "Australia Day" + } + }, + "chinese 01-0-01 P2D": { + "name": { + "en": "Chinese New Year", + "zh": "春节" + } + }, + "4th monday in March": { + "_name": "05-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "04-25": { + "name": { + "en": "Anzac Day" + } + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "name": { + "ms": "Hari Raya Puasa" + } + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "name": { + "ms": "Hari Raya Haji" + } + }, + "10-06": { + "name": { + "en": "Territory Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "CY": { + "names": { + "el": "Κύπρος", + "en": "Cyprus" + }, + "dayoff": "", + "langs": [ + "el" + ], + "zones": [ + "Asia/Nicosia" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "orthodox -48": { + "name": { + "el": "Καθαρά Δευτέρα", + "en": "Ash Sunday" + }, + "type": "observance" + }, + "orthodox -47": { + "name": { + "el": "Καθαρά Δευτέρα", + "en": "Clean Monday" + } + }, + "03-25": { + "name": { + "el": "Ευαγγελισμός, Εθνική Εορτή", + "en": "Annunciation, Anniversary of 1821 Revolution" + } + }, + "04-01": { + "name": { + "en": "Cyprus National Day", + "el": "Κύπρος Εθνική Εορτή" + } + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "orthodox 49": { + "_name": "easter 49" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "08-15": { + "_name": "08-15" + }, + "10-01": { + "name": { + "en": "Cyprus Independence Day", + "el": "Ημέρα της Ανεξαρτησίας Κύπρος" + } + }, + "10-28": { + "_name": "National Holiday", + "name": { + "el": "Επέτειος του Όχι" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "CZ": { + "names": { + "cz": "Česká republika", + "en": "Czech Republic" + }, + "langs": [ + "cz" + ], + "zones": [ + "Europe/Prague" + ], + "days": { + "01-01": { + "_name": "01-01", + "name": { + "cz": "Nový rok a Den obnovy samostatného českého státu" + } + }, + "easter -4": { + "name": { + "cz": "Škaredá středa", + "en": "Ugly Wednesday" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1", + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-08": { + "name": { + "cz": "Den vítězství", + "en": "Liberation Day" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "07-05": { + "name": { + "cz": "Den slovanských věrozvěstů Cyrila a Metoděje", + "en": "Saints Cyril and Methodius Day" + } + }, + "07-06": { + "name": { + "cz": "Den upálení mistra Jana Husa", + "en": "Jan Hus Day" + } + }, + "09-28": { + "name": { + "cz": "Den české státnosti", + "en": "St. Wenceslas Day (Czech Statehood Day)" + } + }, + "10-28": { + "name": { + "cz": "Den vzniku samostatného československého státu", + "en": "Independent Czechoslovak State Day" + } + }, + "11-17": { + "name": { + "cz": "Den boje za svobodu a demokracii", + "en": "Struggle for Freedom and Democracy Day" + } + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "DE": { + "names": { + "de": "Deutschland", + "en": "Germany" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Berlin" + ], + "langs": [ + "de" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-14": { + "_name": "02-14", + "type": "observance" + }, + "easter -52": { + "name": { + "de": "Weiberfastnacht", + "en": "Women's Carnival Day" + }, + "type": "observance" + }, + "easter -48": { + "name": { + "de": "Rosenmontag", + "en": "Shrove Monday" + }, + "type": "observance" + }, + "easter -47 14:00": { + "_name": "easter -47", + "type": "observance" + }, + "easter -46": { + "_name": "easter -46", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01", + "name": { + "de": "Maifeiertag" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "10-03": { + "_name": "National Holiday", + "name": { + "de": "Tag der Deutschen Einheit" + } + }, + "11-01": { + "_name": "11-01", + "type": "observance" + }, + "11-02": { + "_name": "11-02", + "type": "observance" + }, + "11-11": { + "_name": "11-11", + "type": "observance" + }, + "wednesday before 11-23": { + "_name": "Buß- und Bettag", + "type": "observance" + }, + "6th sunday before 12-25": { + "name": { + "de": "Volkstrauertag", + "en": "Memorial Day" + }, + "type": "observance" + }, + "5th sunday before 12-25": { + "name": { + "de": "Totensonntag" + }, + "type": "observance" + }, + "4th sunday before 12-25": { + "name": { + "de": "1. Advent" + }, + "type": "observance" + }, + "3th sunday before 12-25": { + "name": { + "de": "2. Advent" + }, + "type": "observance" + }, + "2nd sunday before 12-25": { + "name": { + "de": "3. Advent" + }, + "type": "observance" + }, + "1st sunday before 12-25": { + "name": { + "de": "4. Advent" + }, + "type": "observance" + }, + "12-24 14:00 if sunday then 00:00": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25", + "name": { + "de": "1. Weihnachtstag" + } + }, + "12-26": { + "_name": "12-26" + }, + "12-31 14:00 if sunday then 00:00": { + "_name": "12-31", + "type": "bank" + }, + "2017-10-31": { + "_name": "Reformation Day" + } + }, + "states": { + "BB": { + "name": "Brandenburg", + "days": { + "easter": { + "_name": "easter" + }, + "easter 49": { + "_name": "easter 49" + }, + "10-31": { + "_name": "Reformation Day" + } + } + }, + "BE": { + "name": "Berlin", + "days": { + "03-08": { + "_name": "03-08", + "active": [ + { + "from": "2019-01-01T00:00:00.000Z" + } + ] + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "2020-05-08": { + "name": { + "de": "Tag der Befreiung (75. Jahrestag)", + "en": "Liberation Day (75th Anniversary)" + } + } + } + }, + "BW": { + "name": "Baden-Württemberg", + "days": { + "01-06": { + "_name": "01-06" + }, + "easter -3": { + "_name": "easter -3", + "type": "school" + }, + "easter 60": { + "_name": "easter 60" + }, + "10-31": { + "_name": "Reformation Day", + "type": "school" + }, + "11-01": { + "_name": "11-01" + } + } + }, + "BY": { + "name": "Bayern", + "days": { + "01-06": { + "_name": "01-06" + }, + "02-02": { + "_name": "02-02", + "type": "observance" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "wednesday before 11-23": { + "_name": "Buß- und Bettag", + "type": "school" + } + }, + "regions": { + "A": { + "name": "Stadt Augsburg", + "days": { + "08-08": { + "name": { + "de": "Augsburger Friedensfest", + "en": "Augsburg Peace Festival" + } + } + } + }, + "EVANG": { + "names": { + "de": "Überwiegend evangelische Gemeinden", + "en": "Predominantly protestant communities" + }, + "days": { + "08-15": { + "_name": "08-15", + "type": "school" + } + } + } + } + }, + "HB": { + "name": "Hansestadt Bremen", + "days": { + "10-31": { + "_name": "Reformation Day", + "active": [ + { + "from": "2018-01-01T00:00:00.000Z" + } + ] + } + } + }, + "HE": { + "name": "Hessen", + "days": { + "easter": { + "_name": "easter" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 60": { + "_name": "easter 60" + } + } + }, + "HH": { + "name": "Hansestadt Hamburg", + "days": { + "10-31": { + "_name": "Reformation Day", + "active": [ + { + "from": "2018-01-01T00:00:00.000Z" + } + ] + } + } + }, + "MV": { + "name": "Mecklenburg Vorpommern", + "days": { + "03-08 since 2023": { + "_name": "03-08" + }, + "10-31": { + "_name": "Reformation Day" + } + } + }, + "NI": { + "name": "Niedersachsen", + "days": { + "10-31": { + "_name": "Reformation Day", + "active": [ + { + "from": "2018-01-01T00:00:00.000Z" + } + ] + } + } + }, + "NW": { + "name": "Nordrhein-Westfalen", + "days": { + "easter 60": { + "_name": "easter 60" + }, + "11-01": { + "_name": "11-01" + } + } + }, + "RP": { + "name": "Rheinland-Pfalz", + "days": { + "easter 60": { + "_name": "easter 60" + }, + "11-01": { + "_name": "11-01" + } + } + }, + "SH": { + "name": "Schleswig-Holstein", + "days": { + "10-31": { + "_name": "Reformation Day", + "active": [ + { + "from": "2018-01-01T00:00:00.000Z" + } + ] + } + } + }, + "SL": { + "name": "Saarland", + "days": { + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + } + } + }, + "SN": { + "name": "Sachsen", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "observance" + }, + "10-31": { + "_name": "Reformation Day" + }, + "wednesday before 11-23": { + "_name": "Buß- und Bettag" + } + }, + "regions": { + "BZ": { + "name": "Landkreis Bautzen", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "public", + "note": "Bautzen (nur in den Ortsteilen Bolbritz und Salzenforst), Crostwitz, Göda (nur im Ortsteil Prischwitz), Großdubrau (nur im Ortsteil Sdier), Hoyerswerda (nur im Ortsteil Dörgenhausen), Königswartha (nicht im Ortsteil Wartha), Nebelschütz, Neschwitz (nur in den Ortsteilen Neschwitz und Saritsch), Panschwitz-Kuckau, Puschwitz, Räckelwitz, Radibor, Ralbitz-Rosenthal und Wittichenau." + } + } + } + } + }, + "ST": { + "name": "Sachsen-Anhalt", + "days": { + "01-06": { + "_name": "01-06" + }, + "10-31": { + "_name": "Reformation Day" + } + } + }, + "TH": { + "name": "Thüringen", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "observance" + }, + "09-20": { + "name": { + "de": "Weltkindertag", + "en": "International Children's Day" + }, + "active": [ + { + "from": 2019 + } + ] + }, + "10-31": { + "_name": "Reformation Day" + } + }, + "regions": { + "EIC": { + "name": "Landkreis Eichfeld", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "public" + } + } + }, + "UH": { + "name": "Unstrut-Hainich-Kreis", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "public", + "note": "In Anrode (nur in den Ortsteilen Bickenriede und Zella), Dünwald (nur in den Ortsteilen Beberstedt und Hüpstedt), Rodeberg (nur im Ortsteil Struth), Südeichsfeld" + } + } + }, + "WAK": { + "name": "Wartburgkreis", + "days": { + "easter 60": { + "_name": "easter 60", + "type": "public", + "note": "In Brunnhartshausen (nur in den Ortsteilen Föhlritz und Steinberg), Buttlar, Geisa, Schleid, Zella/Rhön" + } + } + } + } + } + } + }, + "DJ": { + "names": { + "fr": "République de Djibouti", + "ar": "جمهورية جيبوتي", + "so": "Jamhuuriyadda Jabuuti", + "aa": "Gabuutih Ummuuno", + "en": "Djibouti" + }, + "langs": [ + "fr", + "ar", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "05-01": { + "_name": "05-01" + }, + "06-27 since 1977": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "9 Dhu al-Hijjah": { + "_name": "9 Dhu al-Hijjah" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "DK": { + "names": { + "da": "Danmark", + "en": "Denmark" + }, + "langs": [ + "da" + ], + "zones": [ + "Europe/Copenhagen" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -48": { + "name": { + "da": "Fastelavn" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 26": { + "name": { + "da": "Store Bededag", + "en": "Prayer Day", + "de": "Buß- und Bettag" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "05-01": { + "_name": "05-01", + "type": "observance", + "note": "Full holiday for blue collar workers" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-05": { + "_name": "Constitution Day", + "type": "observance", + "note": "Shops are closed" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "12-24": { + "_name": "12-24", + "type": "observance", + "note": "Shops are closed" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "DM": { + "names": { + "en": "Dominica" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01 and if sunday then next monday": { + "_name": "01-01", + "substitute": true + }, + "easter -48": { + "_name": "easter -48", + "name": { + "en": "Carnival Monday" + } + }, + "easter -47": { + "_name": "easter -47", + "name": { + "en": "Carnival Tuesday" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "1st monday in August": { + "name": { + "en": "Emancipation Day" + } + }, + "11-03 if sunday then next monday": { + "_name": "Independence Day" + }, + "11-04 if sunday then next monday if monday then next tuesday": { + "name": { + "en": "National Day of Community Service" + } + }, + "12-25 and if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + } + } + }, + "DO": { + "names": { + "es": "República Dominicana", + "en": "Dominican Republic" + }, + "dayoff": "sunday", + "zones": [ + "America/Santo_Domingo" + ], + "langs": [ + "es" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06 if tuesday,wednesday then previous monday if thursday,friday then next monday": { + "_name": "01-06" + }, + "01-21": { + "name": { + "es": "Nuestra Señora de la Altagracia", + "en": "Our Lady of Altagracia" + } + }, + "01-26 if tuesday,wednesday then previous monday if thursday,friday then next monday": { + "name": { + "es": "Día de Duarte", + "en": "Duarte's Birthday" + } + }, + "02-27": { + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01 if tuesday,wednesday then previous monday if thursday,friday,sunday then next monday": { + "_name": "05-01" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-16": { + "name": { + "es": "Día de la Restauración", + "en": "Restoration Day" + } + }, + "09-24": { + "name": { + "es": "Nuestra Señora de las Mercedes", + "en": "Our Lady of las Mercedes" + } + }, + "11-06 if tuesday,wednesday,thursday,friday,saturday then next monday": { + "_name": "Constitution Day" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "DZ": { + "names": { + "ar": "الجمهورية الجزائرية الديمقراطية الشعبية", + "fr": "République algérienne démocratique et populaire", + "en": "Algeria" + }, + "langs": [ + "ar", + "fr", + "en" + ], + "zones": [ + "Africa/Algiers" + ], + "dayoff": "saturday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-12": { + "name": { + "ar": "رأس السنة الأمازيغية", + "fr": "Nouvel an amazigh", + "en": "Amazigh New Year" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-05": { + "_name": "Independence Day" + }, + "11-01": { + "_name": "Revolution Day" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "EC": { + "names": { + "es": "Ecuador", + "en": "Ecuador" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Guayaquil", + "Pacific/Galapagos" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -48": { + "name": { + "en": "Carnival", + "es": "Carnaval" + } + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "05-24": { + "name": { + "en": "The Battle of Pichincha", + "es": "Batalla del Pichincha" + } + }, + "07-24": { + "name": { + "en": "The Birthday of Simón Bolívar", + "es": "El Natalicio de Simón Bolívar" + }, + "type": "observance" + }, + "08-10": { + "name": { + "en": "Declaration of Independence of Quito", + "es": "Día del Primer Grito de Independencia de Quito" + } + }, + "09-10": { + "name": { + "en": "Independence of Guayaquil", + "es": "Independencia de Guayaquil" + } + }, + "10-31": { + "name": { + "en": "Flag Day", + "es": "Dia de La Bandera" + }, + "type": "observance" + }, + "11-02": { + "_name": "11-02" + }, + "11-03": { + "name": { + "en": "Independence of Cuenca", + "es": "Independencia de Cuenca" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + }, + "states": { + "P": { + "name": "Pichincha", + "regions": { + "QU": { + "name": "Quito", + "days": { + "12-06": { + "name": { + "en": "Foundation of Quito", + "es": "Aniversario de la fundación de Quito" + }, + "type": "observance" + } + } + } + } + } + } + }, + "EE": { + "names": { + "et": "Eesti", + "en": "Estonia" + }, + "dayoff": "sunday", + "langs": [ + "et" + ], + "zones": [ + "Europe/Tallinn" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "type": "observance" + }, + "02-02": { + "name": { + "et": "Tartu rahulepingu aastapäev", + "en": "Anniversary of the Tartu Peace Treaty" + }, + "type": "observance" + }, + "02-24": { + "_name": "Independence Day", + "type": "public" + }, + "03-14": { + "name": { + "et": "emakeelepäev", + "en": "Native Language Day" + }, + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 49": { + "_name": "easter 49" + }, + "06-04": { + "name": { + "et": "Eesti lipu päev", + "en": "National Flag Day" + }, + "type": "observance" + }, + "06-14": { + "name": { + "et": "leinapäev", + "en": "Day of Mourning and Commemoration" + }, + "type": "observance" + }, + "06-23": { + "name": { + "et": "võidupüha", + "en": "Victory Day" + } + }, + "06-24": { + "name": { + "et": "jaanipäev", + "en": "Midsummer Day" + } + }, + "08-20": { + "name": { + "et": "taasiseseisvumispäev", + "en": "Day of Restoration of Independence" + } + }, + "08-23": { + "name": { + "et": "kommunismi ja natsismi ohvrite mälestuspäev", + "en": "European Day of Remembrance for Victims of Stalinism and Nazism" + }, + "type": "observance" + }, + "2nd sunday in September": { + "name": { + "et": "vanavanemate päev", + "en": "Grandparents Day" + }, + "type": "observance" + }, + "09-22": { + "name": { + "et": "vastupanuvõitluse päev", + "en": "Resistance Fighting Day" + }, + "type": "observance" + }, + "11-02": { + "_name": "11-02", + "type": "observance" + }, + "2nd sunday in November": { + "_name": "Fathers Day", + "type": "observance" + }, + "11-16": { + "name": { + "et": "taassünni päev", + "en": "Day of Declaration of Sovereignty" + }, + "type": "observance" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "EG": { + "names": { + "ar": "جمهورية مصر العربية", + "en": "Egypt" + }, + "langs": [ + "ar", + "en" + ], + "zones": [ + "Africa/Cairo" + ], + "dayoff": "saturday", + "days": { + "01-25 since 2011": { + "name": { + "ar": "عيد ثورة 25 يناير", + "en": "Revolution Day 2011" + } + }, + "01-25": { + "name": { + "ar": "عيد الشرطة", + "en": "National Police Day" + } + }, + "04-25": { + "name": { + "ar": "عيد تحرير سيناء", + "en": "Sinai Liberation Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "06-30": { + "name": { + "ar": "عيد ثورة 30 يونيو", + "en": "30 June Day" + } + }, + "07-23": { + "_name": "Revolution Day" + }, + "10-06": { + "name": { + "ar": "عيد القوات المسلحة", + "en": "Armed Forces Day" + } + }, + "orthodox 1": { + "name": { + "ar": "شم النسيم", + "en": "Sham El Nessim" + } + }, + "julian 12-25": { + "_name": "12-25" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P4D": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "EH": { + "names": { + "ar": "الجمهورية العربية الصحراوية الديمقراطية", + "en": "Western Sahara" + }, + "langs": [], + "zones": [ + "Africa/El_Aaiun" + ], + "dayoff": "", + "days": { + "02-27": { + "_name": "Independence Day" + }, + "03-08": { + "name": { + "en": "First Martyr" + } + }, + "05-10": { + "name": { + "en": "May 20 Revolution" + } + }, + "06-09": { + "name": { + "en": "Day of the Martyrs" + } + }, + "06-17": { + "name": { + "en": "Day of National Unity" + } + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P2D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P2D": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "ER": { + "names": { + "en": "Eritrea" + }, + "langs": [ + "ti", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "julian 12-25": { + "_name": "julian 12-25" + }, + "julian 01-06": { + "_name": "01-06" + }, + "02-10": { + "name": { + "ti": "ፈንቅል", + "en": "Fenkil Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "orthodox -2": { + "_name": "orthodox -2" + }, + "orthodox": { + "_name": "orthodox" + }, + "05-01": { + "_name": "05-01" + }, + "05-24": { + "_name": "Independence Day" + }, + "06-20": { + "name": { + "en": "Martyrs' Day", + "ti": "መዓልቲ ስውኣት" + } + }, + "09-01": { + "_name": "Revolution Day" + }, + "09-11 in non-leap years": { + "name": { + "en": "Geez New Year", + "ti": "ግዕዝ አዲስ ዓመት" + } + }, + "09-12 in leap years": { + "name": { + "en": "Geez New Year", + "ti": "ግዕዝ አዲስ ዓመት" + } + }, + "09-27 in non-leap years": { + "name": { + "en": "Meskel" + } + }, + "09-28 in leap years": { + "name": { + "en": "Meskel" + } + }, + "12-25": { + "_name": "12-25" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "ES": { + "names": { + "es": "España", + "ca": "Espanya", + "en": "Spain" + }, + "langs": [ + "es" + ], + "zones": [ + "Europe/Madrid", + "Africa/Ceuta", + "Atlantic/Canary" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "type": "observance", + "substitute": true, + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "substitutes 01-06 if sunday then next monday": { + "type": "observance", + "substitute": true, + "_name": "01-06" + }, + "03-19": { + "_name": "03-19", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "07-25": { + "name": { + "es": "Santiago Apostol" + }, + "type": "observance", + "note": "regional" + }, + "08-15": { + "_name": "08-15" + }, + "10-12": { + "name": { + "es": "Fiesta Nacional de España" + } + }, + "substitutes 10-12 if sunday then next monday": { + "substitute": true, + "type": "observance", + "name": { + "es": "Fiesta Nacional de España" + } + }, + "11-01": { + "_name": "11-01" + }, + "substitutes 11-01 if sunday then next monday": { + "substitute": true, + "type": "observance", + "_name": "11-01" + }, + "12-06": { + "name": { + "es": "Día de la Constitución Española" + } + }, + "substitutes 12-06 if sunday then next monday": { + "type": "observance", + "substitute": true, + "name": { + "es": "Día de la Constitución Española" + } + }, + "12-08": { + "_name": "12-08" + }, + "substitutes 12-08 if sunday then next monday": { + "type": "observance", + "substitute": true, + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if sunday then next monday": { + "substitute": true, + "_name": "12-25" + } + }, + "states": { + "AN": { + "name": "Andalucía", + "days": { + "02-28": { + "name": { + "es": "Día de Andalucía" + } + }, + "substitutes 02-28 if Sunday then next Monday": { + "substitute": true, + "name": { + "es": "Día de Andalucía" + } + }, + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "substitutes 08-15 if Sunday then next Monday": { + "substitute": true, + "_name": "08-15" + }, + "easter -3": { + "_name": "easter -3" + } + } + }, + "AR": { + "name": "Aragón", + "days": { + "04-23": { + "name": { + "es": "Día de Aragón" + } + }, + "substitutes 04-23 if Sunday then next Monday": { + "substitute": true, + "name": { + "es": "Día de Aragón" + } + }, + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "substitutes 08-15 if Sunday then next Monday": { + "substitute": true, + "_name": "08-15" + } + } + }, + "AS": { + "name": "Asturias", + "days": { + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "substitutes 08-15 if Sunday then next Monday": { + "substitute": true, + "_name": "08-15" + }, + "09-08": { + "name": "Día de Asturias" + }, + "substitutes 09-08 if Sunday then next Monday": { + "substitute": true, + "name": "Día de Asturias" + } + } + }, + "CB": { + "name": "Cantabria", + "days": { + "06-28": { + "name": "Día de las Instituciones de Cantabria" + }, + "substitutes 06-28 if Sunday then next Monday": { + "name": "Día de las Instituciones de Cantabria" + }, + "09-15": { + "name": "La Bien Aparecida" + }, + "substitutes 09-15 if Sunday then next Monday": { + "name": "La Bien Aparecida" + } + } + }, + "CE": { + "name": "Ciudad de Ceuta", + "days": { + "08-05": { + "name": "Nuestra Señora de África" + }, + "substitutes 08-05 if Sunday then next Monday": { + "substitute": true, + "name": "Nuestra Señora de África" + }, + "09-02": { + "name": "Día de Ceuta" + }, + "substitutes 09-02 if Sunday then next Monday": { + "substitute": true, + "name": "Día de Ceuta" + }, + "9 Dhu al-Hijjah": { + "_name": "9 Dhu al-Hijjah" + } + } + }, + "CL": { + "names": { + "es": "Castilla y León", + "en": "Castile and León" + }, + "days": { + "04-23": { + "name": "Fiesta de Castilla y León" + }, + "substitutes 04-23 if Sunday then next Monday": { + "substitute": true, + "name": "Fiesta de Castilla y León" + }, + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "substitutes 08-15 if Sunday then next Monday": { + "substitute": true, + "_name": "08-15" + } + } + }, + "CM": { + "name": "Castile-La Mancha", + "days": { + "05-31 since 2020": { + "name": "Día de Castilla-La Mancha" + }, + "substitutes 05-31 if Sunday then next Monday since 2020": { + "substitute": true, + "name": "Día de Castilla-La Mancha" + }, + "easter 60": { + "_name": "easter 60" + } + } + }, + "CN": { + "names": { + "es": "Islas Canarias", + "en": "Canary Islands" + }, + "zones": [ + "Atlantic/Canary" + ], + "dayoff": "sunday", + "_days": "IC", + "regions": { + "EH": { + "names": { + "es": "El Hierro" + }, + "_days": [ + "IC", + "regions", + "EH" + ] + }, + "FU": { + "names": { + "es": "Fuerteventura" + }, + "_days": [ + "IC", + "regions", + "FU" + ] + }, + "GC": { + "names": { + "es": "Gran Canaria" + }, + "_days": [ + "IC", + "regions", + "GC" + ] + }, + "LG": { + "names": { + "es": "La Gomera" + }, + "_days": [ + "IC", + "regions", + "LG" + ] + }, + "LP": { + "names": { + "es": "La Palma" + }, + "_days": [ + "IC", + "regions", + "LP" + ] + }, + "LA": { + "names": { + "es": "Lanzarote" + }, + "_days": [ + "IC", + "regions", + "LA" + ] + }, + "TE": { + "names": { + "es": "Tenerife" + }, + "_days": [ + "IC", + "regions", + "TE" + ] + } + } + }, + "CT": { + "names": { + "ca": "Catalunya", + "es": "Cataluña", + "en": "Catalonia" + }, + "days": { + "09-11": { + "name": { + "ca": "Diada de Catalunya", + "es": "Dia de Cataluña" + } + }, + "06-24": { + "name": { + "ca": "Sant Joan", + "es": "San Juan" + } + }, + "easter -3": { + "_name": "easter -3", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 50": { + "_name": "easter 50" + }, + "substitutes 05-01 if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "09-24 if sunday then next monday": { + "name": { + "es": "Mare de Déu de la Mercè" + } + }, + "12-26": { + "name": { + "ca": "Sant Esteve", + "es": "San Esteban" + }, + "type": "observance" + } + } + }, + "EX": { + "name": "Extremadura", + "days": { + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "09-08": { + "name": "Día de Extremadura" + }, + "substitutes 09-08 if Sunday then next Monday": { + "substitute": true, + "name": "Día de Extremadura" + } + } + }, + "GA": { + "name": "Galicia", + "days": { + "05-17": { + "name": "Día de las Letras Gallegas" + }, + "substitutes 05-17 if Sunday then next Monday": { + "substitute": true, + "name": "Día de las Letras Gallegas" + }, + "07-25": { + "name": "Día Nacional de Galicia" + }, + "substitutes 07-25 if Sunday then next Monday": { + "substitute": true, + "name": "Día Nacional de Galicia" + } + } + }, + "IB": { + "names": { + "es": "Illes Balears", + "en": "Balearic Islands" + }, + "days": { + "03-01": { + "name": { + "es": "Día de les Illes Balears" + } + }, + "substitutes 03-01 if Sunday then next Monday": { + "substitute": true, + "name": { + "es": "Día de les Illes Balears" + } + }, + "easter 1": { + "_name": "easter 1" + }, + "12-26": { + "name": { + "es": "Sant Esteve" + }, + "type": "observance" + } + } + }, + "MC": { + "name": "Murcia Region", + "days": { + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + } + } + }, + "MD": { + "name": "Comunidad de Madrid", + "days": { + "05-02 if Sunday then next Monday": { + "name": { + "es": "Día de la Comunidad de Madrid" + } + }, + "substitutes 05-02 if Sunday then next Monday": { + "substitute": true, + "name": { + "es": "Día de la Comunidad de Madrid" + } + }, + "05-16": { + "name": { + "es": "San Isidro Labrador" + }, + "type": "observance" + }, + "07-25": { + "name": "Santiago Apóstol" + }, + "substitutes 07-25 if Sunday then next Monday": { + "substitute": true, + "name": "Santiago Apóstol" + }, + "11-09 if sunday then next monday": { + "name": { + "es": "Nuestra Señora de la Almudena" + }, + "type": "observance" + } + } + }, + "ML": { + "name": "Ciudad de Melilla", + "days": { + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "NC": { + "names": { + "es": "Comunidad Foral de Navarra", + "en": "Navarra Chartered Community" + }, + "days": { + "easter 1": { + "_name": "easter 1" + }, + "07-25": { + "name": "Santiago Apóstol" + }, + "substitutes 07-25 if Sunday then next Monday": { + "substitute": true, + "name": "Santiago Apóstol" + } + } + }, + "PV": { + "names": { + "es": "País Vasco", + "en": "Basque Country" + }, + "days": { + "easter 1": { + "_name": "easter 1" + }, + "07-25": { + "name": "Santiago Apóstol" + }, + "substitutes 07-25 if Sunday then next Monday": { + "substitute": true, + "name": "Santiago Apóstol" + }, + "2022-09-06": { + "name": "V Centenario Vuelta al Mundo" + } + } + }, + "RI": { + "name": "La Rioja", + "days": { + "easter 1": { + "_name": "easter 1" + } + } + }, + "VC": { + "names": { + "es": "Comunitat Valenciana", + "en": "Valencian Community" + }, + "days": { + "03-19": { + "_name": "03-19" + }, + "easter 1": { + "_name": "easter 1" + } + } + } + } + }, + "ET": { + "names": { + "am": "ኢትዮጵያ", + "en": "Ethiopia" + }, + "dayoff": "sunday", + "langs": [ + "am", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-06 in non-leap years": { + "_name": "12-25" + }, + "01-07 in leap years": { + "_name": "12-25" + }, + "01-19": { + "_name": "01-06" + }, + "03-02": { + "name": { + "am": "የዓድዋ ድል በዓል", + "en": "Victory at Adwa Day" + } + }, + "03-28": { + "name": { + "am": "የቀይ ሽብር መታሰቢያ ቀን", + "en": "Day of Lament" + } + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "05-28": { + "name": { + "am": "ደርግ የወደቀበት ቀን", + "en": "Derg Downfall Day" + } + }, + "09-11 in non-leap years": { + "_name": "01-01" + }, + "09-12 in leap years": { + "_name": "01-01" + }, + "09-27 in non-leap years": { + "name": { + "am": "ብርሐነ-መስቀል", + "en": "Finding of the True Cross" + } + }, + "09-28 in leap years": { + "name": { + "am": "ብርሐነ-መስቀል", + "en": "Finding of the True Cross" + } + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "FI": { + "names": { + "fi": "Suomi", + "en": "Finland" + }, + "dayoff": "sunday", + "langs": [ + "fi" + ], + "zones": [ + "Europe/Helsinki" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "friday after 06-19": { + "name": { + "fi": "Juhannusaatto", + "en": "Midsummer Eve", + "sv": "Midsommarafton" + }, + "type": "bank" + }, + "saturday after 06-20": { + "name": { + "fi": "Juhannuspäivä", + "en": "Midsummer Day", + "sv": "Midsommardagen" + } + }, + "saturday after 10-31": { + "_name": "11-01" + }, + "2nd sunday in November": { + "_name": "Fathers Day", + "type": "observance" + }, + "12-06": { + "_name": "Independence Day" + }, + "12-24": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 14:00 if sunday then 00:00": { + "_name": "12-31", + "type": "bank" + } + } + }, + "FJ": { + "names": { + "fj": "Matanitu Tugalala o Viti", + "en": "Fiji" + }, + "langs": [ + "fj", + "en" + ], + "zones": [ + "Pacific/Fiji" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "09-07": { + "_name": "Constitution Day" + }, + "10-10 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Fiji Day" + } + }, + "12-25 if Sunday then next Monday": { + "_name": "12-25" + }, + "12-26 if Sunday then next Monday if Monday then next Tuesday": { + "_name": "12-26" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "2014-10-22": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2015-11-10": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2016-10-29": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2017-10-19": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2018-11-07": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2019-10-27": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2019-10-28": { + "substitute": true, + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2020-11-14": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2020-11-16": { + "substitute": true, + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2021-11-04": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2022-10-24": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2023-11-12": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2023-11-13": { + "substitute": true, + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2024-11-01": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + }, + "2025-10-21": { + "_name": "Deepavali", + "name": { + "en": "Diwali" + } + } + } + }, + "FO": { + "names": { + "fo": "Føroyar", + "da": "Færøerne", + "en": "Faroe Islands" + }, + "langs": [ + "fo", + "da" + ], + "zones": [ + "Atlantic/Faroe" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-24": { + "name": { + "fo": "Flaggdagur", + "da": "Flagdag", + "en": "Flag Day" + } + }, + "easter 26": { + "name": { + "fo": "Dýri biðidagur", + "en": "Great Prayer Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-05 12:00 if sunday then 00:00": { + "_name": "Constitution Day" + }, + "07-28 12:00 if sunday then 00:00": { + "name": { + "da": "Sankt Olavsaften", + "en": "St.Olav's Eve" + }, + "note": "half-day holiday for some workers' unions", + "type": "observance" + }, + "07-29": { + "name": { + "fo": "Ólavsøka", + "da": "Sankt Olavs Dag", + "en": "St.Olav's Day" + }, + "note": "full holiday for most workers' unions", + "type": "observance" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 12:00 if sunday then 00:00": { + "_name": "12-31" + } + } + }, + "FR": { + "names": { + "fr": "France", + "en": "France" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Paris" + ], + "langs": [ + "fr" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-08": { + "name": { + "fr": "Fête de la Victoire 1945", + "en": "Victory Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "sunday before 06-01": { + "_name": "Mothers Day", + "type": "observance" + }, + "07-14": { + "name": { + "fr": "Fête Nationale de la France", + "en": "Bastille Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-11": { + "name": { + "fr": "Armistice 1918", + "en": "Armistice Day" + } + }, + "12-25": { + "_name": "12-25" + } + }, + "states": { + "57": { + "name": "Département Moselle", + "days": { + "easter -2": { + "_name": "easter -2" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "67": { + "name": "Département Bas-Rhin", + "days": { + "easter -2": { + "_name": "easter -2" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "68": { + "name": "Département Haut-Rhin", + "days": { + "easter -2": { + "_name": "easter -2" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "YT": { + "name": "Département et région d'outre-mer Mayotte", + "zones": [ + "Africa/Nairobi" + ], + "_days": "YT" + }, + "MQ": { + "name": "Département et région d'outre-mer Martinique", + "zones": [ + "America/Martinique" + ], + "_days": "MQ" + }, + "GP": { + "name": "Département et région d'outre-mer Guadeloupe", + "zones": [ + "America/Port_of_Spain" + ], + "_days": "GP" + }, + "GF": { + "name": "Département et région d'outre-mer Guyane", + "zones": [ + "America/Cayenne" + ], + "_days": "GF" + }, + "RE": { + "name": "Département et région d'outre-mer La Réunion", + "zones": [ + "Indian/Reunion" + ], + "_days": "RE" + }, + "MF": { + "name": "Département et région d'outre-mer Saint Martin", + "zones": [ + "America/Marigot" + ], + "_days": "MF" + }, + "BL": { + "name": "Département et région d'outre-mer Saint Barthélemy", + "zones": [ + "America/St_Barthelemy" + ], + "_days": "BL" + } + } + }, + "GA": { + "names": { + "fr": "Gabon", + "en": "Gabon" + }, + "dayoff": "sunday", + "langs": [ + "fr" + ], + "zones": [ + "Africa/Lagos" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-17": { + "name": { + "fr": "Journée des droits de la femme", + "en": "Women's Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "08-15": { + "_name": "08-15" + }, + "08-16 P2D": { + "_name": "Independence Day" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "GB": { + "names": { + "en": "United Kingdom" + }, + "dayoff": "sunday", + "zones": [ + "Europe/London" + ], + "langs": [ + "en" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "substitutes 01-01 if saturday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -21": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "1st monday in May": { + "name": { + "en": "Early May bank holiday" + }, + "disable": [ + "2020-05-04" + ] + }, + "1st monday before 06-01": { + "name": { + "en": "Spring bank holiday" + }, + "disable": [ + "2022-05-30" + ], + "enable": [ + "2022-06-02" + ] + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "substitutes 12-26 if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-26" + }, + "2012-06-05": { + "name": { + "en": "Queen’s Diamond Jubilee" + } + }, + "2020-05-08": { + "name": { + "en": "Early May bank holiday (VE day)" + } + }, + "2022-06-03": { + "name": { + "en": "Queen’s Platinum Jubilee" + } + }, + "2022-09-19": { + "name": { + "en": "Queen Elizabeth's Funeral Day" + } + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + } + }, + "states": { + "ALD": { + "name": "Alderney", + "zones": [ + "Europe/Guernsey" + ], + "days": { + "12-15": { + "name": { + "en": "Homecoming Day" + } + } + } + }, + "ENG": { + "name": "England", + "days": { + "1st monday before 09-01": { + "name": { + "en": "Summer bank holiday" + } + } + } + }, + "NIR": { + "name": "Northern Ireland", + "zones": [ + "Europe/Belfast" + ], + "days": { + "03-17": { + "name": { + "en": "St Patrick's Day" + } + }, + "substitutes 03-17 if saturday then next monday": { + "substitute": true, + "name": { + "en": "St Patrick's Day" + } + }, + "substitutes 03-17 if sunday then next monday": { + "substitute": true, + "name": { + "en": "St Patrick's Day" + } + }, + "07-12": { + "name": { + "en": "Battle of the Boyne, Orangemen’s Day" + } + }, + "substitutes 07-12 if saturday then next monday": { + "substitute": true, + "name": { + "en": "Battle of the Boyne" + } + }, + "substitutes 07-12 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Battle of the Boyne" + } + }, + "1st monday before 09-01": { + "name": { + "en": "Summer bank holiday" + } + } + } + }, + "SCT": { + "name": "Scotland", + "days": { + "substitutes 01-01 if sunday then next monday": false, + "substitutes 01-01 if saturday then next monday": false, + "substitutes 01-01 if saturday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "01-02": { + "name": { + "en": "Januar 2nd" + } + }, + "substitutes 01-02 if saturday then next monday": { + "substitute": true, + "name": { + "en": "Januar 2nd" + } + }, + "substitutes 01-02 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Januar 2nd" + } + }, + "easter 1": { + "_name": "easter 1" + }, + "1st monday in August": { + "name": { + "en": "Summer bank holiday" + } + }, + "11-30": { + "name": { + "en": "St Andrew’s Day" + } + } + } + }, + "WLS": { + "name": "Wales", + "days": { + "1st monday before 09-01": { + "name": { + "en": "Summer bank holiday" + } + } + }, + "regions": {} + } + } + }, + "GD": { + "names": { + "en": "Grenada" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-07": { + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-24 P3D": { + "name": { + "en": "Carriacou Maroon and String Band Music Festival" + }, + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "1st monday in August": { + "name": { + "en": "Emancipation Day" + } + }, + "2nd monday in August": { + "name": { + "en": "Carnival Monday" + } + }, + "tuesday after 2nd monday in August": { + "name": { + "en": "Carnival Tuesday" + } + }, + "09-01": { + "name": { + "en": "Kirani Day" + }, + "type": "observance" + }, + "10-15 P5D": { + "name": { + "en": "Aunty Tek Spice Word Festival" + }, + "type": "observance" + }, + "10-25": { + "name": { + "en": "Thanksgiving Day" + } + }, + "12-04 P3D": { + "name": { + "en": "Camerhogne Folk Festival" + }, + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "GE": { + "names": { + "ge": "საქართველო", + "en": "Georgia" + }, + "langs": [ + "ge" + ], + "zones": [ + "Asia/Tbilisi" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "name": { + "ge": "ბედობა", + "en": "Bedoba" + } + }, + "01-07": { + "name": { + "ge": "შობა", + "en": "Orthodox Christmas" + } + }, + "01-19": { + "name": { + "ge": "ნათლისღება", + "en": "Orthodox Epiphany" + } + }, + "03-03": { + "name": { + "ge": "დედის დღე", + "en": "Mother's Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "04-09": { + "name": { + "ge": "ეროვნული ერთიანობის დღე", + "en": "National Unity Day" + } + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox -1": { + "_name": "easter -1" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "05-09": { + "name": { + "ge": "ფაშიზმზე გამარჯვების დღე", + "en": "Victory Day" + } + }, + "05-12": { + "name": { + "ge": "წმინდა ანდრია პირველწოდებულის ხსენების დღე", + "en": "Saint Andrew the First-Called Day" + } + }, + "05-26": { + "name": { + "ge": "დამოუკიდებლობის დღე", + "en": "Independence Day" + } + }, + "08-28": { + "name": { + "ge": "მარიამობა", + "en": "Saint Mary's Day" + } + }, + "10-14": { + "name": { + "ge": "სვეტიცხოვლობა", + "en": "Svetitskhovloba" + } + }, + "11-23": { + "name": { + "ge": "გიორგობა", + "en": "Saint George's Day" + } + } + } + }, + "GF": { + "names": { + "fr": "Guyane", + "en": "French Guiana" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/Cayenne" + ], + "dayoff": "sunday", + "_days": "FR", + "days": { + "06-10": { + "_name": "Abolition of Slavery" + } + } + }, + "GG": { + "names": { + "en": "Guernsey" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Guernsey" + ], + "langs": [ + "en" + ], + "_days": [ + "GB" + ], + "days": { + "05-09": { + "name": { + "en": "Liberation Day" + } + } + } + }, + "GH": { + "names": { + "en": "Ghana" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Accra" + ], + "dayoff": "", + "days": { + "01-01 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "01-07 since 2019": { + "_name": "Constitution Day" + }, + "03-06 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "08-04 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Founders Day" + } + }, + "09-21 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Kwame Nkrumah Memorial Day" + } + }, + "1st Friday in December since 1988": { + "name": { + "en": "Farmers Day" + } + }, + "12-25 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-26" + }, + "1 Shawwal and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "10 Dhu al-Hijjah" + } + } + }, + "GI": { + "names": { + "en": "Gibraltar" + }, + "langs": [ + "en" + ], + "zones": [ + "Europe/Gibraltar" + ], + "dayoff": "sunday", + "_days": "GB", + "days": { + "2nd monday in March": { + "name": { + "en": "Commonwealth Day" + } + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-28": { + "name": { + "en": "Workers Memorial Day" + }, + "disable": [ + "2015-04-28" + ], + "enable": [ + "2015-04-27" + ] + }, + "05-01 if sunday, saturday then next monday": { + "substitute": true, + "name": { + "en": "May Day" + } + }, + "1st monday in May": false, + "2020-05-08": { + "name": { + "en": "Victory in Europe Day (VE Day)" + } + }, + "monday before 06-20": { + "name": { + "en": "Queen's Birthday" + } + }, + "monday before September": { + "name": { + "en": "Late Summer Bank Holiday" + } + }, + "09-10": { + "name": { + "en": "Gibraltar National Day" + }, + "active": [ + { + "to": 2015 + } + ] + }, + "09-10 and if sunday, saturday then previous monday": { + "substitute": true, + "name": { + "en": "Gibraltar National Day" + }, + "active": [ + { + "from": 2015 + } + ] + } + } + }, + "GL": { + "names": { + "kl": "Kalaallit Nunaat", + "da": "Grønland", + "en": "Greenland" + }, + "langs": [ + "kl", + "da" + ], + "zones": [ + "America/Godthab", + "America/Danmarkshavn", + "America/Scoresbysund", + "America/Thule" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 26": { + "name": { + "kl": "tussiarfissuaq", + "da": "Store Bededag", + "en": "Prayer Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "06-21": { + "name": { + "kl": "ullortuneq", + "da": "Nationaldag", + "en": "National Day" + } + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "GM": { + "names": { + "en": "The Gambia" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "02-18": { + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-25": { + "name": { + "en": "Africa Day" + } + }, + "07-22": { + "name": { + "en": "Revolution Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "12-25": { + "_name": "12-25" + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "23 Ramadan": { + "_name": "23 Ramadan" + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "name": { + "en": "Korité" + } + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Tabaski" + } + } + } + }, + "GN": { + "names": { + "fr": "Guinée", + "en": "Guinea" + }, + "langs": [ + "fr" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-03": { + "name": { + "fr": "Fête Nationale de la deuxième République", + "en": "National Holiday" + } + }, + "05-01": { + "_name": "05-01" + }, + "05-25": { + "name": { + "fr": "Anniversaire de l'Organisation de l'unité africaine (OUA)", + "en": "Africa Day" + } + }, + "27 Ramadan": { + "_name": "27 Ramadan" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "08-15": { + "_name": "08-15" + }, + "10-02": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + } + } + }, + "GP": { + "names": { + "fr": "Guadeloupe", + "en": "Guadeloupe" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "_days": "FR", + "days": { + "easter 49": false, + "easter -2": { + "_name": "easter -2" + }, + "05-27": { + "_name": "Abolition of Slavery" + }, + "07-21": { + "name": { + "fr": "Jour de Victor Shoelcher", + "en": "Victor Shoelcher Day" + } + } + } + }, + "GQ": { + "names": { + "es": "República de Guinea Ecuatorial", + "fr": "République de Guinée équatoriale", + "pt": "República da Guiné Equatorial", + "en": "Republic of Equatorial Guinea" + }, + "dayoff": "sunday", + "weekend": [ + "saturday", + "sunday" + ], + "langs": [ + "es", + "fr", + "pt" + ], + "zones": [ + "Africa/Lagos" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "easter 60": { + "_name": "easter 60" + }, + "06-05 and if sunday then next monday": { + "substitute": true, + "name": { + "es": "Natalicio de Teodoro Obiang", + "en": "President's Day" + } + }, + "08-03 and if sunday then next monday": { + "substitute": true, + "name": { + "es": "Día del Golpe de Libertad", + "en": "Armed Forces Day" + } + }, + "08-15 and if sunday then next monday": { + "substitute": true, + "_name": "Constitution Day" + }, + "10-12 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "12-08 and if sunday then next monday": { + "substitute": true, + "_name": "12-08" + }, + "12-25 and if sunday then next monday": { + "substitute": true, + "_name": "12-25" + } + } + }, + "GR": { + "names": { + "el": "Ελλάδα", + "en": "Greece" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Athens" + ], + "langs": [ + "el" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "orthodox -48": { + "name": { + "el": "Καθαρά Δευτέρα", + "en": "Ash Sunday" + } + }, + "03-25": { + "name": { + "el": "Ευαγγελισμός, Εθνική Εορτή", + "en": "Annunciation, Anniversary of 1821 Revolution" + } + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "orthodox 49": { + "_name": "easter 49" + }, + "orthodox 50": { + "_name": "easter 50" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "08-15": { + "_name": "08-15" + }, + "10-28": { + "_name": "National Holiday", + "name": { + "el": "Επέτειος του Όχι" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "GT": { + "names": { + "es": "Guatemala", + "en": "Guatemala" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Guatemala" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "06-30 if tuesday then previous monday if wednesday,thursday then next friday": { + "name": { + "es": "Día de las Fuerzas Armadas", + "en": "Army Day" + } + }, + "09-15": { + "_name": "Independence Day" + }, + "10-20": { + "_name": "Revolution Day" + }, + "11-01": { + "_name": "11-01" + }, + "12-24 12:00": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-31 12:00": { + "_name": "12-31" + } + } + }, + "GU": { + "names": { + "en": "Guam" + }, + "dayoff": "sunday", + "langs": [ + "en-us", + "en" + ], + "zones": [ + "Pacific/Guam" + ], + "_days": [ + "US" + ], + "days": { + "3rd monday in February": false, + "03-17": false, + "1st monday in March": { + "name": { + "en": "Guam History and Chamorro Heritage Day" + } + }, + "easter -2": { + "_name": "easter -2", + "type": "observance" + }, + "07-21 if sunday then next monday": { + "name": { + "en": "Liberation Day" + } + }, + "11-02": { + "_name": "11-02" + }, + "12-08 if sunday then next monday": { + "name": { + "en": "Our Lady of Camarin Day" + } + } + } + }, + "GW": { + "names": { + "pt": "Guiné-Bissau", + "en": "Guinea-Bissau" + }, + "langs": [ + "pt" + ], + "zones": [ + "Africa/Bissau" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-20": { + "name": { + "pt": "Dia dos heróis", + "en": "Heroes Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "05-01": { + "_name": "05-01" + }, + "08-03": { + "name": { + "pt": "Pidjiguiti Day" + } + }, + "09-24": { + "_name": "Independence Day" + }, + "11-14": { + "name": { + "pt": "Dia do Movimento de Reajustamento", + "en": "Readjustment Movement Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "GY": { + "names": { + "en": "Guyana" + }, + "coord": { + "lat": 6.8045, + "lng": -58.1553 + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Guyana" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-23": { + "name": { + "en": "Republic Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-05": { + "name": { + "en": "Arrival Day" + } + }, + "05-26": { + "_name": "Independence Day" + }, + "monday after 07-01": { + "name": { + "en": "CARICOM Day" + } + }, + "08-01": { + "name": { + "en": "Emancipation Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal", + "name": { + "en": "Youman Nabi" + }, + "note": "tentative", + "disable": [ + "2016-12-11", + "2015-12-23", + "2013-01-24" + ], + "enable": [ + "2016-12-12", + "2015-12-24", + "2013-01-23" + ] + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Eid Ul Adha" + }, + "note": "tentative", + "disable": [ + "2015-09-23" + ], + "enable": [ + "2015-09-24" + ] + }, + "2015-03-05": { + "name": { + "en": "Phagwah" + } + }, + "2016-03-23": { + "name": { + "en": "Phagwah" + } + }, + "2017-03-12": { + "name": { + "en": "Phagwah" + } + }, + "2017-03-13": { + "substitute": true, + "name": { + "en": "Phagwah" + } + }, + "2018-03-02": { + "name": { + "en": "Phagwah" + } + }, + "2019-03-21": { + "name": { + "en": "Phagwah" + } + }, + "2020-03-10": { + "name": { + "en": "Phagwah" + } + }, + "2021-03-29": { + "name": { + "en": "Phagwah" + } + }, + "2022-03-18": { + "name": { + "en": "Phagwah" + } + }, + "2023-03-07": { + "name": { + "en": "Phagwah" + } + }, + "2024-03-25": { + "name": { + "en": "Phagwah" + } + }, + "2015-11-11": { + "name": { + "en": "Deepavali" + } + }, + "2017-10-18": { + "name": { + "en": "Deepavali" + } + }, + "2018-11-07": { + "name": { + "en": "Deepavali" + } + }, + "2019-10-27": { + "name": { + "en": "Deepavali" + } + }, + "2019-10-28": { + "substitute": true, + "name": { + "en": "Deepavali" + } + }, + "2020-11-14": { + "name": { + "en": "Deepavali" + } + }, + "2021-11-04": { + "name": { + "en": "Deepavali" + } + }, + "2022-10-24": { + "name": { + "en": "Deepavali" + } + }, + "2023-11-12": { + "name": { + "en": "Deepavali" + } + }, + "2023-11-13": { + "substitute": true, + "name": { + "en": "Deepavali" + } + }, + "2024-10-31": { + "name": { + "en": "Deepavali" + } + } + } + }, + "HK": { + "names": { + "zh": "香港", + "en": "Hong Kong" + }, + "langs": [ + "zh", + "en" + ], + "zones": [ + "Asia/Hong_Kong" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "01-01", + "name": { + "zh": "一月一日" + } + }, + "chinese 01-0-01 and if Saturday then next Tuesday": { + "name": { + "en": "Lunar New Year", + "zh": "農曆年初一" + } + }, + "chinese 01-0-02 and if Saturday then next Monday": { + "name": { + "en": "The second day of the Lunar New Year", + "zh": "農曆年初二" + } + }, + "chinese 01-0-03 and if Saturday then next Monday": { + "name": { + "en": "The third day of the Lunar New Year", + "zh": "農曆年初三" + } + }, + "chinese 5-01 solarterm and if Sunday then next Monday": { + "name": { + "en": "Qingming Festival", + "zh": "清明節" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1", + "disable": [ + "2021-04-05" + ], + "enable": [ + "2021-04-06" + ] + }, + "05-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "chinese 04-0-08 and if Sunday then next Monday": { + "name": { + "en": "Birthday of the Buddha", + "zh": "佛誕" + } + }, + "chinese 05-0-05": { + "name": { + "en": "Dragon Boat Festival", + "zh": "端午节" + } + }, + "07-01 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Hong Kong Special Administrative Region Establishment Day", + "zh": "香港特別行政區成立紀念日" + } + }, + "chinese 08-0-16 and if Sunday then next Monday if is public holiday then next day omit Saturday, Sunday": { + "substitute": true, + "name": { + "en": "The day following the Chinese Mid-Autumn Festival", + "zh": "中秋節翌日" + } + }, + "10-01 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Day", + "zh": "國慶日" + } + }, + "chinese 09-0-09 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Chung Yeung Festival", + "zh": "重阳节" + } + }, + "12-25 and if Sunday then next Monday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Sunday then next Monday if Monday then next Tuesday": { + "substitute": true, + "name": { + "en": "The first weekday after Christmas Day", + "zh": "圣诞节后的第一个工作日" + } + } + } + }, + "HN": { + "names": { + "es": "Honduras", + "en": "Honduras" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Tegucigalpa" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-19": { + "_name": "Fathers Day", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-14": { + "name": { + "es": "Día de las Américas" + } + }, + "05-01": { + "_name": "05-01" + }, + "2nd monday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-11": { + "name": { + "en": "Pupil's Day", + "es": "Día del Estudiante" + }, + "type": "observance" + }, + "09-10": { + "name": { + "en": "Children's Day", + "es": "Día del Niño" + }, + "type": "observance" + }, + "09-15": { + "_name": "Independence Day" + }, + "09-17": { + "name": { + "en": "Teacher's Day", + "es": "Día del Maestro" + }, + "type": "observance" + }, + "10-03": { + "name": { + "en": "Soldier's Day", + "es": "Día del Soldado" + } + }, + "10-12": { + "name": { + "es": "Día de la Raza", + "en": "Columbus Day" + } + }, + "10-21": { + "name": { + "es": "Día de las Fuerzas Armadas", + "en": "Armed forces Day" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "HR": { + "names": { + "hr": "Hrvatska", + "en": "Croatia" + }, + "langs": [ + "hr" + ], + "zones": [ + "Europe/Belgrade" + ], + "days": { + "01-01": { + "_name": "01-01", + "type": "public" + }, + "01-06": { + "_name": "01-06", + "type": "public" + }, + "easter -47": { + "_name": "easter -47", + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "public" + }, + "easter 1": { + "_name": "easter 1", + "type": "public" + }, + "easter 60": { + "_name": "easter 60", + "type": "public" + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "05-01": { + "_name": "05-01", + "type": "public" + }, + "05-30": { + "name": { + "hr": "Dan državnosti", + "en": "National Day" + }, + "type": "public", + "active": [ + { + "from": "2020-01-01" + } + ] + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-22": { + "name": { + "hr": "Dan antifašističke borbe", + "en": "Anti-Fascist Struggle Day" + }, + "type": "public" + }, + "06-25 #1": { + "name": { + "hr": "Dan državnosti", + "en": "Statehood Day" + }, + "type": "public", + "active": [ + { + "to": "2020-01-01" + } + ] + }, + "06-25": { + "name": { + "hr": "Dan neovisnosti", + "en": "Independence Day" + }, + "type": "observance", + "active": [ + { + "from": "2020-01-01" + } + ] + }, + "08-05": { + "name": { + "hr": "Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja", + "en": "Victory and Homeland Thanksgiving Day and the Day of Croatian defenders" + }, + "type": "public" + }, + "08-15": { + "_name": "08-15", + "type": "public" + }, + "10-08 #1": { + "name": { + "hr": "Dan neovisnosti", + "en": "Independence Day" + }, + "type": "public", + "active": [ + { + "to": "2020-01-01" + } + ] + }, + "10-08": { + "name": { + "hr": "Dan Hrvatskoga sabora", + "en": "Day of the Croatian Parliament" + }, + "type": "observence", + "active": [ + { + "from": "2020-01-01" + } + ] + }, + "11-01": { + "_name": "11-01", + "type": "public" + }, + "11-18 #1": { + "name": { + "hr": "Dan sjećanja na žrtvu Vukovara i Škabrnje", + "en": "Remembrance Day" + }, + "type": "observance", + "active": [ + { + "to": "2020-01-01" + } + ] + }, + "11-18": { + "name": { + "hr": "Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje", + "en": "Remembrance Day" + }, + "type": "public", + "active": [ + { + "from": "2020-01-01" + } + ] + }, + "12-25": { + "_name": "12-25", + "type": "public" + }, + "12-26": { + "_name": "12-26", + "type": "public" + }, + "orthodox": { + "_name": "orthodox", + "type": "optional", + "note": "Orthodox believers (legally defined as Christians who follow the Julian Calender)" + }, + "orthodox 1": { + "_name": "orthodox 1", + "type": "optional", + "note": "Orthodox believers (legally defined as Christians who follow the Julian Calender)" + }, + "julian 12-25": { + "_name": "julian 12-25", + "type": "optional", + "note": "Orthodox believers (legally defined as Christians who follow the Julian Calender)" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "type": "optional", + "note": "Muslim believers" + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "type": "optional", + "note": "Muslim believers" + }, + "1 Tishrei": { + "_name": "10 Tishrei", + "type": "optional", + "note": "Jewish believers" + }, + "10 Tishrei": { + "_name": "10 Tishrei", + "type": "optional", + "note": "Jewish believers" + } + }, + "regions": { + "17": { + "name": "Split-Dalmatia", + "days": { + "05-07": { + "name": { + "hr": "Sveti Duje", + "en": "Saint Domnius" + }, + "type": "optional" + } + } + }, + "19": { + "name": "Dubrovnik-Neretva", + "days": { + "02-03": { + "name": { + "hr": "Sveti Vlaho", + "en": "Saint Blaise" + }, + "type": "optional" + } + } + } + } + }, + "HT": { + "names": { + "fr": "Haïti", + "en": "Haiti" + }, + "dayoff": "sunday", + "langs": [ + "fr" + ], + "zones": [ + "America/Port-au-Prince" + ], + "days": { + "01-01": { + "_name": "Independence Day" + }, + "01-02": { + "name": { + "fr": "Jour des Aieux", + "en": "Ancestry Day" + } + }, + "01-06": { + "_name": "01-06", + "name": { + "fr": "Le Jour des Rois" + }, + "type": "observance" + }, + "easter -48 14:00": { + "name": { + "fr": "Lundi Gras", + "en": "Lundi Gras" + } + }, + "easter -47": { + "name": { + "fr": "Mardi Gras", + "en": "Mardi Gras" + } + }, + "easter -46": { + "_name": "easter -46", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 60": { + "_name": "easter 60" + }, + "05-01": { + "_name": "05-01" + }, + "05-18": { + "name": { + "fr": "Jour du Drapeau et de l'Université", + "en": "Flag and Universities' Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "10-17": { + "name": { + "fr": "Anniversaire de la mort de Dessalines", + "en": "Anniversary of the death of Dessalines" + } + }, + "11-01": { + "_name": "11-01" + }, + "11-02": { + "_name": "11-02" + }, + "11-18": { + "name": { + "fr": "Vertières", + "en": "Battle of Vertières Day" + } + }, + "12-05": { + "name": { + "fr": "Découverte d'Haïti", + "en": "Discovery Day" + }, + "type": "observance" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "HU": { + "names": { + "hu": "Magyarország", + "en": "Hungary" + }, + "dayoff": "sunday", + "langs": [ + "hu" + ], + "zones": [ + "Europe/Budapest" + ], + "days": { + "01-01": { + "_name": "01-01", + "type": "public" + }, + "02-01": { + "name": { + "hu": "A köztársaság emléknapja", + "en": "Memorial Day of the Republic" + }, + "type": "observance" + }, + "02-25": { + "name": { + "hu": "A kommunista diktatúrák áldozatainak emléknapja", + "en": "Memorial Day for the Victims of the Communist Dictatorships" + }, + "type": "observance" + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "03-15": { + "name": { + "hu": "1948-as forradalom", + "en": "National Day" + }, + "type": "public" + }, + "04-16": { + "name": { + "en": "Memorial Day for the Victims of the Holocaust", + "hu": "A holokauszt áldozatainak emléknapja" + }, + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "public" + }, + "easter 1": { + "_name": "easter 1", + "type": "public" + }, + "05-01": { + "_name": "05-01", + "type": "public" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "05-21": { + "name": { + "en": "National Defense Day", + "hu": "Honvédelmi nap" + }, + "type": "observance" + }, + "easter 49": { + "_name": "easter 49", + "type": "public" + }, + "easter 50": { + "_name": "easter 50", + "type": "public" + }, + "06-04": { + "name": { + "en": "Day of National Unity", + "hu": "A nemzeti összetartozás napja" + }, + "type": "observance" + }, + "06-19": { + "name": { + "en": "Day of the Independent Hungary", + "hu": "A független Magyarország napja" + }, + "type": "observance" + }, + "08-20": { + "name": { + "hu": "Szent István ünnepe", + "en": "Saint Stephen's Day" + }, + "type": "public" + }, + "10-06": { + "name": { + "en": "Memorial Day for the Martyrs of Arad", + "hu": "Az aradi vértanúk emléknapja" + }, + "type": "observance" + }, + "10-23": { + "name": { + "hu": "1956-os forradalom", + "en": "National Day" + }, + "type": "public" + }, + "11-01": { + "_name": "11-01", + "type": "public" + }, + "12-06": { + "_name": "12-06", + "type": "observance" + }, + "12-24": { + "_name": "12-24", + "type": "optional" + }, + "12-25": { + "_name": "12-25", + "type": "public" + }, + "12-26": { + "_name": "12-26", + "type": "public" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + } + }, + "IC": { + "names": { + "es": "Islas Canarias", + "en": "Canary Islands" + }, + "langs": [ + "es" + ], + "zones": [ + "Atlantic/Canary" + ], + "dayoff": "sunday", + "_days": "ES", + "days": { + "05-30": { + "name": { + "es": "Día de Canarias", + "en": "Canary Islands Day" + } + }, + "substitutes 05-30 if Sunday then next Monday": { + "substitute": true, + "name": { + "es": "Día de Canarias", + "en": "Canary Islands Day" + } + }, + "substitutes 08-15 if Sunday then next Monday": { + "substitute": true, + "_name": "08-15" + } + }, + "regions": { + "EH": { + "names": { + "es": "El Hierro" + }, + "days": { + "09-24": { + "name": { + "es": "Nuestra Señora de los Reyes" + } + } + } + }, + "FU": { + "names": { + "es": "Fuerteventura" + }, + "days": { + "09-18": { + "name": { + "es": "Nuestra Señora de la Peña" + } + } + } + }, + "GC": { + "names": { + "es": "Gran Canaria" + }, + "days": { + "09-08": { + "name": { + "es": "Nuestra Señora del Pino" + } + } + } + }, + "LG": { + "names": { + "es": "La Gomera" + }, + "days": { + "10-05": { + "name": { + "es": "Nuestra Señora de Guadalupe" + } + } + } + }, + "LP": { + "names": { + "es": "La Palma" + }, + "days": { + "08-05": { + "name": { + "es": "Nuestra Señora de las Nieves" + } + } + } + }, + "LA": { + "names": { + "es": "Lanzarote" + }, + "days": { + "09-15": { + "name": { + "es": "Nuestra Señora de los Dolores" + } + } + } + }, + "TE": { + "names": { + "es": "Tenerife" + }, + "days": { + "09-07": { + "name": { + "es": "La Bajada de la Virgen del Socorro" + } + } + } + } + } + }, + "ID": { + "names": { + "en": "Indonesia", + "id": "Indonesia" + }, + "langs": [ + "id" + ], + "zones": [ + "Asia/Jakarta", + "Asia/Pontianak", + "Asia/Makassar", + "Asia/Jayapura" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "chinese 01-0-01": { + "name": { + "en": "Chinese New Year", + "id": "Tahun Baru Imlek" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "06-01": { + "name": { + "en": "Pancasila Day", + "id": "Hari Lahir Pancasila" + } + }, + "08-17": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "2 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "2009-03-26": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2010-03-16": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2011-03-05": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2012-03-23": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2013-03-12": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2014-03-31": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2015-03-21": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2016-03-09": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2017-03-28": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2018-03-17": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2019-03-07": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2020-03-25": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2021-03-14": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2022-03-03": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2023-03-22": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2024-03-11": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2025-03-29": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2026-03-19": { + "name": { + "en": "Nyepi", + "id": "Hari Raya Nyepi" + } + }, + "2001-05-07": { + "_name": "Vesak" + }, + "2002-05-26": { + "_name": "Vesak" + }, + "2003-05-16": { + "_name": "Vesak" + }, + "2004-06-03": { + "_name": "Vesak" + }, + "2005-05-24": { + "_name": "Vesak" + }, + "2006-05-13": { + "_name": "Vesak" + }, + "2007-06-01": { + "_name": "Vesak" + }, + "2008-05-20": { + "_name": "Vesak" + }, + "2009-05-09": { + "_name": "Vesak" + }, + "2010-05-28": { + "_name": "Vesak" + }, + "2011-05-17": { + "_name": "Vesak" + }, + "2012-05-06": { + "_name": "Vesak" + }, + "2013-05-25": { + "_name": "Vesak" + }, + "2014-05-15": { + "_name": "Vesak" + }, + "2015-06-02": { + "_name": "Vesak" + }, + "2016-05-22": { + "_name": "Vesak" + }, + "2017-05-11": { + "_name": "Vesak" + }, + "2018-05-29": { + "_name": "Vesak" + }, + "2019-05-19": { + "_name": "Vesak" + }, + "2020-05-07": { + "_name": "Vesak" + }, + "2021-05-26": { + "_name": "Vesak" + }, + "2022-05-16": { + "_name": "Vesak" + }, + "2023-05-06": { + "_name": "Vesak" + }, + "2024-05-23": { + "_name": "Vesak" + } + } + }, + "IE": { + "names": { + "en": "Ireland" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Dublin" + ], + "langs": [ + "en" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-17": { + "name": { + "en": "St. Patrick’s Day" + } + }, + "03-17 and if saturday then next monday if sunday then next monday": { + "name": { + "en": "St. Patrick’s Day" + }, + "substitute": true, + "type": "bank" + }, + "easter -21": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2", + "type": "bank" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "1st monday in May": { + "name": { + "en": "May Day" + } + }, + "1st monday in June": { + "name": { + "en": "First Monday in June" + } + }, + "1st monday in August": { + "name": { + "en": "First Monday in August" + } + }, + "1st Monday before 11-01": { + "name": { + "en": "October Bank Holiday", + "type": "bank" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "name": { + "en": "St. Stephen's Day" + } + }, + "12-26 and if saturday then next monday if sunday then next monday": { + "_name": "12-26", + "name": { + "en": "St. Stephen's Day" + }, + "substitute": true, + "type": "bank" + }, + "12-27 if saturday then next monday if sunday then next tuesday": { + "name": { + "en": "Christmas Bank Holiday" + }, + "type": "bank" + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + } + } + }, + "IL": { + "names": { + "he": "מְדִינַת יִשְׂרָאֵל", + "en": "Israel" + }, + "langs": [ + "he" + ], + "zones": [ + "Asia/Jerusalem" + ], + "dayoff": "Saturday", + "days": { + "1 Tishrei": { + "name": { + "he": "ראש השנה", + "en": "Rosh Hashanah (Yom Teruah)" + } + }, + "2 Tishrei": { + "name": { + "he": "ראש השנה יום 2", + "en": "Rosh Hashanah (Day 2)" + } + }, + "3 Tishrei if Saturday then next Sunday": { + "name": { + "he": "צום גדליה", + "en": "Fast of Gedaliah (Tzom Gedalya)" + }, + "type": "observance" + }, + "10 Tishrei": { + "name": { + "he": "יום כיפור", + "en": "Day of Atonement (Yom Kippur)" + } + }, + "15 Tishrei": { + "name": { + "he": "סוכות", + "en": "Feast of Tabernacles (Sukkot)" + } + }, + "16 Tishrei P6D": { + "name": { + "he": "חול המועד סוכות", + "en": "The week of Sukkot" + }, + "type": "school", + "note": "Collective paid leave in many businesses and government offices" + }, + "22 Tishrei": { + "name": { + "he": "שמחת תורה/שמיני עצרת", + "en": "Simchat Torah/ Shmini Atzeret" + } + }, + "12 Cheshvan if Friday,Saturday then previous Thursday since 1997": { + "name": { + "he": "יום רבין", + "en": "Rabin Day" + }, + "type": "observance", + "note": "National remembrance day, business as usual" + }, + "29 Cheshvan": { + "name": { + "he": "סיגד", + "en": "Sigd" + }, + "type": "observance", + "note": "Festival of the Ethiopian Jews, optional paid leave, business as usual" + }, + "6 Kislev if Saturday then next Sunday": { + "name": { + "en": "Ben-Gurion Day", + "he": "יום בן-גוריון" + }, + "type": "observance", + "note": "Day marked by the Knesset" + }, + "25 Kislev P8D": { + "name": { + "en": "Hanukkah", + "he": "חנוכה" + }, + "type": "school" + }, + "10 Tevet": { + "name": { + "en": "Tenth of Tevet", + "he": "צום עשרה בטבת" + }, + "type": "observance" + }, + "15 Shvat": { + "name": { + "en": "Tu Bishvat (Arbor Day)", + "he": "ט\"ו בשבט" + }, + "type": "observance" + }, + "13 AdarII if Saturday then previous Thursday": { + "name": { + "en": "Fast of Esther", + "he": "תענית אסתר" + }, + "type": "school" + }, + "14 AdarII P2D": { + "name": { + "en": "Purim", + "he": "פורים" + }, + "type": "school", + "note": "optional paid leave" + }, + "10 Nisan": { + "name": { + "en": "Aliyah Day", + "he": "יום העלייה" + }, + "type": "observance", + "note": "Official holiday, business as usual" + }, + "15 Nisan": { + "name": { + "en": "Passover (Pesach)", + "he": "פסח" + } + }, + "16 Nisan P5D": { + "name": { + "en": "Passover (intermediate days)", + "he": "חול המועד פסח" + }, + "type": "school", + "note": "School holiday, collective paid leave in many businesses and government offices" + }, + "21 Nisan": { + "name": { + "en": "Mimouna, Seventh day of Passover", + "he": "מימונה, שביעי של פסח" + } + }, + "27 Nisan if Friday then previous Thursday if Sunday then next Monday": { + "name": { + "en": "Holocaust Remembrance Day (Yom HaShoah)", + "he": "יום הזיכרון לשואה ולגבורה" + }, + "type": "observance", + "note": "National remembrance day, business as usual except places of public entertainment" + }, + "05-09": { + "name": { + "en": "Victory in Europe Day", + "he": "יום הניצחון על גרמניה הנאצית" + }, + "type": "observance" + }, + "4 Iyyar if Thursday,Friday then previous Wednesday if Sunday then next Monday": { + "name": { + "en": "Fallen Soldiers and Victims of Terrorism Remembrance Day (Yom HaZikaron)", + "he": "יום הזיכרון לחללי מערכות ישראל ונפגעי פעולות האיבה" + }, + "type": "observance", + "note": "National remembrance day, business as usual except places of public entertainment" + }, + "5 Iyyar if Friday,Saturday then previous Thursday if Monday then next Tuesday": { + "name": { + "en": "Independence Day (Yom HaAtzmaut)", + "he": "יום העצמאות" + } + }, + "10 Iyyar if Saturday then next Sunday since 2004": { + "name": { + "en": "Herzl Day", + "he": "יום הרצל" + }, + "type": "observance", + "note": "Day marked by the Knesset" + }, + "18 Iyyar": { + "name": { + "en": "Lag BaOmer", + "he": "ל\"ג בעומר" + }, + "type": "school" + }, + "28 Iyyar": { + "name": { + "en": "Jerusalem Day (Yom Yerushalayim)", + "he": "יום ירושלים" + }, + "type": "observance", + "note": "Optional paid leave" + }, + "6 Sivan": { + "name": { + "en": "Shavuot (Feast of Weeks)", + "he": "שבועות" + } + }, + "17 Tamuz if Saturday then next Sunday": { + "name": { + "en": "Seventeenth of Tamuz, fast", + "he": "שבעה עשר בתמוז" + }, + "type": "observance" + }, + "29 Tamuz if Saturday then next Sunday": { + "name": { + "en": "Jabotinsky Day", + "he": "יום ז'בוטינסקי" + }, + "type": "observance", + "note": "Day marked by the Knesset" + }, + "9 Av if Saturday then next Sunday": { + "name": { + "en": "Tisha B'Av, fast", + "he": "תשעה באב" + }, + "type": "observance", + "note": "Optional paid leave, business as usual except places of public entertainment" + }, + "15 Av": { + "name": { + "en": "Tu B'Av (Fifteenth of Av)", + "he": "ט\"ו באב" + }, + "type": "observance" + }, + "2015-03-17": { + "name": { + "en": "Election Day", + "he": "יום הבחירות" + } + }, + "2019-04-09": { + "name": { + "en": "Election Day", + "he": "יום הבחירות" + } + }, + "2019-09-17": { + "name": { + "en": "Election Day", + "he": "יום הבחירות" + } + }, + "2020-03-02": { + "name": { + "en": "Election Day", + "he": "יום הבחירות" + } + }, + "2021-03-23": { + "name": { + "en": "Election Day", + "he": "יום הבחירות" + } + } + } + }, + "IM": { + "names": { + "en": "Isle of Man" + }, + "zones": [ + "Europe/Isle_of_Man" + ], + "langs": [ + "en" + ], + "_days": [ + "GB" + ], + "days": { + "2nd friday in June": { + "name": { + "en": "Tourist Trophy, Senior Race Day" + } + }, + "07-05": { + "name": { + "en": "Tynwald Day" + } + } + } + }, + "IR": { + "names": { + "fa": "جمهوری اسلامی ایران", + "en": "Iran" + }, + "langs": [ + "fa", + "en" + ], + "zones": [ + "Asia/Tehran" + ], + "dayoff": "Friday", + "days": { + "1 Farvardin": { + "name": { + "fa": "نوروز", + "en": "Nowruz" + } + }, + "2 Farvardin": { + "name": { + "fa": "نوروز", + "en": "Nowruz" + } + }, + "3 Farvardin": { + "name": { + "fa": "نوروز", + "en": "Nowruz" + } + }, + "4 Farvardin": { + "name": { + "fa": "نوروز", + "en": "Nowruz" + } + }, + "12 Farvardin": { + "name": { + "fa": "روز جمهوری اسلامی", + "en": "Islamic Republic Day" + } + }, + "13 Farvardin": { + "name": { + "fa": "سیزده بدر", + "en": "Sizdah Bedar" + } + }, + "14 Khordad": { + "name": { + "fa": "رﺣﻠﺖ اﻣﺎم ﺧﻤﯿﻨﯽ", + "en": "Imam Khomeini's Demise" + } + }, + "15 Khordad": { + "name": { + "fa": "قیام ۱۵ خرداد", + "en": "Revolt of Khordad 15" + } + }, + "22 Bahman": { + "name": { + "fa": "انقلاب اسلامی پنجاه و هفت", + "en": "Anniversary of Islamic Revolution" + } + }, + "29 Esfand": { + "name": { + "fa": "ملی شدن صنعت نفت", + "en": "Nationalization of the Iranian oil industry" + } + }, + "9 Muharram": { + "name": { + "fa": "ﺗﺎﺳﻮﻋﺎی ﺣﺴﯿﻨﯽ", + "en": "Tasoua" + } + }, + "10 Muharram": { + "name": { + "fa": "ﻋﺎﺷﻮرای ﺣﺴﯿﻨﯽ", + "en": "Ashoura" + } + }, + "20 Safar": { + "name": { + "fa": "اربعین حسینی", + "en": "Arbaeen-e Hosseini" + } + }, + "28 Safar": { + "name": { + "fa": "رﺣﻠﺖ ﺣﻀﺮت رﺳﻮل اﮐﺮم صلّی الله علیه وآله و سلّم", + "en": "Demise of Prophet Muhammad and Imam Hassan (Mujtaba)" + } + }, + "30 Safar": { + "name": { + "fa": "ﺷﻬﺎدت ﺣﻀﺮت اﻣﺎم رﺿﺎ ﻋﻠﯿﻪاﻟﺴﻼم", + "en": "Martyrdom of Imam Reza" + } + }, + "8 Rabi al-awwal": { + "name": { + "fa": "شهادت امام حسن عسكری علیه‌السلام", + "en": "Martyrdom of Imam Hassan" + } + }, + "17 Rabi al-awwal": { + "name": { + "fa": "ولادت حضرت رسول اکرم صلّی الله علیه وآله و سلّم", + "en": "Birthday of Muhammad Prophet" + } + }, + "3 Jumada al-thani": { + "name": { + "fa": "ﺷﻬﺎدت ﺣﻀﺮت ﻓﺎﻃﻤﻪ زﻫﺮا ﺳﻼم اﷲ ﻋﻠﯿﻬﺎ", + "en": "Martyrdom of Fatima-Zahara" + } + }, + "13 Rajab": { + "name": { + "fa": "وﻻدت ﺣﻀﺮت اﻣﺎم ﻋﻠﯽ ﻋﻠﯿﻪ اﻟﺴﻼم", + "en": "Birthday of Imam Ali" + } + }, + "27 Rajab": { + "name": { + "fa": "ﻣﺒﻌﺚ ﺣﻀﺮت رﺳﻮل اﮐﺮم ﺻﻠﯽ اﷲ ﻋﻠﯿﻪ و آﻟﻪ", + "en": "Mabaas of Muhammad" + } + }, + "15 Shaban": { + "name": { + "fa": "وﻻدت ﺣﻀﺮت ﻗﺎﺋﻢ ﻋﺠﻞاﷲ ﺗﻌﺎﻟﯽ ﻓﺮﺟﻪ شریف", + "en": "Birthday of Imam Mahdi" + } + }, + "21 Ramadan": { + "name": { + "fa": "ﺷﻬﺎدت ﺣﻀﺮت ﻋﻠﯽ ﻋﻠﯿﻪاﻟﺴﻼم", + "en": "Martyrdom of Imam Ali" + } + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "2 Shawwal": { + "name": { + "fa": "ﺑﻪ ﻣﻨﺎﺳﺒﺖ ﻋﯿﺪ ﺳﻌﯿﺪ ﻓﻄﺮ", + "en": "Holyday for Fetr Eeid" + } + }, + "25 Shawwal": { + "name": { + "fa": "ﺷﻬﺎدت ﺣﻀﺮت اﻣﺎم ﺟﻌﻔﺮ ﺻﺎدق ﻋﻠﯿﻪاﻟﺴﻼم", + "en": "Martyrdom of Imam Jafar" + } + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "18 Dhu al-Hijjah": { + "name": { + "fa": "ﻋﯿﺪ ﺳﻌﯿﺪ ﻏﺪﯾﺮ ﺧﻢ", + "en": "Eid al-Ghadeer" + } + } + } + }, + "IS": { + "names": { + "is": "Ísland", + "en": "Iceland" + }, + "dayoff": "sunday", + "zones": [ + "Atlantic/Reykjavik" + ], + "langs": [ + "is" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "type": "observance" + }, + "friday after 01-18": { + "name": { + "is": "Bóndadagur" + }, + "type": "observance" + }, + "02-18": { + "name": { + "is": "Konudagur", + "en": "Woman's Day" + }, + "type": "observance" + }, + "easter -48": { + "name": { + "is": "Bolludagur" + }, + "type": "observance" + }, + "easter -47": { + "name": { + "is": "Sprengidagur" + }, + "type": "observance" + }, + "easter -46": { + "_name": "easter -46", + "type": "observance" + }, + "easter -7": { + "_name": "easter -7", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "thursday after 04-18": { + "name": { + "is": "Sumardagurinn fyrsti", + "en": "First Day of Summer" + } + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "1st sunday in June": { + "name": { + "is": "Sjómannadagurinn", + "en": "The Seamen's Day" + }, + "type": "observance" + }, + "06-17": { + "name": { + "is": "Íslenski þjóðhátíðardagurinn", + "en": "Icelandic National Day" + } + }, + "1st monday in August": { + "name": { + "is": "Frídagur verslunarmanna", + "en": "Commerce Day" + } + }, + "saturday after 10-21": { + "name": { + "is": "Fyrsti vetrardagur", + "en": "First Day of Winter" + }, + "type": "observance" + }, + "11-16": { + "name": { + "is": "Dagur íslenskrar tungu", + "en": "Icelandic Language Day" + }, + "type": "observance" + }, + "12-23": { + "name": { + "is": "Þorláksmessa", + "en": "St Þorlákur's Day" + }, + "type": "observance" + }, + "12-24 13:00 if sunday then 00:00": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 13:00 if sunday then 00:00": { + "_name": "12-31" + } + } + }, + "IT": { + "names": { + "it": "Italia", + "en": "Italia" + }, + "dayoff": "sunday", + "zones": [ + "Europe/Rome" + ], + "langs": [ + "it" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-25": { + "name": { + "it": "Anniversario della Liberazione", + "en": "Liberation Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-02": { + "name": { + "it": "Festa della Repubblica", + "en": "Republic Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "2011-03-17": { + "name": { + "it": "Festa Nazionale 2011", + "en": "National Day 2011" + } + } + }, + "states": { + "32": { + "name": "Südtirol, Alto Adige", + "days": { + "easter 50": { + "_name": "easter 50" + } + } + } + } + }, + "JE": { + "names": { + "en": "Jersey" + }, + "zones": [ + "Europe/Jersey" + ], + "langs": [ + "en" + ], + "_days": [ + "GB" + ], + "days": { + "05-09": { + "name": { + "en": "Liberation Day" + } + } + } + }, + "JM": { + "names": { + "en": "Jamaica" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "America/Jamaica" + ], + "days": { + "01-01 and if sunday then next monday": { + "_name": "01-01", + "substitute": true + }, + "easter -46": { + "_name": "easter -46" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-23 if saturday,sunday then next monday": { + "_name": "05-01" + }, + "08-01 if sunday then next monday": { + "name": { + "en": "Emancipation Day" + } + }, + "08-06 and if sunday then next monday": { + "_name": "Independence Day", + "substitute": true + }, + "3rd monday in October": { + "name": { + "en": "National Heroes Day" + } + }, + "12-25 and if sunday then next tuesday": { + "_name": "12-25", + "substitute": true + }, + "12-26 and if sunday then next monday": { + "_name": "12-26", + "substitute": true + } + } + }, + "JP": { + "names": { + "jp": "日本", + "en": "Japan" + }, + "dayoff": "sunday", + "langs": [ + "jp" + ], + "zones": [ + "Asia/Tokyo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "substitute": true, + "_name": "01-01", + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "01-02": { + "name": { + "en": "January 2nd", + "jp": "銀行休業日" + }, + "type": "bank" + }, + "01-03": { + "name": { + "en": "January 3rd", + "jp": "銀行休業日" + }, + "type": "bank" + }, + "01-15": { + "name": { + "en": "Coming of Age Day", + "jp": "成人の日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z", + "to": "1999-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 01-15 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Coming of Age Day", + "jp": "成人の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z", + "to": "1999-12-31T00:00:00.000Z" + } + ] + }, + "2nd monday in January": { + "name": { + "en": "Coming of Age Day", + "jp": "成人の日" + }, + "active": [ + { + "from": "2000-01-01T00:00:00.000Z" + } + ] + }, + "02-11": { + "name": { + "en": "Foundation Day", + "jp": "建国記念の日" + }, + "active": [ + { + "from": "1967-01-01T00:00:00.000Z" + } + ] + }, + "substitutes 02-11 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Foundation Day", + "jp": "建国記念の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "02-23 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Emperor's Birthday", + "jp": "天皇誕生日" + }, + "active": [ + { + "from": "2020-01-01T00:00:00.000Z" + } + ] + }, + "1989-02-24": { + "name": { + "en": "State Funeral of Emperor Showa", + "jp": "大喪の礼" + } + }, + "march equinox in +09:00": { + "name": { + "en": "Spring Equinox Day", + "jp": "春分の日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z" + } + ] + }, + "substitutes march equinox in +09:00 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Spring Equinox Day", + "jp": "春分の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "1959-04-10": { + "name": { + "en": "Marriage of Crown Prince Akihito", + "jp": "結婚の儀" + } + }, + "04-29": { + "name": { + "en": "Emperor's Birthday", + "jp": "天皇誕生日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z", + "to": "1988-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 04-29 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Emperor's Birthday", + "jp": "天皇誕生日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z", + "to": "1988-12-31T00:00:00.000Z" + } + ] + }, + "04-29 and if sunday then next monday #1": { + "substitute": true, + "name": { + "en": "Greenery Day", + "jp": "みどりの日" + }, + "active": [ + { + "from": "1989-01-01T00:00:00.000Z", + "to": "2006-12-31T00:00:00.000Z" + } + ] + }, + "04-29 and if sunday then next monday #2": { + "substitute": true, + "name": { + "en": "Showa Day", + "jp": "昭和の日" + }, + "active": [ + { + "from": "2007-01-01T00:00:00.000Z" + } + ] + }, + "2019-04-30": { + "name": { + "en": "Citizens' Holiday", + "jp": "国民の休日" + } + }, + "2019-05-01": { + "name": { + "en": "Coronation Day", + "jp": "即位の日" + } + }, + "2019-05-02": { + "name": { + "en": "Citizens' Holiday", + "jp": "国民の休日" + } + }, + "05-03": { + "_name": "Constitution Day" + }, + "substitutes 05-03 if sunday then next monday": { + "substitute": true, + "_name": "Constitution Day", + "active": [ + { + "from": "1973-04-12T00:00:00.000Z", + "to": "2006-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 05-03 if sunday then next wednesday": { + "substitute": true, + "_name": "Constitution Day", + "active": [ + { + "from": "2007-01-01T00:00:00.000Z" + } + ] + }, + "05-04 not on sunday, monday": { + "name": { + "en": "Citizens' Holiday", + "jp": "国民の休日" + }, + "active": [ + { + "from": "1986-01-01T00:00:00.000Z", + "to": "2006-12-31T00:00:00.000Z" + } + ] + }, + "05-04 and if sunday then next tuesday": { + "substitute": true, + "name": { + "en": "Greenery Day", + "jp": "みどりの日" + }, + "active": [ + { + "from": "2007-01-01T00:00:00.000Z" + } + ] + }, + "05-05": { + "name": { + "en": "Children's Day", + "jp": "こどもの日" + } + }, + "substitutes 05-05 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Children's Day", + "jp": "こどもの日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "1993-06-09": { + "name": { + "en": "Marriage of Crown Prince Naruhito", + "jp": "結婚の儀" + } + }, + "07-20": { + "name": { + "en": "Marine Day", + "jp": "海の日" + }, + "active": [ + { + "from": "1996-01-01T00:00:00.000Z", + "to": "2002-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 07-20 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Marine Day", + "jp": "海の日" + }, + "active": [ + { + "from": "1996-01-01T00:00:00.000Z", + "to": "2002-12-31T00:00:00.000Z" + } + ] + }, + "3rd monday in July": { + "name": { + "en": "Marine Day", + "jp": "海の日" + }, + "disable": [ + "2020-07-20", + "2021-07-19" + ], + "enable": [ + "2020-07-23", + "2021-07-22" + ], + "active": [ + { + "from": "2003-01-01T00:00:00.000Z" + } + ] + }, + "substitutes 2021-08-08 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Mountain Day", + "jp": "山の日" + } + }, + "substitutes 08-11 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Mountain Day", + "jp": "山の日" + }, + "disable": [ + "2020-08-11", + "2021-08-11" + ], + "enable": [ + "2020-08-10" + ], + "active": [ + { + "from": "2016-01-01T00:00:00.000Z" + } + ] + }, + "09-15": { + "name": { + "en": "Respect-for-the-Aged Day", + "jp": "敬老の日" + }, + "active": [ + { + "from": "1966-01-01T00:00:00.000Z", + "to": "2002-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 09-15 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Respect-for-the-Aged Day", + "jp": "敬老の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z", + "to": "2002-12-31T00:00:00.000Z" + } + ] + }, + "3rd monday in September": { + "name": { + "en": "Respect-for-the-Aged Day", + "jp": "敬老の日" + }, + "active": [ + { + "from": "2003-01-01T00:00:00.000Z" + } + ] + }, + "09-22 if 09-21 and 09-23 is public holiday": { + "name": { + "en": "Citizens' Holiday", + "jp": "国民の休日" + } + }, + "september equinox in +09:00": { + "name": { + "en": "Autumnal Equinox Day", + "jp": "秋分の日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z" + } + ] + }, + "substitutes september equinox in +09:00 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Autumnal Equinox Day", + "jp": "秋分の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "10-10": { + "name": { + "en": "Sports Day", + "jp": "体育の日" + }, + "active": [ + { + "from": "1966-01-01T00:00:00.000Z", + "to": "1999-12-31T00:00:00.000Z" + } + ] + }, + "substitutes 10-10 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Sports Day", + "jp": "体育の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z", + "to": "1999-12-31T00:00:00.000Z" + } + ] + }, + "2nd monday in October #1": { + "name": { + "en": "Sports Day", + "jp": "体育の日" + }, + "active": [ + { + "from": "2000-01-01T00:00:00.000Z", + "to": "2019-12-31T00:00:00.000Z" + } + ] + }, + "2nd monday in October #2": { + "name": { + "en": "Sports Day", + "jp": "スポーツの日" + }, + "disable": [ + "2020-10-12", + "2021-10-11" + ], + "enable": [ + "2020-07-24", + "2021-07-23" + ], + "active": [ + { + "from": "2020-01-01T00:00:00.000Z" + } + ] + }, + "2019-10-22": { + "name": { + "en": "Enthronement Ceremony Day", + "jp": "即位礼正殿の儀" + } + }, + "11-03": { + "substitute": true, + "name": { + "en": "Culture Day", + "jp": "文化の日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z" + } + ] + }, + "substitutes 11-03 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Culture Day", + "jp": "文化の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "1990-11-12": { + "name": { + "en": "Official Enthronement Ceremony of Emperor Heisei (Akihito)", + "jp": "即位礼正殿の儀" + } + }, + "11-15": { + "name": { + "en": "Seven-Five-Three Festival", + "jp": "七五三" + }, + "type": "observance" + }, + "11-23": { + "name": { + "en": "Labor Thanksgiving Day", + "jp": "勤労感謝の日" + }, + "active": [ + { + "from": "1948-07-20T00:00:00.000Z" + } + ] + }, + "substitutes 11-23 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Labor Thanksgiving Day", + "jp": "勤労感謝の日" + }, + "active": [ + { + "from": "1973-04-12T00:00:00.000Z" + } + ] + }, + "12-23 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Emperor's Birthday", + "jp": "天皇誕生日" + }, + "active": [ + { + "from": "1989-01-01T00:00:00.000Z", + "to": "2018-12-31T00:00:00.000Z" + } + ] + }, + "12-25": { + "_name": "12-25", + "type": "observance" + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + } + }, + "KE": { + "names": { + "en": "Kenya" + }, + "dayoff": "sunday", + "langs": [ + "sw", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "06-01 and if sunday then next monday": { + "substitute": true, + "name": { + "sw": "Siku ya Madaraka", + "en": "Madaraka Day" + } + }, + "10-10 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Moi Day" + } + }, + "10-20 and if sunday then next monday": { + "substitute": true, + "name": { + "sw": "Siku ya Mashujaa", + "en": "Mashujaa Day" + } + }, + "12-12 and if sunday then next monday": { + "substitute": true, + "name": { + "sw": "Siku ya Jamhuri", + "en": "Jamhuri Day" + } + }, + "12-25 and if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if sunday then next monday": { + "substitute": true, + "_name": "12-26" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "note": "For all persons belonging to the Islamic faith." + } + } + }, + "KM": { + "names": { + "fr": "Union des Comores", + "en": "Comoros" + }, + "langs": [ + "fr", + "ar", + "swb", + "wlc", + "wni", + "zdj" + ], + "zones": [ + "Africa/Nairobi" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "03-18": { + "name": { + "fr": "Journée de Cheikh Al Maarouf", + "en": "Cheikh Al Maarouf Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-06": { + "_name": "Independence Day" + }, + "11-12": { + "name": { + "fr": "Journée Maoré", + "en": "Maore Day" + } + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P3DT0H0M": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P2DT0H0M": { + "_name": "10 Dhu al-Hijjah" + }, + "27 Rajab": { + "_name": "27 Rajab" + } + } + }, + "KN": { + "names": { + "en": "St. Kitts & Nevis" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "01-02": { + "name": { + "en": "Carnival Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "1st Monday in May": { + "_name": "05-01" + }, + "1st Monday in August": { + "name": { + "en": "Emancipation Day" + } + }, + "1st Tuesday in August": { + "name": { + "en": "Culturama Day" + } + }, + "09-16 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Heroes' Day" + } + }, + "09-19 if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "KR": { + "names": { + "ko": "대한민국", + "en": "South Korea" + }, + "dayoff": "sunday", + "langs": [ + "ko" + ], + "zones": [ + "Asia/Seoul" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "korean 01-0-01 P3D": { + "name": { + "en": "Korean New Year", + "ko": "설날" + } + }, + "03-01": { + "name": { + "en": "Independence Movement Day", + "ko": "3·1절" + } + }, + "05-05": { + "name": { + "en": "Children's Day", + "ko": "어린이날" + } + }, + "korean 4-0-8": { + "name": { + "en": "Buddha's Birthday", + "ko": "석가탄신일" + } + }, + "06-06": { + "name": { + "en": "Memorial Day", + "ko": "현충일" + } + }, + "07-17": { + "_name": "Constitution Day", + "type": "observance" + }, + "08-15": { + "name": { + "en": "Liberation Day", + "ko": "광복절" + } + }, + "korean 8-0-15 P3D": { + "name": { + "en": "Korean Thanksgiving", + "ko": "추석" + } + }, + "10-03": { + "name": { + "en": "National Foundation Day", + "ko": "개천절" + } + }, + "10-09": { + "name": { + "en": "Hangul Day", + "ko": "한글날" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "KY": { + "names": { + "en": "Cayman Islands" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Panama" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "4th Monday in January": { + "name": { + "en": "National Heroes Day" + } + }, + "easter -46": { + "_name": "easter -46" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "3rd Monday in May": { + "name": { + "en": "Discovery Day" + } + }, + "07-02": { + "name": { + "en": "Constitution Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "2017-05-24": { + "name": "General Election Day" + }, + "2021-04-14": { + "name": "General Election Day" + }, + "2016-06-13": { + "name": { + "en": "Queen's Birthday" + } + }, + "2017-06-19": { + "name": { + "en": "Queen's Birthday" + } + }, + "2018-06-11": { + "name": { + "en": "Queen's Birthday" + } + }, + "2019-06-10": { + "name": { + "en": "Queen's Birthday" + } + }, + "2020-06-15": { + "name": { + "en": "Queen's Birthday" + } + }, + "2021-06-14": { + "name": { + "en": "Queen's Birthday" + } + }, + "2022-06-20": { + "name": { + "en": "Queen's Birthday" + } + }, + "2023-06-19": { + "name": { + "en": "Queen's Birthday" + } + }, + "2024-06-17": { + "name": { + "en": "Queen's Birthday" + } + }, + "2025-06-16": { + "name": { + "en": "Queen's Birthday" + } + }, + "2026-06-15": { + "name": { + "en": "Queen's Birthday" + } + } + } + }, + "LC": { + "names": { + "en": "St. Lucia" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "name": { + "en": "Second New Year's Day" + } + }, + "02-22": { + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "1st Friday after 07-10 P4D": { + "name": { + "en": "Carnival" + } + }, + "08-01": { + "name": { + "en": "Emancipation Day" + } + }, + "1st Monday in October": { + "name": { + "en": "Thanksgiving" + } + }, + "12-13": { + "name": { + "en": "National Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "LI": { + "names": { + "de": "Lichtenstein", + "en": "Lichtenstein" + }, + "dayoff": "sunday", + "langs": [ + "de" + ], + "zones": [ + "Europe/Zurich" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "name": { + "de": "Berchtoldstag", + "en": "Berchtold Day" + }, + "type": "bank" + }, + "01-06": { + "_name": "01-06" + }, + "02-02": { + "_name": "02-02", + "type": "observance" + }, + "03-19": { + "_name": "03-19", + "type": "observance" + }, + "easter -47": { + "_name": "easter -47", + "type": "bank" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39", + "name": { + "de": "Auffahrt" + } + }, + "easter 40": { + "name": { + "de": "Feiertagsbrücke" + } + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "easter 61": { + "name": { + "de": "Feiertagsbrücke" + } + }, + "08-15": { + "name": { + "de": "Staatsfeiertag" + }, + "type": "observance" + }, + "09-08": { + "name": { + "de": "Mariä Geburt" + } + }, + "11-01": { + "_name": "11-01", + "type": "observance" + }, + "12-08": { + "_name": "12-08" + }, + "12-24": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "name": { + "de": "Stephanstag" + } + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + } + }, + "LR": { + "names": { + "en": "Liberia" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Monrovia" + ], + "dayoff": "Sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "02-11": { + "name": { + "en": "Armed Forces Day" + } + }, + "2nd Wednesday in March": { + "name": { + "en": "Decoration Day" + } + }, + "03-15": { + "name": { + "en": "J. J. Robert's Day" + } + }, + "2nd Friday in April": { + "name": { + "en": "Fast and Prayer Day" + } + }, + "05-14": { + "name": { + "en": "National Unification Day" + } + }, + "07-26": { + "_name": "Independence Day" + }, + "08-24": { + "name": { + "en": "Flag Day" + } + }, + "1st Thursday in November": { + "name": { + "en": "Thanksgiving" + } + }, + "11-29": { + "name": { + "en": "William Tubman's Birthday" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "LS": { + "names": { + "st": "\\'Muso oa Lesotho", + "en": "Lesotho" + }, + "langs": [ + "st", + "en" + ], + "zones": [ + "Africa/Johannesburg" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "03-11": { + "name": { + "en": "Moshoeshoe Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Workers' Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "05-25": { + "name": { + "en": "Africa Day/ Heroes' Day" + } + }, + "07-17": { + "name": { + "en": "King Letsie III's Birthday" + } + }, + "10-04": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "LT": { + "names": { + "lt": "Lietuva", + "en": "Lithuania" + }, + "dayoff": "sunday", + "langs": [ + "lt" + ], + "zones": [ + "Europe/Vilnius" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-16": { + "name": { + "en": "Day of Restoration of the State of Lithuania", + "lt": "Lietuvos valstybės atkūrimo diena" + } + }, + "03-11": { + "name": { + "en": "Day of Restoration of Independence of Lithuania", + "lt": "Lietuvos nepriklausomybės atkūrimo diena" + } + }, + "easter": { + "_name": "easter" + }, + "05-01": { + "_name": "05-01" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "1st sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "06-24": { + "name": { + "en": "St. John's Day", + "lt": "Joninės, Rasos" + } + }, + "07-06": { + "name": { + "en": "Statehood Day", + "lt": "Valstybės diena" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-02": { + "_name": "11-02", + "active": [ + { + "from": 2020 + } + ] + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "LU": { + "names": { + "fr": "Luxembourg", + "en": "Luxembourg" + }, + "langs": [ + "fr" + ], + "zones": [ + "Europe/Luxembourg" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2", + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01", + "name": { + "fr": "1er mai" + } + }, + "05-09": { + "_name": "05-09", + "active": [ + { + "from": "2019-01-01" + } + ] + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-23": { + "name": { + "fr": "L’anniversaire du Grand-Duc" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "LV": { + "names": { + "lv": "Latvija", + "en": "Latvia" + }, + "dayoff": "sunday", + "langs": [ + "lv" + ], + "zones": [ + "Europe/Riga" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-04 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Restoration of Independence day", + "lv": "Latvijas Republikas Neatkarības atjaunošanas diena" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-23": { + "name": { + "en": "Midsummer Eve", + "lv": "Līgo Diena" + } + }, + "06-24": { + "name": { + "en": "Midsummer", + "lv": "Jāņi" + } + }, + "11-18 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Republic Day", + "lv": "Latvijas Republikas proklamēšanas diena" + } + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31": { + "_name": "12-31" + } + } + }, + "LY": { + "names": { + "ar": "دولة ليبيا", + "en": "Libya" + }, + "langs": [ + "ar" + ], + "zones": [ + "Africa/Tripoli" + ], + "dayoff": "", + "days": { + "02-17": { + "_name": "Revolution Day" + }, + "05-01": { + "_name": "05-01" + }, + "09-16": { + "name": { + "ar": "يوم الشهداء", + "en": "Martyrs' Day" + } + }, + "10-23": { + "_name": "Liberation Day" + }, + "12-24": { + "_name": "Independence Day" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "9 Dhu al-Hijjah": { + "_name": "9 Dhu al-Hijjah" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "MA": { + "names": { + "ar": "المملكة المغربية", + "fr": "Royaume du Maroc", + "en": "Kingdom of Morocco" + }, + "langs": [ + "ar", + "ber", + "fr" + ], + "zones": [ + "Africa/Casablanca" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-11": { + "name": { + "fr": "Manifeste de l'indépendance", + "ar": "ذكرى تقديم وثيقة الاستقلال", + "en": "Anniversary of the Independence Manifesto" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-30": { + "name": { + "fr": "Fête du trône", + "ar": "عيد العرش", + "en": "Feast of the Throne" + } + }, + "08-14": { + "name": { + "fr": "Journée de Oued Ed-Dahab", + "ar": "يوم وادي الذهب", + "en": "Anniversary of the Recovery Oued Ed-Dahab" + } + }, + "08-20": { + "name": { + "fr": "Fête de la révolution du roi et du peuple", + "ar": "ثورة الملك والشعب", + "en": "Anniversary of the Revolution of the King and the People" + } + }, + "08-21": { + "name": { + "fr": "Journée de la jeunesse", + "ar": "عيد الشباب", + "en": "Youth Day" + } + }, + "11-06": { + "name": { + "fr": "La Marche verte", + "ar": "المسيرة الخضراء", + "en": "Anniversary of the Green March" + } + }, + "11-18": { + "_name": "Independence Day", + "name": { + "fr": "Fête de l'indépendance" + } + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "MC": { + "names": { + "fr": "Monaco", + "en": "Monaco" + }, + "dayoff": "sunday", + "langs": [ + "fr" + ], + "zones": [ + "Europe/Monaco" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-27 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Saint Devota's Day", + "fr": "Sainte Dévote" + } + }, + "easter -2": { + "_name": "easter -2", + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01", + "name": { + "fr": "1er mai" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-19 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "H.S.H. the Sovereign Prince's Day", + "fr": "La Fête du Prince" + } + }, + "12-08": { + "_name": "12-08" + }, + "12-25 and if sunday then next monday": { + "substitute": true, + "_name": "12-25" + } + } + }, + "MD": { + "names": { + "ro": "Republica Moldova", + "en": "Moldova" + }, + "langs": [ + "ro" + ], + "zones": [ + "Europe/Chisinau" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "julian 12-25 P2D": { + "_name": "julian 12-25", + "name": { + "ro": "Craciun pe Rit Vechi" + } + }, + "03-08": { + "_name": "03-08" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "orthodox 8": { + "name": { + "ro": "Paştele Blăjinilor", + "en": "Memorial Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "05-09": { + "name": { + "ro": "Ziua Victoriei", + "en": "Victory Day" + } + }, + "08-27": { + "_name": "Independence Day" + }, + "08-31": { + "name": { + "ro": "Limba noastră", + "en": "National Language Day" + } + }, + "1st saturday in October P2D": { + "name": { + "ro": "Ziua vinului", + "en": "Wine Day" + }, + "type": "observance", + "active": [ + { + "from": 2013 + } + ] + }, + "12-25": { + "_name": "12-25", + "name": { + "ro": "Craciun pe stil Nou" + } + } + }, + "states": { + "CA": { + "name": "Cahul", + "days": { + "11-21": { + "name": { + "ro": "Ziua Cahul", + "en": "Cahul Day" + } + } + } + }, + "CU": { + "name": "Chișinău", + "days": { + "10-14": { + "name": { + "ro": "Ziua capitalului", + "en": "Capital's Day" + } + } + } + } + } + }, + "ME": { + "names": { + "hr": "Crna Gora", + "sr": "Црна Гора", + "bs": "Crna Gora", + "sq": "Mali i Zi", + "en": "Montenegro" + }, + "dayoff": "sunday", + "langs": [ + "hr", + "sr", + "bs", + "sq" + ], + "zones": [ + "Europe/Belgrade" + ], + "days": { + "05-21 and if sunday then next tuesday": { + "substitute": true, + "_name": "Independence Day" + }, + "05-22 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "07-13 and if sunday then next tuesday": { + "substitute": true, + "name": { + "hr": "Dan državnosti", + "sr": "Дан државности", + "en": "Statehood Day" + } + }, + "07-14 and if sunday then next monday": { + "substitute": true, + "name": { + "hr": "Dan državnosti", + "sr": "Дан државности", + "en": "Statehood Day" + } + }, + "01-01 and if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "01-02 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "05-01 and if sunday then next tuesday": { + "substitute": true, + "_name": "05-01" + }, + "05-02 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "julian 12-24": { + "_name": "12-24" + }, + "julian 12-25": { + "_name": "12-25" + }, + "julian 12-26": { + "_name": "12-26" + }, + "julian 01-01": { + "_name": "julian 01-01", + "type": "observance" + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-25" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter" + }, + "08-15": { + "_name": "08-15", + "type": "observance" + }, + "11-01": { + "_name": "11-01" + }, + "1 Shawwal P3D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + }, + "1 Muharram": { + "_name": "1 Muharram", + "type": "observance" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal", + "type": "observance" + }, + "27 Rajab": { + "_name": "27 Rajab", + "type": "observance" + }, + "15 Shaban": { + "_name": "15 Shaban", + "type": "observance" + }, + "1 Ramadan": { + "_name": "1 Ramadan", + "type": "observance" + }, + "27 Ramadan": { + "_name": "27 Ramadan", + "type": "observance" + }, + "15 Nisan P2D": { + "_name": "15 Nisan" + }, + "1 Tishrei": { + "_name": "1 Tishrei", + "type": "observance" + }, + "10 Tishrei P2D": { + "_name": "10 Tishrei" + } + } + }, + "MF": { + "names": { + "en": "St. Martin", + "fr": "Saint Martin" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/Marigot" + ], + "dayoff": "sunday", + "_days": "FR", + "days": { + "05-27": { + "name": { + "fr": "Abolition de l'esclavage", + "en": "abolition of slavery" + } + } + } + }, + "MG": { + "names": { + "mg": "Repoblikan'i Madagasikara", + "fr": "République de Madagascar", + "en": "Madagascar" + }, + "dayoff": "sunday", + "langs": [ + "mg", + "fr", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-08": { + "name": { + "mg": "Andro iraisam-pirenena ho an'ny vehivavy", + "fr": "Journée internationale de la femme", + "en": "International Women's Day" + }, + "note": "only for women" + }, + "03-29": { + "name": { + "mg": "Martioran'ny tolona tamin'ny 1947", + "fr": "Commémoration des martyrs de l'insurrection de 1947.", + "en": "Martyrs' Day" + } + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-25": { + "name": { + "mg": "Andron'i Afrika", + "fr": "Jour de l'Afrique", + "en": "Africa Day" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-26": { + "_name": "Independence Day", + "name": { + "mg": "Fetim-pirenena", + "fr": "Fête Nationale" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "note": "For Muslim" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "note": "For Muslim" + } + } + }, + "MK": { + "names": { + "mk": "Република Македонија", + "en": "Macedonia" + }, + "langs": [ + "mk" + ], + "zones": [ + "Europe/Belgrade" + ], + "dayoff": "sunday", + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "julian 12-25 and if sunday then next monday": { + "substitute": true, + "_name": "julian 12-25" + }, + "orthodox": { + "_name": "orthodox" + }, + "orthodox 1": { + "_name": "orthodox 1" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "05-24 and if sunday then next monday": { + "substitute": true, + "name": { + "mk": "Св. Кирил и Методиј", + "en": "Saints Cyril and Methodius Day" + } + }, + "08-02 and if sunday then next monday": { + "substitute": true, + "name": { + "mk": "Ден на Републиката", + "en": "Day of the Republic" + } + }, + "09-08 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "10-11 and if sunday then next monday": { + "substitute": true, + "name": { + "mk": "Ден на востанието", + "en": "Revolution Day" + } + }, + "10-23 and if sunday then next monday": { + "substitute": true, + "name": { + "mk": "Ден на македонската револуционерна борба", + "en": "Day of the Macedonian Revolutionary Struggle" + } + }, + "12-08 and if sunday then next monday": { + "substitute": true, + "name": { + "mk": "Св. Климент Охридски", + "en": "Saint Clement of Ohrid Day" + } + }, + "1 Shawwal and if sunday then next monday": { + "substitute": true, + "_name": "1 Shawwal" + }, + "julian 12-24": { + "_name": "julian 12-24", + "type": "optional", + "note": "Orthodox believers" + }, + "julian 01-06": { + "_name": "01-06", + "type": "optional", + "note": "Orthodox believers" + }, + "orthodox -2": { + "_name": "orthodox -2", + "type": "optional", + "note": "Orthodox believers" + }, + "orthodox 47": { + "name": { + "mk": "петок пред Духовден", + "en": "Friday before Pentecost" + }, + "type": "optional", + "note": "Orthodox believers" + }, + "orthodox 49": { + "_name": "easter 49", + "type": "optional", + "note": "Orthodox believers" + }, + "julian 08-15": { + "_name": "08-15", + "type": "optional", + "note": "Orthodox believers" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "type": "optional", + "note": "Muslim believers" + }, + "10 Tishrei": { + "_name": "10 Tishrei", + "type": "optional", + "note": "Jewish believers" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional", + "note": "Catholic believers" + }, + "11-01": { + "_name": "11-01", + "type": "optional", + "note": "Catholic believers" + }, + "12-25": { + "_name": "12-25", + "type": "optional", + "note": "Catholic believers" + }, + "11-22": { + "name": { + "mk": "Ден на Албанската азбука", + "en": "Day of the Albanian Alphabet" + }, + "type": "optional", + "note": "For members of the Albanian community" + }, + "12-21": { + "name": { + "mk": "Ден на настава на турски јазик", + "en": "Turkish Language Day" + }, + "type": "optional", + "note": "For members of the the Turkish community" + }, + "01-27": { + "name": { + "mk": "Свети Сава", + "en": "St. Sava" + }, + "type": "optional", + "note": "For members of the Serbian community" + }, + "04-08": { + "name": { + "mk": "Меѓународен ден на Ромите", + "en": "International Roma Day" + }, + "type": "optional", + "note": "For members of the the Roma community" + }, + "05-23": { + "name": { + "mk": "Национален ден на Властите", + "en": "National Day of Authorities" + }, + "type": "optional", + "note": "For members of the Vlach community" + }, + "09-28": { + "name": { + "mk": "Меѓународен ден на Бошњаците", + "en": "International Day of Bosniaks" + }, + "type": "optional", + "note": "For Members of the Bosniak community." + } + } + }, + "ML": { + "names": { + "fr": "République du Mali", + "en": "Republic of Mali" + }, + "langs": [ + "fr", + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-20": { + "name": { + "fr": "Fête de l'armée", + "en": "Army Day" + } + }, + "03-26": { + "name": { + "fr": "Journée des Martyrs", + "en": "Martyrs' Day" + } + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "05-25": { + "name": "Jour de l'Afrique" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "09-22": { + "_name": "Independence Day", + "name": { + "fr": "Fête nationale de l'indépendance" + } + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + } + } + }, + "MQ": { + "names": { + "fr": "Martinique", + "en": "Martinique" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/Martinique" + ], + "dayoff": "sunday", + "_days": "FR", + "days": { + "easter -2": { + "_name": "easter -2" + }, + "05-22": { + "_name": "Abolition of Slavery" + }, + "07-21": { + "name": { + "fr": "Jour de Victor Schoelcher", + "en": "Victor Shoelcher Day" + } + } + } + }, + "MR": { + "names": { + "ar": "الجمهورية الإسلامية الموريتانية", + "en": "Mauritania" + }, + "langs": [ + "ar", + "fr" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "01-01" + }, + "05-01": { + "_name": "05-01" + }, + "05-25": { + "name": { + "ar": "يوم افريقيا", + "en": "Africa Day" + } + }, + "11-28": { + "_name": "Independence Day" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "MS": { + "names": { + "en": "Montserrat" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "01-01" + }, + "03-17 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Saint Patrick's Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "1st Monday in May": { + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "2nd Monday after 06-02": { + "name": { + "en": "Queen's Birthday Celebration" + } + }, + "08-01 if Saturday, Sunday then next Monday": { + "name": { + "en": "Emancipation Day" + } + }, + "12-25 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-26" + }, + "12-31 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-31", + "name": { + "en": "Festival Day" + } + } + } + }, + "MT": { + "names": { + "mt": "Malta", + "en": "Malta" + }, + "dayoff": "sunday", + "langs": [ + "mt" + ], + "zones": [ + "Europe/Malta" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-10": { + "name": { + "en": "Feast of Saint Paul's Shipwreck in Malta", + "mt": "Nawfraġju ta' San Pawl" + } + }, + "03-19": { + "_name": "03-19" + }, + "03-31": { + "name": { + "en": "Freedom Day", + "mt": "Jum il-Ħelsien" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "06-07": { + "name": { + "mt": "Sette Giugno", + "en": "June 7th" + } + }, + "06-29": { + "_name": "06-29" + }, + "08-15": { + "_name": "08-15" + }, + "09-08": { + "name": { + "en": "Victory Day", + "mt": "Jum il-Vitorja" + } + }, + "09-21": { + "_name": "Independence Day" + }, + "12-08": { + "_name": "12-08" + }, + "12-13": { + "name": { + "en": "Republic Day", + "mt": "Jum ir-Repubblika" + } + }, + "12-25": { + "_name": "12-25" + } + } + }, + "MW": { + "names": { + "en": "Malawi" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "01-15 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "John Chilembwe Day" + } + }, + "03-03 and if saturday,sunday then next monday": { + "name": { + "en": "Martyrs' Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if saturday,sunday then next monday": { + "_name": "05-01" + }, + "05-14 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Kamuzu Day" + } + }, + "07-06 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "10-15 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "Mothers Day" + }, + "12-25 and if saturday,sunday then next monday": { + "substitute": true, + "_name": "12-25" + }, + "1 Shawwal and if saturday,sunday then next monday": { + "substitute": true, + "_name": "1 Shawwal", + "name": { + "en": "Eid al Fitri" + } + } + } + }, + "MX": { + "names": { + "es": "México", + "en": "Mexico" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Mexico_City", + "America/Cancun", + "America/Merida", + "America/Monterrey", + "America/Matamoros", + "America/Mazatlan", + "America/Chihuahua", + "America/Ojinaga", + "America/Hermosillo", + "America/Tijuana", + "America/Santa_Isabel", + "America/Bahia_Banderas" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "02-05": { + "_name": "Constitution Day" + }, + "1st monday in February": { + "name": { + "en": "Constitution Day (day off)", + "es": "Día de la Constitución (día libre)" + } + }, + "03-21": { + "name": { + "en": "Benito Juárez's birthday", + "es": "Natalicio de Benito Juárez" + } + }, + "3rd monday in March": { + "name": { + "en": "Benito Juárez's birthday (day off)", + "es": "Natalicio de Benito Juárez (día libre)" + } + }, + "easter -3": { + "_name": "easter -3", + "type": "bank" + }, + "easter -2": { + "_name": "easter -2", + "type": "bank" + }, + "05-01": { + "_name": "05-01" + }, + "05-10": { + "_name": "Mothers Day", + "type": "observance" + }, + "09-16": { + "_name": "Independence Day" + }, + "11-02": { + "_name": "11-02", + "type": "bank" + }, + "11-20": { + "_name": "Revolution Day" + }, + "3rd monday in November": { + "name": { + "en": "Revolution Day (day off)", + "es": "Día de la Revolución (día libre)" + } + }, + "12-01 every 6 years since 1934": { + "name": { + "en": "Change of Federal Government", + "es": "Transmisión del Poder Ejecutivo Federal" + } + }, + "12-12": { + "name": { + "en": "Day of the Virgin of Guadalupe", + "es": "Día de la Virgen de Guadalupe" + }, + "type": "bank" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "MY": { + "names": { + "en": "Malaysia" + }, + "langs": [ + "ms" + ], + "zones": [ + "Asia/Kuala_Lumpur", + "Asia/Kuching" + ], + "dayoff": "Saturday", + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "chinese 01-0-01": { + "name": { + "en": "Chinese New Year", + "ms": "Tahun Baru Cina" + } + }, + "chinese 01-0-02": { + "name": { + "en": "Chinese New Year", + "ms": "Tahun Baru Cina" + } + }, + "substitutes chinese 01-0-01 if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Chinese New Year", + "ms": "Tahun Baru Cina" + } + }, + "substitutes chinese 01-0-02 if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Chinese New Year", + "ms": "Tahun Baru Cina" + } + }, + "05-01": { + "_name": "05-01" + }, + "substitutes 05-01 if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "1st Monday in June": { + "name": { + "en": "Yang di-Pertuan Agong's Birthday", + "ms": "Hari Keputeraan Yang di-Pertuan Agong" + } + }, + "08-31": { + "_name": "Independence Day" + }, + "substitutes 08-31 if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "09-16": { + "name": { + "en": "Malaysia Day", + "ms": "Hari Malaysia" + } + }, + "substitutes 09-16 if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Malaysia Day", + "ms": "Hari Malaysia" + } + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if Sunday then next Monday": { + "substitute": true, + "_name": "12-25" + }, + "17 Ramadan": { + "_name": "17 Ramadan", + "disable": [ + "2022-04-18" + ], + "enable": [ + "2022-04-19" + ] + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "disable": [ + "2022-05-02" + ], + "enable": [ + "2022-05-03" + ] + }, + "2 Shawwal": { + "_name": "1 Shawwal", + "disable": [ + "2022-05-03" + ], + "enable": [ + "2022-05-04" + ] + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "disable": [ + "2022-07-09" + ], + "enable": [ + "2022-07-10" + ] + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal", + "disable": [ + "2022-10-08" + ], + "enable": [ + "2022-10-09" + ] + }, + "2010-05-28": { + "_name": "Vesak" + }, + "2011-05-17": { + "_name": "Vesak" + }, + "2012-05-06": { + "_name": "Vesak" + }, + "2013-05-25": { + "_name": "Vesak" + }, + "2014-05-15": { + "_name": "Vesak" + }, + "2015-06-02": { + "_name": "Vesak" + }, + "2016-05-22": { + "_name": "Vesak" + }, + "2017-05-10": { + "_name": "Vesak" + }, + "2018-05-29": { + "_name": "Vesak" + }, + "2019-05-19": { + "_name": "Vesak" + }, + "2020-05-07": { + "_name": "Vesak" + }, + "2021-05-26": { + "_name": "Vesak" + }, + "2022-05-15": { + "_name": "Vesak" + }, + "2022-05-16": { + "substitute": true, + "_name": "Vesak" + }, + "2023-05-04": { + "_name": "Vesak" + }, + "2024-05-22": { + "_name": "Vesak" + }, + "2025-05-12": { + "_name": "Vesak" + }, + "2026-05-31": { + "_name": "Vesak" + }, + "2016-10-29": { + "_name": "Deepavali" + }, + "2017-10-18": { + "_name": "Deepavali" + }, + "2018-11-06": { + "_name": "Deepavali" + }, + "2019-10-27": { + "_name": "Deepavali" + }, + "2019-10-28": { + "substitute": true, + "_name": "Deepavali" + }, + "2020-11-14": { + "_name": "Deepavali" + }, + "2021-11-04": { + "_name": "Deepavali" + }, + "2022-10-24": { + "_name": "Deepavali" + }, + "2023-11-12": { + "_name": "Deepavali" + }, + "2023-11-13": { + "substitute": true, + "_name": "Deepavali" + }, + "2024-10-31": { + "_name": "Deepavali" + }, + "2025-10-20": { + "_name": "Deepavali" + }, + "2026-11-09": { + "_name": "Deepavali" + }, + "2027-10-28": { + "_name": "Deepavali" + }, + "2028-11-15": { + "_name": "Deepavali" + }, + "2029-11-05": { + "_name": "Deepavali" + }, + "2030-10-25": { + "_name": "Deepavali" + } + }, + "states": { + "10": { + "name": "Selangor", + "days": { + "12-11": { + "name": { + "en": "Sultan of Selangor's Birthday", + "id": "Hari Keputeraan Sultan Selangor" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "11": { + "name": "Terengganu", + "days": { + "01-01": false, + "03-04": { + "name": { + "en": "Anniversary of Installation of the Sultan of Terengganu", + "ms": "Hari Ulang Tahun Pertabalan Sultan Terengganu" + } + }, + "04-26": { + "name": { + "en": "Sultan of Terengganu's Birthday", + "ms": "Hari Keputeraan Sultan Terengganu" + } + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "9 Dhu al-Hijjah": { + "_name": "9 Dhu al-Hijjah" + }, + "11 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "12": { + "name": "Sabah", + "days": { + "easter -2": { + "_name": "easter -2" + }, + "05-30": { + "name": { + "en": "Tadau Kaamatan", + "ms": "Pesta Kaamatan" + } + }, + "05-31": { + "name": { + "en": "Tadau Kaamatan", + "ms": "Pesta Kaamatan" + } + }, + "1st Saturday in October": { + "name": { + "en": "Sabah State Governor's Birthday", + "ms": "Hari Jadi Yang di-Pertua Negeri Sabah" + } + }, + "12-24": { + "_name": "12-24" + }, + "17 Ramadan": false + } + }, + "13": { + "name": "Sarawak", + "days": { + "2016-10-29": false, + "2017-10-18": false, + "2018-11-06": false, + "2019-10-27": false, + "2020-11-14": false, + "2021-11-04": false, + "2022-10-24": false, + "2023-11-13": false, + "2024-10-31": false, + "2025-10-20": false, + "2026-11-09": false, + "2027-10-28": false, + "2028-11-15": false, + "2029-11-05": false, + "2030-10-25": false, + "easter -2": { + "_name": "easter -2" + }, + "06-01": { + "name": { + "en": "Gawai Dayak", + "ms": "Perayaan Hari Gawai Dayak" + } + }, + "06-02": { + "name": { + "en": "Gawai Dayak", + "ms": "Perayaan Hari Gawai Dayak" + } + }, + "07-22": { + "name": { + "en": "Sarawak Independence Day", + "ms": "Hari Kemerdekaan Sarawak" + } + }, + "2nd Saturday in October": { + "name": { + "en": "Sarawak State Governor's Birthday", + "ms": "Hari Jadi Yang di-Pertua Negeri Sarawak" + } + }, + "17 Ramadan": false + } + }, + "14": { + "name": "Kuala Lumpur", + "days": { + "02-01": { + "name": { + "en": "Federal Territory Day", + "ms": "Hari Wilayah Persekutuan" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "15": { + "name": "Labuan", + "days": { + "02-01": { + "name": { + "en": "Federal Territory Day", + "ms": "Hari Wilayah Persekutuan" + } + }, + "05-30": { + "name": { + "en": "Tadau Kaamatan", + "ms": "Pesta Kaamatan" + } + }, + "05-31": { + "name": { + "en": "Tadau Kaamatan", + "ms": "Pesta Kaamatan" + } + } + } + }, + "16": { + "name": "Putrajaya", + "days": { + "02-01": { + "name": { + "en": "Federal Territory Day", + "ms": "Hari Wilayah Persekutuan" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "01": { + "name": "Johor", + "days": { + "01-01": false, + "03-23": { + "name": { + "en": "Sultan of Johor's Birthday", + "ms": "Hari Keputeraan Sultan Johor" + } + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "17 Ramadan": false, + "6 Safar": { + "name": { + "en": "Hari Hol of Sultan Iskandar of Johor", + "ms": "Hari Hol Almarhum Sultan Iskandar" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "02": { + "name": "Kedah", + "days": { + "01-01": false, + "3rd Sunday in June": { + "name": { + "en": "Sultan of Kedah's Birthday", + "ms": "Hari Keputeraan Sultan Kedah" + } + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "17 Ramadan": false, + "11 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "03": { + "name": "Kelantan", + "days": { + "01-01": false, + "11 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "11-11": { + "name": { + "en": "Sultan of Kelantan's Birthday", + "ms": "Hari Keputeraan Sultan Kelantan" + } + }, + "11-12": { + "name": { + "en": "Sultan of Kelantan's Birthday", + "ms": "Hari Keputeraan Sultan Kelantan" + } + } + } + }, + "04": { + "name": "Malacca", + "days": { + "04-15": { + "name": { + "en": "Declaration of Malacca City as Historical City", + "ms": "Hari Perisytiharan Bandar Melaka sebagai Bandaraya Bersejarah" + } + }, + "08-24": { + "name": { + "en": "Melaka State Governor's Birthday", + "ms": "Hari Jadi Yang di-Pertua Negeri Melaka" + } + }, + "1 Ramadan": { + "_name": "1 Ramadan" + }, + "17 Ramadan": false + } + }, + "05": { + "name": "Negeri Sembilan", + "days": { + "01-14": { + "name": { + "en": "Yang di-Pertuan Besar of Negeri Sembilan's Birthday", + "ms": "Hari Keputeraan Yang di-Pertuan Besar Negeri Sembilan" + } + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "17 Ramadan": false, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "06": { + "name": "Pahang", + "days": { + "05-22": { + "name": { + "en": "Hari Hol of Pahang", + "ms": "Hari Hol Pahang" + } + }, + "07-30": { + "name": { + "en": "Sultan of Pahang's Birthday", + "ms": "Hari Keputeraan Sultan Pahang" + } + } + } + }, + "07": { + "name": "Penang", + "days": { + "07-07": { + "name": { + "en": "Declaration of George Town as World Heritage Site", + "id": "Hari Ulang Tahun Perisytiharan Tapak Warisan Dunia" + } + }, + "2nd Saturday in July": { + "name": { + "en": "Penang State Governor's Birthday", + "ms": "Hari Jadi Yang di-Pertua Negeri Pulau Pinang" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "08": { + "name": "Perak", + "days": { + "1st Friday in November": { + "name": { + "en": "Sultan of Perak's Birthday", + "ms": "Hari Keputeraan Sultan Perak" + } + }, + "2016-01-24": { + "_name": "Thaipusam" + }, + "2017-02-10": { + "_name": "Thaipusam" + }, + "2018-01-31": { + "_name": "Thaipusam" + }, + "2019-01-21": { + "_name": "Thaipusam" + }, + "2020-02-08": { + "_name": "Thaipusam" + }, + "2021-01-28": { + "_name": "Thaipusam" + }, + "2022-01-18": { + "_name": "Thaipusam" + }, + "2023-02-05": { + "_name": "Thaipusam" + }, + "2024-01-25": { + "_name": "Thaipusam" + }, + "2025-02-11": { + "_name": "Thaipusam" + }, + "2026-02-01": { + "_name": "Thaipusam" + } + } + }, + "09": { + "name": "Perlis", + "days": { + "01-01": false, + "07-17": { + "name": { + "en": "Raja of Perlis's Birthday", + "id": "Hari Keputeraan Raja Perlis" + } + }, + "27 Rajab": { + "_name": "27 Rajab" + }, + "11 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + } + } + }, + "MZ": { + "names": { + "pt": "Moçambique", + "en": "Mozambique" + }, + "dayoff": "sunday", + "langs": [ + "pt" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01", + "name": { + "pt": "Dia da Fraternidade universal" + } + }, + "substitutes 01-01 if sunday then next monday": { + "_name": "Public Holiday" + }, + "02-03": { + "name": { + "pt": "Dia dos heróis moçambicanos", + "en": "Heroes’ Day" + } + }, + "substitutes 02-03 if sunday then next monday": { + "_name": "Public Holiday" + }, + "04-07": { + "name": { + "pt": "Dia da Mulher Moçambicana", + "en": "Women’s Day" + } + }, + "substitutes 04-07 if sunday then next monday": { + "_name": "Public Holiday" + }, + "05-01": { + "_name": "05-01", + "name": { + "pt": "Dia Internacional dos Trabalhadores", + "en": "Workers' Day" + } + }, + "substitutes 05-01 if sunday then next monday": { + "_name": "Public Holiday" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-25": { + "_name": "Independence Day", + "name": { + "pt": "Dia da Independência Nacional" + } + }, + "substitutes 06-25 if sunday then next monday": { + "_name": "Public Holiday" + }, + "09-07": { + "name": { + "pt": "Dia da Vitória", + "en": "Lusaka Peace Agreement" + } + }, + "substitutes 09-07 if sunday then next monday": { + "_name": "Public Holiday" + }, + "09-25": { + "name": { + "pt": "Dia das Forças Armadas de Libertação Nacional", + "en": "Defense Force’s Day" + } + }, + "substitutes 09-25 if sunday then next monday": { + "_name": "Public Holiday" + }, + "10-04": { + "name": { + "pt": "Dia da Paz e Reconciliação", + "en": "Peace and Reconciliation Day" + } + }, + "substitutes 10-04 if sunday then next monday": { + "_name": "Public Holiday" + }, + "12-25": { + "_name": "12-25", + "name": { + "pt": "Dia da Família", + "en": "Family Day" + } + }, + "substitutes 12-25 if sunday then next monday": { + "_name": "Public Holiday" + } + } + }, + "NA": { + "names": { + "en": "Namibia" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Windhoek" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "name": "Public Holiday" + }, + "03-21": { + "_name": "Independence Day" + }, + "substitutes 03-21 if sunday then next monday": { + "name": "Public Holiday" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Workers Day" + } + }, + "substitutes 05-01 if sunday then next monday": { + "name": "Public Holiday" + }, + "05-04": { + "name": { + "en": "Cassinga Day" + } + }, + "substitutes 05-04 if sunday then next monday": { + "name": "Public Holiday" + }, + "easter 39": { + "_name": "easter 39" + }, + "05-25": { + "name": { + "en": "Africa Day" + } + }, + "substitutes 05-25 if sunday then next monday": { + "name": "Public Holiday" + }, + "08-26": { + "name": { + "en": "Heroes' Day" + } + }, + "substitutes 08-26 if sunday then next monday": { + "name": "Public Holiday" + }, + "12-10": { + "name": { + "en": "Human Rights Day" + } + }, + "substitutes 12-10 if sunday then next monday": { + "name": "Public Holiday" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "name": { + "en": "Day of Goodwill" + } + }, + "substitutes 12-26 if sunday then next monday": { + "name": "Public Holiday" + } + } + }, + "NC": { + "names": { + "fr": "Nouvelle-Calédonie", + "en": "New Caledonia" + }, + "dayoff": "sunday", + "zones": [ + "Pacific/Noumea" + ], + "langs": [ + "fr" + ], + "_days": "FR", + "days": { + "01-01": { + "name": { + "fr": "Jour de l'an" + } + }, + "09-24": { + "name": { + "fr": "Fête de la Citonneyeté", + "en": "New Caledonia Day" + } + } + } + }, + "NE": { + "names": { + "fr": "République du Niger", + "en": "Republic of the Niger" + }, + "langs": [ + "fr" + ], + "zones": [ + "Africa/Lagos" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "04-24": { + "name": { + "fr": "Journée Nationale de la Concorde", + "en": "Concord Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "08-03": { + "_name": "Independence Day", + "name": { + "fr": "Proclamation de l'indépendance" + } + }, + "12-18": { + "name": { + "fr": "Proclamation de la République", + "en": "Republic Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "easter 1": { + "_name": "easter 1" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "27 Ramadan": { + "_name": "27 Ramadan" + } + } + }, + "NG": { + "names": { + "en": "Nigeria" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Lagos" + ], + "dayoff": "Saturday", + "days": { + "01-01": { + "_name": "01-01" + }, + "05-01 and if Saturday then next Monday": { + "substitute": true, + "_name": "05-01", + "name": { + "en": "Worker's Day" + } + }, + "05-27": { + "name": { + "en": "Children's Day", + "type": "school" + } + }, + "05-29 prior to 2018": { + "name": { + "en": "Democracy Day" + } + }, + "06-12 prior to 2018": { + "name": { + "en": "M.K.O Abiola Day" + } + }, + "06-12 and if Saturday then next Monday since 2018": { + "substitute": true, + "name": { + "en": "Democracy Day" + } + }, + "10-01": { + "_name": "Independence Day" + }, + "11-01 since 2020": { + "name": { + "en": "National Youth Day" + } + }, + "12-31": { + "_name": "12-31", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P2D": { + "_name": "1 Shawwal", + "name": { + "en": "Id el Fitr" + } + }, + "10 Dhu al-Hijjah P2D": { + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Id el Kabir" + } + } + } + }, + "NI": { + "names": { + "es": "Nicaragua", + "en": "Nicaragua" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Managua" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-18": { + "name": { + "en": "Birthday of Rubén Darío", + "es": "Natalicio de Rubén Darío" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "05-30": { + "_name": "Mothers Day", + "name": { + "es": "Día de la madre nicaragüense" + }, + "type": "observance" + }, + "06-01": { + "name": { + "en": "Children's Day", + "es": "Día del niño" + } + }, + "06-23": { + "_name": "Fathers Day", + "name": { + "es": "Día del padre nicaragüense" + }, + "type": "observance" + }, + "07-19": { + "name": { + "en": "Revolution Day", + "es": "Triunfo de la Revolución Popular" + } + }, + "09-14": { + "name": { + "en": "Battle of San Jacinto", + "es": "Batalla de San Jacinto" + } + }, + "09-15": { + "_name": "Independence Day" + }, + "10-12": { + "name": { + "en": "Indigenous Resistance Day", + "es": "Día de la resistencia indígena" + } + }, + "12-08": { + "_name": "12-08" + }, + "12-24": { + "_name": "12-24", + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + } + }, + "NL": { + "names": { + "nl": "Nederland", + "en": "Netherlands" + }, + "dayoff": "sunday", + "langs": [ + "nl" + ], + "zones": [ + "Europe/Amsterdam" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27 if sunday then previous saturday": { + "name": { + "nl": "Koningsdag" + } + }, + "05-04": { + "name": { + "nl": "Nationale Dodenherdenking" + }, + "type": "observance" + }, + "05-05": { + "name": { + "nl": "Bevrijdingsdag" + }, + "type": "observance" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "3rd tuesday in September": { + "name": { + "nl": "Prinsjesdag" + }, + "note": "Scholen in Den Haag geven meestal 1 dag vrij", + "type": "observance" + }, + "11-11": { + "_name": "11-11", + "type": "observance" + }, + "12-05": { + "name": { + "nl": "Sinterklaasavond", + "en": "St Nicholas' Eve" + }, + "type": "observance" + }, + "12-15": { + "name": { + "nl": "Koninkrijksdag", + "en": "Kingdom Day" + }, + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + } + }, + "NO": { + "names": { + "no": "Norge", + "en": "Norway" + }, + "dayoff": "sunday", + "langs": [ + "no" + ], + "zones": [ + "Europe/Oslo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "2nd sunday in February": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter -49": { + "name": { + "no": "Fastelavn", + "en": "Carnival" + }, + "type": "observance" + }, + "easter -7": { + "_name": "easter -7", + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-08": { + "_name": "Liberation Day", + "type": "observance" + }, + "05-17": { + "_name": "Constitution Day", + "name": { + "no": "17. mai" + } + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-23": { + "name": { + "no": "Sankthansaften", + "en": "Midsummar Eve" + }, + "type": "observance" + }, + "2nd sunday in November": { + "_name": "Fathers Day", + "type": "observance" + }, + "4th sunday before 12-24": { + "name": { + "no": "Første søndag i advent", + "en": "First Sunday of Advent" + }, + "type": "observance" + }, + "3rd sunday before 12-24": { + "name": { + "no": "Andre søndag i advent", + "en": "Second Sunday of Advent" + }, + "type": "observance" + }, + "2nd sunday before 12-24": { + "name": { + "no": "Tredje søndag i advent", + "en": "Third Sunday of Advent" + }, + "type": "observance" + }, + "1st sunday before 12-24": { + "name": { + "no": "Fjerde søndag i advent", + "en": "Fourth Sunday of Advent" + }, + "type": "observance" + }, + "12-24": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31 14:00 if sunday then 00:00": { + "_name": "12-31", + "type": "bank" + } + } + }, + "NZ": { + "names": { + "en": "New Zealand", + "mi": "Aotearoa" + }, + "dayoff": "sunday", + "langs": [ + "en", + "mi" + ], + "zones": [ + "Pacific/Auckland", + "Pacific/Chatham" + ], + "days": { + "01-01 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "01-01" + }, + "01-02 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "name": { + "en": "Day after New Year's Day" + } + }, + "02-06 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "Waitangi Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-25 and if saturday,sunday then next monday": { + "substitute": true, + "name": { + "en": "ANZAC Day" + } + }, + "1st monday in June": { + "name": { + "en": "Queen's Birthday" + } + }, + "4th monday in October": { + "_name": "05-01" + }, + "12-25 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if saturday then next monday if sunday then next tuesday": { + "substitute": true, + "_name": "12-26" + }, + "2022-06-24": { + "name": { + "en": "Matariki" + } + }, + "2023-07-14": { + "name": { + "en": "Matariki" + } + }, + "2024-06-28": { + "name": { + "en": "Matariki" + } + }, + "2025-06-20": { + "name": { + "en": "Matariki" + } + }, + "2026-07-10": { + "name": { + "en": "Matariki" + } + }, + "2027-06-25": { + "name": { + "en": "Matariki" + } + }, + "2028-07-14": { + "name": { + "en": "Matariki" + } + }, + "2029-07-06": { + "name": { + "en": "Matariki" + } + }, + "2030-06-21": { + "name": { + "en": "Matariki" + } + }, + "2031-07-11": { + "name": { + "en": "Matariki" + } + }, + "2032-07-02": { + "name": { + "en": "Matariki" + } + }, + "2033-06-24": { + "name": { + "en": "Matariki" + } + }, + "2034-07-07": { + "name": { + "en": "Matariki" + } + }, + "2035-06-29": { + "name": { + "en": "Matariki" + } + }, + "2036-07-18": { + "name": { + "en": "Matariki" + } + }, + "2037-07-10": { + "name": { + "en": "Matariki" + } + }, + "2038-06-25": { + "name": { + "en": "Matariki" + } + }, + "2039-07-15": { + "name": { + "en": "Matariki" + } + }, + "2040-07-06": { + "name": { + "en": "Matariki" + } + }, + "2041-07-19": { + "name": { + "en": "Matariki" + } + }, + "2042-07-11": { + "name": { + "en": "Matariki" + } + }, + "2043-07-03": { + "name": { + "en": "Matariki" + } + }, + "2044-06-24": { + "name": { + "en": "Matariki" + } + }, + "2045-07-07": { + "name": { + "en": "Matariki" + } + }, + "2046-06-29": { + "name": { + "en": "Matariki" + } + }, + "2047-07-19": { + "name": { + "en": "Matariki" + } + }, + "2048-07-03": { + "name": { + "en": "Matariki" + } + }, + "2049-06-25": { + "name": { + "en": "Matariki" + } + }, + "2050-07-15": { + "name": { + "en": "Matariki" + } + }, + "2051-06-30": { + "name": { + "en": "Matariki" + } + }, + "2052-06-21": { + "name": { + "en": "Matariki" + } + }, + "2022-09-26": { + "name": { + "en": "National Day of Mourning for Queen Elizabeth II" + } + } + }, + "states": { + "AUK": { + "names": { + "en": "Auckland Province", + "mi": "Tāmaki-makau-rau" + }, + "days": { + "01-29 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "BOP": { + "names": { + "en": "Bay of Plenty", + "mi": "Te Moana-a-Toi" + }, + "days": { + "01-29 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "CAN": { + "names": { + "en": "Canterbury", + "mi": "Waitaha" + }, + "days": { + "friday after 2nd tuesday in November": { + "name": { + "en": "Christchurch Show Day" + }, + "note": "May differ in parts of North Canterbury" + } + }, + "regions": { + "Timaru": { + "name": "Timaru District", + "days": { + "friday after 2nd tuesday in November": false, + "4th monday in September": { + "name": { + "en": "Dominion Day" + } + } + } + } + } + }, + "CIT": { + "names": { + "en": "Chatham Islands", + "mi": "Wharekauri" + }, + "days": { + "11-30 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "GIS": { + "names": { + "en": "Gisborne", + "mi": "Te Tai Rāwhiti" + }, + "days": { + "01-29 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "HKB": { + "names": { + "en": "Hawke's Bay", + "mi": "Te Matau-a-Māui" + }, + "days": { + "friday before 4th monday in October": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "MBH": { + "names": { + "en": "Marlborough", + "mi": "Te Tauihu-o-te-waka" + }, + "days": { + "5th monday in October": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "MWT": { + "name": "Manawatu-Wanganui", + "days": { + "01-22 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "NSN": { + "names": { + "en": "Nelson", + "mi": "Whakatū" + }, + "days": { + "02-01 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "NTL": { + "names": { + "en": "Northland", + "mi": "Te Tai Tokerau" + }, + "days": { + "01-29 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "OTA": { + "names": { + "en": "Otago Province", + "mi": "Ōtākou" + }, + "days": { + "03-23 if Tuesday,Wednesday,Thursday then previous Monday if Friday,Saturday,Sunday then next Monday if is public holiday then next Monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "STL": { + "names": { + "en": "Southland", + "mi": "Murihiku" + }, + "days": { + "easter 2": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "TAS": { + "names": { + "en": "Tasman", + "mi": "Te Tai-o-Aorere" + }, + "days": { + "02-01 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "TKI": { + "name": "Taranaki", + "days": { + "2nd monday in March": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "WKO": { + "name": "Waikato", + "days": { + "01-29 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "WGN": { + "names": { + "en": "Wellington Province", + "mi": "Te Whanga-nui-a-Tara" + }, + "days": { + "01-22 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + }, + "WTC": { + "names": { + "en": "Westland", + "mi": "Te Tai Poutini" + }, + "days": { + "12-01 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + }, + "regions": { + "Buller": { + "name": "Buller district", + "days": { + "12-01 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": false, + "02-01 if tuesday,wednesday,thursday then previous monday if friday,saturday,sunday then next monday": { + "name": { + "en": "Provincial anniversary day" + } + } + } + } + } + } + } + }, + "PA": { + "names": { + "es": "Panamá", + "en": "Panama" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Panama" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "01-09 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Martyrs' Day", + "es": "Día de los Mártires Caídos en la Gesta Patriótica" + } + }, + "easter -48": { + "_name": "easter -48", + "type": "observance" + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "07-01 every 5 years since 2014": { + "name": { + "en": "Presidential Inauguration" + } + }, + "11-03 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Separation Day (from Columbia)", + "es": "Día de la Separación (de Colombia)" + } + }, + "11-10 and if sunday then next monday": { + "substitute": true, + "name": { + "es": "Primer Grito de Independencia" + } + }, + "11-28 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "12-08 and if sunday then next monday": { + "substitute": true, + "_name": "Mothers Day" + }, + "12-25 and if sunday then next monday": { + "substitute": true, + "_name": "12-25" + } + } + }, + "PE": { + "names": { + "es": "Perú", + "en": "Peru" + }, + "dayoff": "sunday", + "langs": [ + "es", + "qu" + ], + "zones": [ + "America/Lima" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "05-01": { + "_name": "05-01" + }, + "06-29": { + "_name": "06-29" + }, + "07-28": { + "_name": "Independence Day" + }, + "07-29": { + "_name": "Independence Day" + }, + "08-30": { + "name": { + "en": "Santa Rosa de Lima", + "es": "Día de Santa Rosa de Lima" + } + }, + "10-08": { + "name": { + "en": "Battle of Angamos", + "es": "Combate de Angamos" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + } + }, + "regions": { + "CUS": { + "name": "Cuzco", + "days": { + "06-24": { + "name": { + "en": "Festival of the Sun", + "es": "Fiesta Inca del Sol", + "qu": "Inti Raymi" + }, + "type": "observance" + } + } + } + } + }, + "PH": { + "names": { + "en": "Philippines" + }, + "langs": [ + "en", + "fil" + ], + "zones": [ + "Asia/Manila" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-23": { + "type": "observance", + "name": { + "en": "First Philippine Republic Day", + "fil": "Araw ng Unang Republika ng Pilipinas" + } + }, + "chinese 01-0-01": { + "type": "optional", + "name": { + "en": "Chinese New Year", + "fil": "Bagong Taon ng mga Tsino" + } + }, + "02-02": { + "type": "observance", + "_name": "Constitution Day" + }, + "chinese 01-0-15": { + "type": "observance", + "name": { + "en": "Lantern Festival", + "fil": "Piyesta ng mga Parol Tsino" + } + }, + "02-25": { + "name": { + "en": "EDSA Revolution Anniversary", + "fil": "Anibersaryo ng Rebolusyon sa EDSA" + }, + "type": "optional", + "note": "Non-working Day" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1", + "type": "optional", + "note": "Non-working Day" + }, + "easter": { + "_name": "easter" + }, + "04-09": { + "name": { + "en": "Day of Valor", + "fil": "Araw ng Kagitingan" + } + }, + "04-27": { + "type": "observance", + "name": { + "en": "Lapu-Lapu Day", + "fil": "Araw ni Lapu-Lapu" + } + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Labour Day", + "fil": "Araw ng mga Manggagawa" + } + }, + "06-12": { + "_name": "Independence Day" + }, + "06-19": { + "type": "observance", + "name": { + "en": "José Rizal's birthday", + "fil": "Araw ng Kapanganakan ni José Rizal" + }, + "active": [ + { + "from": "1961-01-01T00:00:00.000Z" + } + ], + "disable": [ + "2011-06-19" + ] + }, + "2011-06-19": { + "name": { + "en": "José Rizal's birthday", + "fil": "Araw ng Kapanganakan ni José Rizal" + } + }, + "07-27": { + "type": "observance", + "name": { + "en": "Iglesia ni Cristo Day", + "fil": "Araw ng Iglesia ni Cristo" + } + }, + "08-21": { + "name": { + "en": "Ninoy Aquino Day", + "fil": "Araw ng Kabayanihan ni Ninoy Aquino" + }, + "type": "optional", + "note": "Non-working Day" + }, + "1st monday before September": { + "name": { + "en": "National Heroes' Day", + "fil": "Araw ng mga Bayani" + } + }, + "chinese 08-0-15": { + "type": "observance", + "name": { + "en": "Mid-Autumn Festival", + "fil": "Piyestang Zhōngqiū Jié" + } + }, + "11-01": { + "_name": "11-01", + "type": "optional", + "note": "Non-working Day" + }, + "11-02": { + "_name": "11-02", + "type": "optional", + "note": "Non-working Day" + }, + "11-30": { + "name": { + "en": "Bonifacio Day", + "fil": "Araw ng Kapanganakan ni Bonifacio" + } + }, + "12-08": { + "_name": "12-08", + "name": { + "en": "Feast of the Immaculate Conception of the Blessed Virgin Mary", + "fil": "Pagdiriwang ng Kalinis-linisang Paglilihi sa Mahal na Birheng Maria" + }, + "type": "optional", + "note": "Non-working Day" + }, + "12-24": { + "_name": "12-24", + "type": "optional", + "note": "Non-working Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-30": { + "name": { + "en": "Rizal Day", + "fil": "Paggunita sa Kamatayan ni Dr. Jose Rizal" + } + }, + "12-31": { + "_name": "12-31", + "type": "optional", + "note": "Non-working Day" + }, + "1 Muharram": { + "type": "observance", + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "type": "observance", + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "PL": { + "names": { + "pl": "Polska", + "en": "Poland" + }, + "dayoff": "sunday", + "langs": [ + "pl" + ], + "zones": [ + "Europe/Warsaw" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01", + "name": { + "pl": "Święto Państwowe; Święto Pracy" + } + }, + "05-03": { + "name": { + "pl": "Święto Narodowe Trzeciego Maja", + "en": "Constitution Day" + } + }, + "05-26": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 49": { + "_name": "easter 49" + }, + "easter 60": { + "_name": "easter 60" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "11-11": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "PM": { + "names": { + "en": "St. Pierre & Miquelon" + }, + "langs": [ + "fr" + ], + "zones": [ + "America/Miquelon" + ], + "dayoff": "sunday", + "days": {}, + "_days": "FR" + }, + "PR": { + "names": { + "en": "Puerto Rico" + }, + "langs": [ + "es", + "en" + ], + "zones": [ + "America/Puerto_Rico" + ], + "dayoff": "sunday", + "_days": "US", + "days": { + "01-06": { + "_name": "01-06" + }, + "2nd Monday in January": { + "name": { + "es": "Natalicio de Eugenio María de Hostos", + "en": "Birthday of Eugenio María de Hostos" + } + }, + "02-18": { + "name": { + "es": "Natalicio de Luis Muñoz Marín", + "en": "Birthday of Luis Muñoz Marín" + } + }, + "03-02 since 2017": { + "name": { + "es": "Día de la Ciudadanía Americana", + "en": "American Citizenship Day" + } + }, + "03-17": false, + "03-22": { + "name": { + "es": "Día de la Abolición de Esclavitud", + "en": "Emancipation Day" + } + }, + "04-16": { + "name": { + "es": "Natalicio de José de Diego", + "en": "Birthday of José de Diego" + } + }, + "3rd Monday in July": { + "name": { + "es": "Natalicio de Don Luis Muñoz Rivera", + "en": "Birthday of Don Luis Muñoz Rivera" + } + }, + "07-25": { + "name": { + "es": "Constitución de Puerto Rico", + "en": "Puerto Rico Constitution Day" + } + }, + "07-27": { + "name": { + "es": "Natalicio de Dr. José Celso Barbosa", + "en": "Birthday of Dr. José Celso Barbosa" + } + }, + "11-19": { + "name": { + "es": "Día del Descubrimiento de Puerto Rico", + "en": "Discovery of Puerto Rico" + } + } + } + }, + "PT": { + "names": { + "pt": "Portugal", + "en": "Portugal" + }, + "dayoff": "sunday", + "langs": [ + "pt" + ], + "zones": [ + "Europe/Lisbon", + "Atlantic/Madeira", + "Atlantic/Azores" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -47": { + "_name": "easter -47", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "04-25": { + "name": { + "pt": "Dia da Liberdade", + "en": "Liberty Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 60": { + "_name": "easter 60" + }, + "06-10": { + "name": { + "pt": "Dia de Portugal", + "en": "Portugal Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "10-05": { + "name": { + "pt": "Implantação da República" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-01": { + "name": { + "pt": "Restauração da Independência" + } + }, + "12-08": { + "_name": "12-08" + }, + "12-24": { + "_name": "12-24", + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + } + }, + "PY": { + "names": { + "es": "Paraguay", + "en": "Paraguay" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Asuncion" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "03-01": { + "disable": [ + "2017-03-01" + ], + "enable": [ + "2017-02-27" + ], + "name": { + "en": "Heroes' Day", + "es": "Dia de los héroes" + } + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "04-30": { + "name": { + "en": "Teacher's Day", + "es": "Día del Maestro" + }, + "type": "optional", + "note": "Affects educational institutions" + }, + "05-01": { + "_name": "05-01" + }, + "05-14": { + "_name": "Independence Day" + }, + "05-15": { + "_name": "Independence Day" + }, + "06-12": { + "name": { + "en": "Chaco Armistice", + "es": "Día de la Paz del Chaco" + }, + "disable": [ + "2020-06-12" + ], + "enable": [ + "2020-06-15" + ] + }, + "08-15": { + "_name": "08-15", + "disable": [ + "2017-08-15" + ], + "enable": [ + "2017-08-14" + ] + }, + "09-29": { + "disable": [ + "2017-09-29" + ], + "enable": [ + "2017-10-02" + ], + "name": { + "en": "Boqueron Battle Victory Day", + "es": "Victoria de Boquerón" + } + }, + "12-08": { + "_name": "12-08", + "name": { + "en": "Virgin of Caacupe", + "es": "Virgen de Caacupé" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + } + }, + "RE": { + "names": { + "fr": "Réunion", + "en": "Réunion" + }, + "langs": [ + "fr" + ], + "zones": [ + "Indian/Reunion" + ], + "dayoff": "", + "_days": "FR", + "days": { + "12-20": { + "_name": "Abolition of Slavery" + } + } + }, + "RO": { + "names": { + "ro": "Romania", + "en": "Romania" + }, + "dayoff": "sunday", + "langs": [ + "ro" + ], + "zones": [ + "Europe/Bucharest" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-24": { + "name": { + "ro": "Ziua Unirii", + "en": "Unification Day" + } + }, + "03-08": { + "name": { + "ro": "Ziua Mamei" + }, + "type": "observance" + }, + "orthodox -2": { + "_name": "easter -2" + }, + "orthodox": { + "_name": "easter" + }, + "orthodox 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "orthodox 39": { + "_name": "easter 39", + "type": "observance" + }, + "orthodox 49": { + "_name": "easter 49" + }, + "orthodox 50": { + "_name": "easter 50" + }, + "1st sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-01": { + "name": { + "ro": "Ziua Copilului", + "en": "Children's Day" + } + }, + "06-26": { + "name": { + "ro": "Ziua drapelului national", + "en": "Flag Day" + }, + "type": "observance" + }, + "07-29": { + "name": { + "ro": "Ziua Imnului național", + "en": "National Anthem Day" + }, + "type": "observance" + }, + "08-15": { + "_name": "08-15" + }, + "11-30": { + "name": { + "ro": "Sfântul Andrei", + "en": "St Andrew's Day" + } + }, + "12-01": { + "name": { + "ro": "Ziua națională, Ziua Marii Uniri", + "en": "National holiday" + } + }, + "12-08": { + "_name": "Constitution Day", + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "RS": { + "names": { + "sr": "Република Србија", + "en": "Serbia" + }, + "langs": [ + "sr" + ], + "zones": [ + "Europe/Belgrade" + ], + "dayoff": "sunday", + "days": { + "01-01 if sunday then next tuesday": { + "_name": "01-01" + }, + "01-02 if sunday then next monday": { + "_name": "01-01" + }, + "julian 12-25": { + "_name": "julian 12-25" + }, + "02-15 if sunday then next tuesday": { + "name": { + "sr": "Дан државности Србије", + "en": "Statehood Day" + } + }, + "02-16 if sunday then next monday": { + "name": { + "sr": "Дан државности Србије", + "en": "Statehood Day" + } + }, + "orthodox -2": { + "_name": "orthodox -2" + }, + "orthodox": { + "_name": "orthodox" + }, + "orthodox 1": { + "_name": "orthodox 1" + }, + "05-01 if sunday then next tuesday": { + "_name": "05-01" + }, + "05-02 if sunday then next monday": { + "_name": "05-01" + }, + "11-11 if sunday then next monday": { + "name": { + "sr": "Дан примирја", + "en": "Armistice Day" + } + }, + "easter -2": { + "_name": "easter -2", + "type": "optional", + "note": "Catholic believers" + }, + "easter": { + "_name": "easter", + "type": "optional", + "note": "Catholic believers" + }, + "easter 1": { + "_name": "easter 1", + "type": "optional", + "note": "Catholic believers" + }, + "12-25": { + "_name": "12-25", + "type": "optional", + "note": "Catholic believers" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "type": "optional", + "note": "Muslim believers" + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "type": "optional", + "note": "Muslim believers" + }, + "10 Tishrei": { + "_name": "10 Tishrei", + "type": "optional", + "note": "Jewish believers" + }, + "julian 01-14": { + "name": { + "sr": "Свети Сава", + "en": "Saint Sava Day" + }, + "type": "observance" + }, + "04-22": { + "name": { + "sr": "Дан сећања на жртве холокауста", + "en": "Holocaust Remembrance Day" + }, + "type": "observance" + }, + "05-09": { + "name": { + "sr": "Дан победе", + "en": "Victory Day" + }, + "type": "observance" + }, + "julian 06-15": { + "name": { + "sr": "Видовдан", + "en": "Saint Vitus Day" + }, + "type": "observance" + }, + "10-21": { + "name": { + "sr": "Дан сећања на српске жртве у Другом светском рату", + "en": "World War II Serbian Victims Remembrance Day" + }, + "type": "observance" + } + } + }, + "RU": { + "names": { + "ru": "Россия", + "en": "Russia" + }, + "dayoff": "sunday", + "langs": [ + "ru" + ], + "zones": [ + "Europe/Moscow", + "Europe/Kaliningrad", + "Europe/Simferopol", + "Europe/Volgograd", + "Europe/Samara", + "Asia/Yekaterinburg", + "Asia/Omsk", + "Asia/Novosibirsk", + "Asia/Novokuznetsk", + "Asia/Krasnoyarsk", + "Asia/Irkutsk", + "Asia/Chita", + "Asia/Yakutsk", + "Asia/Khandyga", + "Asia/Vladivostok", + "Asia/Sakhalin", + "Asia/Ust-Nera", + "Asia/Magadan", + "Asia/Srednekolymsk", + "Asia/Kamchatka", + "Asia/Anadyr" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02 P5D": { + "name": { + "ru": "Новогодние каникулы", + "en": "New Year Holiday" + } + }, + "julian 12-25": { + "_name": "12-25" + }, + "01-08": { + "name": { + "ru": "Новогодние каникулы", + "en": "New Year Holiday" + } + }, + "02-23": { + "name": { + "ru": "День защитника Отечества", + "en": "Defender of the Fatherland Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "05-01": { + "name": { + "ru": "День весны и труда", + "en": "Spring and Labour Day" + } + }, + "05-09": { + "name": { + "ru": "День Победы", + "en": "Victory Day" + } + }, + "06-12": { + "name": { + "ru": "День России", + "en": "Russia Day" + } + }, + "11-04": { + "name": { + "ru": "День народного единства", + "en": "Unity Day" + } + } + } + }, + "RW": { + "names": { + "en": "Rwanda", + "fr": "République du Rwanda", + "rw": "Repubulika y'u Rwanda" + }, + "dayoff": "sunday", + "langs": [ + "en", + "fr", + "rw" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "_name": "Public Holiday" + }, + "02-01": { + "name": { + "en": "Heroes Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "04-07": { + "name": { + "fr": "Jour de Mémorial du Génocide", + "en": "Genocide Memorial Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-01": { + "_name": "Independence Day" + }, + "07-04": { + "name": { + "fr": "Jour de la Libération", + "en": "Liberation Day" + } + }, + "08-15": { + "_name": "08-15" + }, + "1st friday in August": { + "name": { + "rw": "Umuganura", + "fr": "Journée nationale de récolte", + "en": "National Harvest Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "easter 1": { + "_name": "easter 1" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "SC": { + "names": { + "en": "Seychelles", + "fr": "République des Seychelles", + "crs": "Repiblik Sesel" + }, + "langs": [ + "en", + "fr", + "crs" + ], + "zones": [ + "Indian/Mahe" + ], + "dayoff": "sunday", + "days": { + "01-01 P2D": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 60": { + "_name": "easter 60" + }, + "05-01": { + "_name": "05-01" + }, + "06-18": { + "_name": "National Holiday" + }, + "06-29": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + } + } + }, + "SD": { + "names": { + "ar": "جمهورية السودان", + "en": "Sudan" + }, + "langs": [], + "zones": [ + "Africa/Khartoum" + ], + "dayoff": "", + "days": { + "01-01": { + "_name": "Independence Day" + }, + "12-19": { + "_name": "Revolution Day" + }, + "12-25": { + "_name": "12-25" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal P4D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah P3D": { + "_name": "10 Dhu al-Hijjah" + }, + "julian 12-25": { + "_name": "julian 12-25", + "name": { + "en": "Coptic Christmas" + } + }, + "orthodox": { + "_name": "orthodox", + "name": { + "en": "Coptic Easter" + } + } + } + }, + "SE": { + "names": { + "sv": "Sverige", + "en": "Sweden" + }, + "dayoff": "sunday", + "langs": [ + "sv" + ], + "zones": [ + "Europe/Stockholm" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-05 12:00": { + "name": { + "sv": "Trettondagsafton" + }, + "type": "optional" + }, + "01-06": { + "_name": "01-06" + }, + "01-13": { + "name": { + "sv": "Tjugondag Knut" + }, + "type": "observance" + }, + "1st sunday in March": { + "name": { + "sv": "Vasaloppet" + }, + "type": "observance" + }, + "03-25": { + "name": { + "sv": "Marie Bebådelsedag", + "lat": "Annuntiatio Mariæ" + }, + "type": "observance" + }, + "04-30 12:00": { + "name": { + "sv": "Valborgsmässoafton", + "en": "Walpurgis Night" + }, + "type": "optional" + }, + "easter -3": { + "_name": "easter -3", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter -1": { + "_name": "easter -1", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 48": { + "name": { + "sv": "Pingstafton", + "en": "Whitsun Eve" + }, + "type": "observance" + }, + "easter 49": { + "_name": "easter 49", + "type": "public" + }, + "easter 50": { + "_name": "easter 50", + "type": "observance" + }, + "sunday before 06-01": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-06": { + "name": { + "sv": "Sveriges nationaldag", + "en": "National Day" + } + }, + "friday after 06-19": { + "name": { + "sv": "Midsommarafton", + "en": "Midsummer Eve", + "fi": "Juhannusaatto" + }, + "type": "bank" + }, + "saturday after 06-20": { + "name": { + "sv": "Midsommardagen", + "en": "Midsummer Day", + "fi": "Juhannuspäivä" + } + }, + "friday after 10-30 12:00": { + "name": { + "sv": "Allhelgonaafton", + "en": "Halloween" + }, + "type": "optional" + }, + "saturday after 10-31": { + "_name": "11-01" + }, + "11-06": { + "name": { + "sv": "Gustav-Adolf-dagen" + }, + "type": "observance" + }, + "11-11": { + "name": { + "sv": "Mårtensgås" + }, + "type": "observance" + }, + "12-10": { + "name": { + "sv": "Nobeldagen" + }, + "type": "observance" + }, + "12-13": { + "name": { + "sv": "Luciadagen" + }, + "type": "observance" + }, + "12-24": { + "_name": "12-24", + "type": "bank" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31": { + "_name": "12-31", + "type": "bank" + } + } + }, + "SG": { + "names": { + "en": "Singapore" + }, + "langs": [ + "en" + ], + "zones": [ + "Asia/Singapore" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "chinese 01-0-01": { + "name": { + "en": "Chinese New Year" + } + }, + "chinese 01-0-02": { + "name": { + "en": "Chinese New Year" + } + }, + "substitutes chinese 01-0-01 if sunday then next tuesday": { + "substitute": true, + "name": { + "en": "Chinese New Year" + } + }, + "substitutes chinese 01-0-02 if sunday then next monday": { + "substitute": true, + "name": { + "en": "Chinese New Year" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "05-01": { + "_name": "05-01" + }, + "substitutes 05-01 if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "08-09": { + "name": { + "en": "National Day" + } + }, + "substitutes 08-09 if sunday then next monday": { + "substitute": true, + "name": { + "en": "National Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if sunday then next monday": { + "substitute": true, + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal", + "name": { + "en": "Hari Raya Puasa" + }, + "disable": [ + "2022-05-02" + ], + "enable": [ + "2022-05-03" + ] + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Hari Raya Haji" + }, + "disable": [ + "2022-07-09" + ], + "enable": [ + "2022-07-10" + ] + }, + "2001-05-07": { + "_name": "Vesak" + }, + "2002-05-27": { + "_name": "Vesak" + }, + "2003-05-15": { + "_name": "Vesak" + }, + "2004-06-02": { + "_name": "Vesak" + }, + "2005-05-23": { + "_name": "Vesak" + }, + "2006-05-12": { + "_name": "Vesak" + }, + "2007-05-31": { + "_name": "Vesak" + }, + "2008-05-19": { + "_name": "Vesak" + }, + "2009-05-09": { + "_name": "Vesak" + }, + "2010-05-28": { + "_name": "Vesak" + }, + "2011-05-17": { + "_name": "Vesak" + }, + "2012-05-05": { + "_name": "Vesak" + }, + "2013-05-24": { + "_name": "Vesak" + }, + "2014-05-13": { + "_name": "Vesak" + }, + "2015-06-01": { + "_name": "Vesak" + }, + "2016-05-21": { + "_name": "Vesak" + }, + "2017-05-10": { + "_name": "Vesak" + }, + "2018-05-29": { + "_name": "Vesak" + }, + "2019-05-19": { + "_name": "Vesak" + }, + "2019-05-20": { + "substitute": true, + "_name": "Vesak" + }, + "2020-05-07": { + "_name": "Vesak" + }, + "2021-05-26": { + "_name": "Vesak" + }, + "2022-05-15": { + "_name": "Vesak" + }, + "2022-05-16": { + "substitute": true, + "_name": "Vesak" + }, + "2023-05-05": { + "_name": "Vesak" + }, + "2024-05-23": { + "_name": "Vesak" + }, + "2000-10-26": { + "_name": "Deepavali" + }, + "2001-11-14": { + "_name": "Deepavali" + }, + "2002-11-03": { + "_name": "Deepavali" + }, + "2002-11-04": { + "substitute": true, + "_name": "Deepavali" + }, + "2003-10-23": { + "_name": "Deepavali" + }, + "2004-11-11": { + "_name": "Deepavali" + }, + "2005-11-01": { + "_name": "Deepavali" + }, + "2006-10-21": { + "_name": "Deepavali" + }, + "2007-11-08": { + "_name": "Deepavali" + }, + "2008-10-27": { + "_name": "Deepavali" + }, + "2009-10-17": { + "_name": "Deepavali" + }, + "2010-11-05": { + "_name": "Deepavali" + }, + "2011-10-26": { + "_name": "Deepavali" + }, + "2012-11-13": { + "_name": "Deepavali" + }, + "2013-11-03": { + "_name": "Deepavali" + }, + "2013-11-04": { + "substitute": true, + "_name": "Deepavali" + }, + "2014-10-22": { + "_name": "Deepavali" + }, + "2015-11-10": { + "_name": "Deepavali" + }, + "2016-10-29": { + "_name": "Deepavali" + }, + "2017-10-18": { + "_name": "Deepavali" + }, + "2018-11-06": { + "_name": "Deepavali" + }, + "2019-10-27": { + "_name": "Deepavali" + }, + "2019-10-28": { + "substitute": true, + "_name": "Deepavali" + }, + "2020-11-14": { + "_name": "Deepavali" + }, + "2021-11-04": { + "_name": "Deepavali" + }, + "2022-10-24": { + "_name": "Deepavali" + }, + "2023-11-13": { + "_name": "Deepavali" + }, + "2024-10-31": { + "_name": "Deepavali" + }, + "2025-10-20": { + "_name": "Deepavali" + }, + "2026-11-09": { + "_name": "Deepavali" + }, + "2027-10-28": { + "_name": "Deepavali" + }, + "2028-11-15": { + "_name": "Deepavali" + }, + "2029-11-05": { + "_name": "Deepavali" + }, + "2030-10-25": { + "_name": "Deepavali" + } + } + }, + "SH": { + "names": { + "en": "St. Helena" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "substitutes 01-01 if saturday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "3rd monday in April": { + "name": { + "en": "Queen's Birthday" + } + }, + "05-21": { + "name": { + "en": "Saint Helena Day" + } + }, + "easter 50": { + "_name": "easter 50" + }, + "monday before 09-01": { + "name": { + "en": "August Bank Holiday" + } + }, + "12-25": { + "_name": "12-25" + }, + "substitutes 12-25 if saturday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "substitutes 12-25 if sunday then next tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "substitutes 12-26 if saturday then next monday": { + "substitute": true, + "_name": "12-26" + }, + "substitutes 12-26 if sunday then next monday": { + "substitute": true, + "_name": "12-26" + } + }, + "states": { + "AC": { + "name": "Ascension Island", + "days": { + "easter 39": { + "_name": "easter 39" + } + } + }, + "HL": { + "name": "Saint Helena", + "days": {} + }, + "TA": { + "name": "Tristan da Cunha", + "days": { + "easter 39": { + "_name": "easter 39" + }, + "2012-04-23": { + "name": { + "en": "Ratting Day" + } + }, + "2013-05-03": { + "name": { + "en": "Ratting Day" + } + }, + "2014-05-02": { + "name": { + "en": "Ratting Day" + } + }, + "2015-05-16": { + "name": { + "en": "Ratting Day" + } + }, + "2016-04-30": { + "name": { + "en": "Ratting Day" + } + }, + "2017-05-26": { + "name": { + "en": "Ratting Day" + } + }, + "2018-06-02": { + "name": { + "en": "Ratting Day" + } + }, + "08-14": { + "name": { + "en": "Anniversary Day" + } + }, + "monday before 09-01": false + } + } + } + }, + "SI": { + "names": { + "sl": "Republika Slovenija", + "en": "Slovenia" + }, + "langs": [ + "sl" + ], + "zones": [ + "Europe/Belgrade" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "_name": "01-01", + "active": [ + { + "to": 1955 + }, + { + "from": 2017 + } + ] + }, + "02-08": { + "name": { + "en": "Prešeren Day, the Slovenian Cultural Holiday", + "sl": "Prešernov dan, slovenski kulturni praznik" + }, + "active": [ + { + "from": 1991 + } + ] + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "04-23": { + "name": { + "sl": "Jurjevanje", + "en": "St. George's Day" + }, + "type": "observance" + }, + "easter -49": { + "name": { + "sl": "Pust", + "en": "Carnival" + }, + "type": "observance" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27": { + "name": { + "sl": "Dan upora proti okupatorju", + "en": "Day of Uprising Against Occupation" + } + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Labour Day" + }, + "active": [ + { + "from": 1949 + } + ] + }, + "05-02": { + "_name": "05-01", + "name": { + "en": "Labour Day" + }, + "active": [ + { + "from": 1949 + } + ] + }, + "easter 49": { + "_name": "easter 49" + }, + "06-08": { + "name": { + "sl": "Dan Primoža Trubarja", + "en": "Primož Trubar Day" + }, + "type": "observance", + "active": [ + { + "from": 2010 + } + ] + }, + "06-25": { + "name": { + "sl": "Dan državnosti", + "en": "Statehood Day" + }, + "active": [ + { + "from": 1991 + } + ] + }, + "08-15": { + "_name": "08-15", + "active": [ + { + "from": 1992 + } + ] + }, + "08-17": { + "name": { + "sl": "Združitev prekmurskih Slovencev z matičnim narodom", + "en": "Unification of Prekmurje Slovenes with the Mother Nation" + }, + "type": "observance", + "active": [ + { + "from": 2006 + } + ] + }, + "09-15": { + "name": { + "sl": "Vrnitev Primorske k matični domovini", + "en": "Return of Primorska to the Motherland" + }, + "type": "observance", + "active": [ + { + "from": 2005 + } + ] + }, + "09-23": { + "name": { + "sl": "Dan slovenskega športa", + "en": "Slovenian Sports Day" + }, + "type": "observance", + "active": [ + { + "from": 2020 + } + ] + }, + "10-25": { + "name": { + "sl": "Dan suverenosti", + "en": "Sovereignty Day" + }, + "type": "observance", + "active": [ + { + "from": 2015 + } + ] + }, + "10-31": { + "name": { + "sl": "Dan reformacije", + "en": "Reformation Day" + } + }, + "11-01": { + "name": { + "sl": "Dan spomina na mrtve", + "en": "Day of Remembrance for the Dead" + } + }, + "11-11": { + "name": { + "sl": "Martinovanje", + "en": "St. Martin's Day" + }, + "type": "observance" + }, + "11-23": { + "name": { + "sl": "Dan Rudolfa Maistra", + "en": "Rudolf Maister Day" + }, + "type": "observance", + "active": [ + { + "from": 2015 + } + ] + }, + "12-06": { + "name": { + "sl": "Miklavž", + "en": "Saint Nicholas Day" + }, + "type": "observance" + }, + "12-25": { + "_name": "12-25", + "active": [ + { + "to": 1953 + }, + { + "from": 1991 + } + ] + }, + "12-26": { + "name": { + "sl": "Dan samostojnosti in enotnosti", + "en": "Independence and Unity Day" + } + } + } + }, + "SJ": { + "names": { + "en": "Svalbard & Jan Mayen" + }, + "langs": [ + "no" + ], + "zones": [ + "Europe/Oslo" + ], + "dayoff": "sunday", + "_days": "NO" + }, + "SK": { + "names": { + "sk": "Slovenská republika", + "en": "Slovakia" + }, + "langs": [ + "sk" + ], + "zones": [ + "Europe/Prague" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01", + "name": { + "sk": "Deň vzniku Slovenskej republiky" + } + }, + "01-06": { + "_name": "01-06" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "05-08": { + "name": { + "sk": "Deň víťazstva nad fašizmom", + "en": "Day of victory over fascism" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "07-05": { + "name": { + "sk": "Sviatok svätého Cyrila a Metoda", + "en": "Saints Cyril and Methodius Day" + } + }, + "08-29": { + "name": { + "sk": "Výročie Slovenského národného povstania", + "en": "Slovak National Uprising anniversary" + } + }, + "09-01": { + "_name": "Constitution Day" + }, + "09-15": { + "name": { + "sk": "Sviatok Panny Márie Sedembolestnej", + "en": "Day of Our Lady of the Seven Sorrows" + } + }, + "11-01": { + "_name": "11-01" + }, + "11-17": { + "name": { + "sk": "Deň boja za slobodu a demokraciu", + "en": "Struggle for Freedom and Democracy Day" + } + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "SL": { + "names": { + "en": "Sierra Leone" + }, + "langs": [ + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "02-18 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Armed Forces Day" + } + }, + "03-08 and if Sunday then next Monday": { + "substitute": true, + "_name": "03-08" + }, + "04-27 and if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "1 Shawwal and if Sunday then next Monday": { + "substitute": true, + "_name": "1 Shawwal", + "name": { + "en": "Korité" + } + }, + "10 Dhu al-Hijjah and if Sunday then next Monday": { + "substitute": true, + "_name": "10 Dhu al-Hijjah", + "name": { + "en": "Tabaski" + } + }, + "12 Rabi al-awwal and if Sunday then next Monday": { + "substitute": true, + "_name": "12 Rabi al-awwal", + "name": { + "en": "Mawlid" + } + }, + "12-25 and if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Sunday then next Monday": { + "substitute": true, + "_name": "12-26" + } + } + }, + "SM": { + "names": { + "it": "San Marino", + "en": "San Marino" + }, + "langs": [ + "it" + ], + "zones": [ + "Europe/Rome" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "name": { + "it": "Epifania" + } + }, + "02-05": { + "name": { + "it": "Festa di Sant’Agata", + "en": "Feast of Saint Agatha" + } + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "03-25": { + "name": { + "it": "Anniversario dell'Arengo", + "en": "Anniversary of the Arengo" + } + }, + "04-01": { + "name": { + "it": "Cerimonia di investitura dei Capitani Reggenti", + "en": "Inauguration Ceremony" + } + }, + "05-01": { + "_name": "05-01" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "easter 60": { + "_name": "easter 60" + }, + "07-28": { + "name": { + "it": "Anniversario della caduta del Fascismo e Festa della Libertà", + "en": "Liberation from Fascism" + } + }, + "08-15": { + "_name": "08-15" + }, + "09-03": { + "name": { + "it": "Festa di San Marino e di Fondazione della Repubblica", + "en": "The Feast of San Marino and the Republic" + } + }, + "10-01": { + "name": { + "it": "Cerimonia di investitura dei Capitani Reggenti" + } + }, + "11-01": { + "_name": "11-01", + "name": { + "it": "Tutti i Santi" + } + }, + "11-02": { + "name": { + "it": "Commemorazione dei defunti", + "en": "Commemoration of the deceased" + } + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "12-31": { + "_name": "12-31", + "type": "optional" + } + } + }, + "SN": { + "names": { + "fr": "République du Sénégal", + "wo": "Réewum Senegaal", + "en": "Senegal" + }, + "langs": [ + "fr", + "wo" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "04-04": { + "_name": "National Holiday" + }, + "05-01": { + "_name": "05-01" + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal and if sunday then next monday": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah and if sunday then next monday": { + "_name": "10 Dhu al-Hijjah" + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "18 Safar": { + "name": "Magal de Touba" + } + } + }, + "SO": { + "names": { + "so": "Jamhuuriyadda Federaalka Soomaaliya", + "ar": "جمهورية الصومال الفدرالية", + "en": "Somalia" + }, + "dayoff": "?", + "langs": [ + "so", + "ar", + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "05-01": { + "_name": "05-01" + }, + "06-26": { + "name": { + "ar": "استقلال الصومال البريطاني", + "en": "Independence of British Somaliland" + } + }, + "07-01": { + "_name": "Independence Day" + }, + "10 Muharram": { + "_name": "10 Muharram" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + }, + "states": { + "AW": { + "name": "Awdal", + "days": { + "01-01": false, + "05-18 P2D": { + "name": { + "en": "Restoration of Somaliland Sovereignty" + } + }, + "07-01": false, + "1 Muharram": { + "_name": "1 Muharram" + }, + "10 Muharram": false, + "27 Rajab": { + "_name": "27 Rajab" + } + } + }, + "SA": { + "name": "Sanaag", + "_days": [ + "SO", + "states", + "AW" + ] + }, + "SO": { + "name": "Sool", + "_days": [ + "SO", + "states", + "AW" + ] + }, + "TO": { + "name": "Togdheer", + "_days": [ + "SO", + "states", + "AW" + ] + }, + "WO": { + "name": "Woqooyi Galbeed", + "_days": [ + "SO", + "states", + "AW" + ] + } + } + }, + "SR": { + "names": { + "en": "Suriname" + }, + "langs": [ + "nl", + "srn" + ], + "zones": [ + "America/Paramaribo" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "chinese 01-0-01": { + "name": { + "nl": "Chinees Nieuwjaar", + "en": "Chinese New Year" + } + }, + "02-25": { + "name": { + "nl": "Dag van Bevrijding en Vernieuwing", + "en": "Day of Liberation and Innovation" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "07-01": { + "name": { + "nl": "Dag der Vrijheden (Keti koti)", + "srn": "Keti koti", + "en": "Emancipation Day" + } + }, + "08-09": { + "name": { + "nl": "Dag der Inheemsen", + "en": "Indigenous People's Day" + } + }, + "10-10": { + "name": { + "nl": "Dag van de Marrons", + "en": "Day of the Maroons" + } + }, + "11-25": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "2015-03-06": { + "_name": "Holi" + }, + "2016-03-23": { + "_name": "Holi" + }, + "2017-03-12": { + "_name": "Holi" + }, + "2018-03-02": { + "_name": "Holi" + }, + "2019-03-21": { + "_name": "Holi" + }, + "2020-03-09": { + "_name": "Holi" + }, + "2021-03-28": { + "_name": "Holi" + }, + "2022-03-18": { + "_name": "Holi" + }, + "2023-03-07": { + "_name": "Holi" + }, + "2024-03-25": { + "_name": "Holi" + }, + "2025-03-14": { + "_name": "Holi" + }, + "2026-03-03": { + "_name": "Holi" + }, + "2027-03-22": { + "_name": "Holi" + }, + "2028-03-11": { + "_name": "Holi" + }, + "2029-03-28": { + "_name": "Holi" + }, + "2030-03-19": { + "_name": "Holi" + }, + "2014-10-23": { + "_name": "Deepavali" + }, + "2015-11-11": { + "_name": "Deepavali" + }, + "2016-10-30": { + "_name": "Deepavali" + }, + "2017-10-19": { + "_name": "Deepavali" + }, + "2018-11-07": { + "_name": "Deepavali" + }, + "2019-10-27": { + "_name": "Deepavali" + }, + "2020-11-14": { + "_name": "Deepavali" + }, + "2021-11-04": { + "_name": "Deepavali" + }, + "2022-10-24": { + "_name": "Deepavali" + }, + "2023-11-12": { + "_name": "Deepavali" + }, + "2024-10-31": { + "_name": "Deepavali" + }, + "2025-10-20": { + "_name": "Deepavali" + }, + "2026-11-08": { + "_name": "Deepavali" + }, + "2027-10-28": { + "_name": "Deepavali" + }, + "2028-10-17": { + "_name": "Deepavali" + }, + "2029-11-05": { + "_name": "Deepavali" + }, + "2030-10-25": { + "_name": "Deepavali" + } + } + }, + "SS": { + "names": { + "en": "South Sudan" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-09": { + "name": { + "en": "Peace Agreement Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "05-16": { + "name": { + "en": "SPLA Day" + } + }, + "1st monday in July": { + "_name": "Mothers Day", + "type": "observance" + }, + "07-09": { + "_name": "Independence Day" + }, + "07-30": { + "name": { + "en": "Martyrs Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-28": { + "name": { + "en": "Republic Day" + } + }, + "12-31": { + "_name": "12-31" + }, + "2 Shawwal": { + "_name": "1 Shawwal" + }, + "12 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "ST": { + "names": { + "pt": "São Tomé & Príncipe", + "en": "São Tomé & Príncipe" + }, + "langs": [ + "pt", + "en" + ], + "zones": [ + "Africa/Abidjan" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "02-03 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Martyrs' Day", + "pt": "Dia dos Mártires" + } + }, + "05-01 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "07-12 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "09-06 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Armed Forces Day", + "pt": "Dia das Forças Armadas" + } + }, + "09-30 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Agricultural Reform Day", + "pt": "Dia da Reforma Agrária" + } + }, + "12-21 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "São Tomé Day", + "pt": "Dia de São Tomé" + } + }, + "12-25 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "12-25" + } + } + }, + "SV": { + "names": { + "es": "El Salvador", + "en": "El Salvador" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/El_Salvador" + ], + "days": { + "01-01": { + "_name": "01-01", + "type": "observance" + }, + "01-16": { + "name": { + "es": "Firma de los Acuerdos de Paz" + }, + "type": "observance" + }, + "03-08": { + "name": { + "es": "Día de la Mujer" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter -1": { + "_name": "easter -1" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "05-07": { + "name": { + "en": "Soldier's Day", + "es": "Día del Soldado" + }, + "type": "observance" + }, + "05-10": { + "_name": "Mothers Day", + "type": "optional", + "note": "Public Offices only" + }, + "06-17": { + "_name": "Fathers Day", + "type": "observance" + }, + "06-22": { + "name": { + "es": "Día del Maestro" + }, + "type": "optional", + "note": "Dayoff for teachers only" + }, + "08-06": { + "name": { + "es": "Celebración del Divino Salvador del Mundo" + } + }, + "09-15": { + "_name": "Independence Day" + }, + "11-02": { + "_name": "11-02" + }, + "12-25": { + "_name": "12-25" + } + }, + "regions": { + "SS": { + "name": "San Salvador", + "days": { + "08-03": { + "name": { + "es": "Fiestas Agostinas" + } + }, + "08-05": { + "name": { + "es": "Fiestas Agostinas" + } + } + } + } + } + }, + "SX": { + "names": { + "en": "Sint Maarten" + }, + "langs": [ + "nl" + ], + "zones": [ + "America/Curacao" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-27": { + "name": { + "nl": "Koningsdag", + "en": "King's Day" + } + }, + "04-30 if Sunday then next Tuesday prior to 2017": { + "name": { + "nl": "Carnaval", + "en": "Carnival" + } + }, + "04-30 if Saturday then previous Friday if Sunday then next Tuesday since 2017": { + "name": { + "nl": "Carnaval", + "en": "Carnival" + } + }, + "05-01 if Sunday then next Monday": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 49": { + "_name": "easter 49" + }, + "07-01": { + "name": { + "nl": "Emancipatiedag", + "en": "Emancipation Day" + } + }, + "10-09": { + "_name": "Constitution Day" + }, + "11-11": { + "name": { + "en": "Sint Maarten Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "SZ": { + "names": { + "ss": "Eswatini", + "en": "Swaziland" + }, + "langs": [ + "ss", + "en" + ], + "zones": [ + "Africa/Johannesburg" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-19 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Birthday of King Mswati III" + } + }, + "04-25 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Flag Day" + } + }, + "05-01 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "07-22 and if Saturday, Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Birthday of the late King Sobhuza" + } + }, + "1st Monday in September": { + "name": { + "ss": "Umhlanga Reed Dance", + "en": "Umhlanga Reed Dance" + } + }, + "09-06 and if Saturday, Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day", + "name": { + "ss": "Somhlolo Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26 and if Sunday then next Monday": { + "_name": "12-26" + }, + "12-28 P6D": { + "name": { + "ss": "Incwala", + "en": "Incwala Festival" + } + } + } + }, + "TC": { + "names": { + "en": "Turks & Caicos Islands" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Grand_Turk" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Saturday, Sunday then next Monday": { + "_name": "01-01" + }, + "2nd Monday in March": { + "name": { + "en": "Commonwealth Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "1st Monday before 06-01": { + "name": { + "en": "National Heroes' Day" + } + }, + "2nd Monday after 06-02": { + "name": { + "en": "Queen's Birthday" + } + }, + "1st Monday in August": { + "name": { + "en": "Emancipation Day" + } + }, + "1st Friday before 10-01": { + "name": { + "en": "National Youth Day" + } + }, + "2nd Monday in October": { + "name": { + "en": "National Heritage Day" + } + }, + "4th Friday in November": { + "name": { + "en": "National Day of Thanksgiving" + } + }, + "12-25 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-26" + } + } + }, + "TD": { + "names": { + "ar": "جمهورية تشاد", + "fr": "République du Tchad", + "en": "Chad" + }, + "langs": [ + "ar", + "fr" + ], + "zones": [ + "Africa/Ndjamena" + ], + "dayoff": "sunday", + "days": { + "01-01 and if sunday then next monday": { + "_name": "01-01" + }, + "05-01 and if sunday then next monday": { + "_name": "05-01" + }, + "08-11 and if sunday then next monday": { + "name": { + "fr": "Fête Nationale (Indépendance)", + "en": "Independence Day" + } + }, + "12-01 and if sunday then next monday": { + "name": { + "fr": "Journée de la libération et de la démocratie", + "en": "Freedom and Democracy Day" + } + }, + "11-01": { + "_name": "11-01" + }, + "11-28": { + "name": { + "fr": "Anniversaire de la Proclamation de la République", + "en": "Proclamation of the Republic" + } + }, + "12-25": { + "_name": "12-25" + }, + "easter 1": { + "_name": "easter 1" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "TG": { + "names": { + "fr": "République togolaise", + "en": "Togolese Republic" + }, + "dayoff": "sunday", + "langs": [ + "fr" + ], + "zones": [ + "Africa/Abidjan" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-13": { + "name": { + "fr": "Jour de la libération", + "en": "Liberation Day" + } + }, + "04-27": { + "_name": "Independence Day" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "easter 50": { + "_name": "easter 50" + }, + "06-21": { + "name": { + "fr": "Journée des Martyrs", + "en": "Day of the Martyrs" + } + }, + "08-15": { + "_name": "08-15" + }, + "11-01": { + "_name": "11-01" + }, + "12-25": { + "_name": "12-25" + }, + "13 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "2 Shawwal": { + "_name": "1 Shawwal" + }, + "11 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "TN": { + "names": { + "ar": "الجمهورية التونسية", + "fr": "République tunisienne", + "en": "Tunisia" + }, + "langs": [ + "ar", + "fr" + ], + "zones": [ + "Africa/Tunis" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "01-14": { + "name": { + "fr": "Fête de la Révolution et de la Jeunesse", + "ar": "عيد الثورة و الشباب" + } + }, + "03-20": { + "name": { + "fr": "Fête de l'indépendance", + "ar": "عيد الإستقلال" + } + }, + "04-09": { + "name": { + "fr": "Journée des Martyrs", + "ar": "عيد الشهداء" + } + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal" + }, + "1 Muharram": { + "_name": "1 Muharram" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "05-01": { + "_name": "05-01" + }, + "07-25": { + "name": { + "fr": "Fête de la République", + "ar": "عيد الجمهورية" + } + }, + "08-13": { + "name": { + "fr": "Fête de la Femme et de la Famille", + "ar": "عيد المرأة" + } + }, + "10-15": { + "name": { + "fr": "Fête de l'Évacuation", + "ar": "عيد الجلاء" + } + } + } + }, + "TO": { + "names": { + "to": "Puleʻanga Fakatuʻi ʻo Tonga", + "en": "Tonga" + }, + "langs": [ + "to", + "en" + ], + "zones": [ + "Pacific/Tongatapu" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-25": { + "name": { + "en": "ANZAC Day" + } + }, + "06-04 if thursday,friday,saturday,sunday then next monday and if tuesday then previous monday": { + "name": { + "en": "Emancipation Day" + } + }, + "07-04": { + "name": { + "en": "Official Birthday of His Majesty King Tupou VI" + } + }, + "09-17 if thursday,friday,saturday,sunday then next monday and if tuesday then previous monday": { + "name": { + "en": "Birthday of His Royal Highness The Crown Prince Tupotoʻa-ʻUlukalala" + } + }, + "11-04 if thursday,friday,saturday,sunday then next monday and if tuesday then previous monday": { + "_name": "Constitution Day", + "name": { + "en": "Constitutional Day" + } + }, + "12-04 if thursday,friday,saturday,sunday then next monday and if tuesday then previous monday": { + "name": { + "en": "Tupou I Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + }, + "TR": { + "names": { + "tr": "Türkiye", + "en": "Turkey" + }, + "dayoff": "saturday", + "langs": [ + "tr" + ], + "zones": [ + "Europe/Istanbul" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "04-23": { + "name": { + "en": "National Sovereignty and Children's Day", + "tr": "Ulusal Egemenlik ve Çocuk Bayramı" + } + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Labour and Solidarity Day", + "tr": "Emek ve Dayanışma Günü" + } + }, + "05-19": { + "name": { + "en": "Commemoration of Atatürk, Youth and Sports Day", + "tr": "Atatürk'ü Anma Gençlik ve Spor Bayramı" + } + }, + "07-15": { + "name": { + "en": "Democracy and National Unity Day", + "tr": "Demokrasi ve Millî Birlik Günü" + } + }, + "08-30": { + "name": { + "en": "Victory Day", + "tr": "Zafer Bayramı" + } + }, + "10-29": { + "name": { + "en": "Republic Day", + "tr": "Cumhuriyet Bayramı" + } + }, + "1 Shawwal PT90H": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah PT114H": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "TT": { + "names": { + "en": "Trinidad & Tobago" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1", + "type": "observance" + }, + "03-30 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Spiritual Baptist Liberation Day" + } + }, + "easter 60": { + "_name": "easter 60" + }, + "05-30 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Indian Arrival Day" + } + }, + "06-19 and if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "08-01 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Emancipation Day" + } + }, + "08-31 and if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "09-24 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Republic Day" + } + }, + "12-25 and if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Sunday then next Monday": { + "substitute": true, + "_name": "12-26" + }, + "1 Shawwal and if Sunday then next Monday": { + "substitute": true, + "_name": "1 Shawwal" + }, + "2012-11-13": { + "_name": "Deepavali" + }, + "2013-11-03": { + "_name": "Deepavali" + }, + "2013-11-04": { + "substitute": true, + "_name": "Deepavali" + }, + "2014-10-23": { + "_name": "Deepavali" + }, + "2015-11-11": { + "_name": "Deepavali" + }, + "2016-10-29": { + "_name": "Deepavali" + }, + "2017-10-19": { + "_name": "Deepavali" + }, + "2018-11-07": { + "_name": "Deepavali" + }, + "2019-10-27": { + "_name": "Deepavali" + }, + "2019-10-28": { + "substitute": true, + "_name": "Deepavali" + }, + "2020-11-14": { + "_name": "Deepavali" + }, + "2021-11-04": { + "_name": "Deepavali" + }, + "2022-10-24": { + "_name": "Deepavali" + }, + "2023-11-12": { + "_name": "Deepavali" + }, + "2023-11-13": { + "substitute": true, + "_name": "Deepavali" + }, + "2024-10-31": { + "_name": "Deepavali" + }, + "2025-10-20": { + "_name": "Deepavali" + }, + "2026-11-08": { + "_name": "Deepavali" + }, + "2026-11-09": { + "substitute": true, + "_name": "Deepavali" + }, + "2027-10-28": { + "_name": "Deepavali" + }, + "2028-10-17": { + "_name": "Deepavali" + }, + "2029-11-05": { + "_name": "Deepavali" + }, + "2030-10-25": { + "_name": "Deepavali" + } + } + }, + "TW": { + "names": { + "zh": "中華民國", + "en": "Taiwan" + }, + "langs": [ + "zh" + ], + "zones": [ + "Asia/Taipei" + ], + "dayoff": "", + "days": { + "01-01 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "01-01", + "name": { + "zh": "中華民國開國紀念日 / 元旦", + "en": "Founding of the Republic of China" + } + }, + "chinese 01-0-00": { + "name": { + "en": "Chinese New Year's Eve", + "zh": "農曆除夕" + } + }, + "chinese 01-0-01": { + "name": { + "en": "Chinese New Year", + "zh": "農曆年初一" + } + }, + "chinese 01-0-01 if Monday then next Friday if Tuesday then next Saturdayif Wednesday then next Sunday if Thursday then next Monday if Friday then next Tuesday if Saturday then next Wednesday if Sunday then next Thursday": { + "name": { + "en": "Chinese New Year Holiday", + "zh": "农历新年假期" + } + }, + "chinese 01-0-02": { + "name": { + "en": "The second day of the Chinese New Year", + "zh": "農曆年初二" + } + }, + "chinese 01-0-03": { + "name": { + "en": "The third day of the Chinese New Year", + "zh": "農曆年初三" + } + }, + "chinese 01-0-04": { + "name": { + "en": "The forth day of the Chinese New Year", + "zh": "農曆年初四" + } + }, + "02-28 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Peace Memorial Day", + "zh": "228和平紀念日" + } + }, + "04-04 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Children's Day", + "zh": "兒童節" + } + }, + "chinese 5-01 solarterm and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Tomb Sweeping Day", + "zh": "淸明節" + } + }, + "chinese 05-0-05 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Dragon Boat Festival", + "zh": "端午節" + } + }, + "chinese 08-0-15 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Mid-Autumn Festival", + "zh": "中秋節" + } + }, + "10-10 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Day / Double Tenth Day", + "zh": "國慶日 / 雙十節" + } + }, + "02-04": { + "name": { + "en": "Farmer's Day", + "zh": "農民節" + }, + "type": "observance" + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "03-12": { + "name": { + "en": "Arbor Day", + "zh": "國父逝世紀念日" + }, + "type": "observance" + }, + "03-29": { + "name": { + "en": "Youth Day", + "zh": "靑年節" + }, + "type": "observance" + }, + "05-01 and if Saturday then previous Friday if Sunday then next Monday": { + "substitute": true, + "_name": "05-01", + "name": { + "zh": "勞動節" + }, + "type": "observance", + "note": "private sector" + }, + "05-04": { + "name": { + "en": "Literary Day", + "zh": "文藝節" + }, + "type": "observance" + }, + "2nd Sunday in May": { + "_name": "Mothers Day", + "name": { + "zh": "母親節" + }, + "type": "observance" + }, + "06-03": { + "name": { + "en": "Opium Suppression Movement Day", + "zh": "禁菸節" + }, + "type": "observance" + }, + "08-08": { + "_name": "Fathers Day", + "name": { + "zh": "父親節" + }, + "type": "observance" + }, + "09-01": { + "name": { + "en": "Journalist' Day", + "zh": "記者節" + }, + "type": "observance" + }, + "09-03": { + "name": { + "en": "Armed Forces Day", + "zh": "軍人節" + }, + "type": "observance" + }, + "09-28": { + "name": { + "en": "Teachers' Day", + "zh": "孔子誕辰紀念日" + }, + "type": "observance" + }, + "10-21": { + "name": { + "en": "Overseas Chinese Day", + "zh": "華僑節" + }, + "type": "observance" + }, + "10-25": { + "name": { + "en": "Taiwan Retrocession Day", + "zh": "臺灣光復節" + }, + "type": "observance" + }, + "11-12": { + "name": { + "en": "Sun Yat-sen's Birthday", + "zh": "國父誕辰紀念日" + }, + "note": "Also Doctors' Day and Cultural Renaissance Day", + "type": "observance" + }, + "december solstice": { + "name": { + "en": "Dongzhi Festival", + "zh": "冬至" + }, + "type": "observance" + }, + "12-25": { + "name": { + "en": "Constitution Day", + "zh": "行憲紀念日" + }, + "type": "observance" + }, + "chinese 01-0-15": { + "name": { + "en": "Lantern Festival", + "zh": "元宵節" + }, + "type": "observance" + }, + "chinese 01-0-15 #1": { + "name": { + "en": "Tourism Day", + "zh": "觀光節" + }, + "type": "observance" + }, + "chinese 02-0-02": { + "name": { + "en": "Earth God's Birthday", + "zh": "土地公誕辰" + }, + "type": "observance" + }, + "chinese 02-0-19": { + "name": { + "en": "Kuan Yin's Birthday", + "zh": "觀音誕辰" + }, + "type": "observance" + }, + "chinese 03-0-15": { + "name": { + "en": "God of Medicine's Birthday", + "zh": "保生大帝誕辰" + }, + "type": "observance" + }, + "chinese 03-0-23": { + "name": { + "en": "Matsu's Birthday", + "zh": "媽祖誕辰" + }, + "type": "observance" + }, + "chinese 04-0-08": { + "name": { + "en": "Buddha's Birthday", + "zh": "佛誕日" + }, + "type": "observance" + }, + "chinese 05-0-13": { + "name": { + "en": "Kuan Kung's Birthday", + "zh": "關公誕辰" + }, + "type": "observance" + }, + "chinese 05-0-13 #1": { + "name": { + "en": "Cheng Huang's Birthday", + "zh": "城隍爺誕辰" + }, + "type": "observance" + }, + "chinese 07-0-07": { + "name": { + "en": "Qixi Festival", + "zh": "七夕" + }, + "type": "observance" + }, + "chinese 07-0-15": { + "name": { + "en": "Ghost Festival", + "zh": "中元節" + }, + "type": "observance" + }, + "chinese 09-0-09": { + "name": { + "en": "Double Ninth Festival", + "zh": "重陽節" + }, + "type": "observance" + }, + "chinese 10-0-15": { + "name": { + "en": "Saisiat Festival", + "zh": "賽夏節" + }, + "type": "observance" + } + } + }, + "TZ": { + "names": { + "en": "Tanzania" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-02": { + "name": { + "en": "Zanzibar Revolution Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-07": { + "name": { + "en": "Karume Day" + } + }, + "04-26": { + "name": { + "en": "Union Day" + } + }, + "05-01": { + "_name": "05-01" + }, + "07-07": { + "name": { + "en": "Saba Saba Day" + } + }, + "08-08": { + "name": { + "en": "Nane Nane Day" + } + }, + "10-14": { + "name": { + "en": "Nyerere Day" + } + }, + "12-09": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-25" + }, + "1 Shawwal P2D": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + }, + "12 Rabi al-awwal": { + "_name": "12 Rabi al-awwal", + "name": { + "en": "Maulid Day" + } + } + } + }, + "UA": { + "names": { + "uk": "Україна", + "en": "Ukraine" + }, + "langs": [ + "uk" + ], + "zones": [ + "Europe/Kiev", + "Europe/Uzhgorod", + "Europe/Zaporozhye" + ], + "dayoff": "sunday", + "days": { + "01-01 and if saturday, sunday then next tuesday": { + "_name": "01-01", + "name": { + "en": "New Year" + }, + "substitute": true + }, + "01-02 and if saturday, sunday then next monday": { + "_name": "01-01", + "name": { + "en": "New Year" + }, + "substitute": true + }, + "julian 12-25 and if saturday, sunday then next monday": { + "_name": "julian 12-25", + "substitute": true + }, + "03-08 and if saturday, sunday then next monday": { + "_name": "03-08" + }, + "orthodox and if sunday then next monday": { + "_name": "orthodox" + }, + "orthodox 49 and if sunday then next monday": { + "_name": "easter 49" + }, + "05-01 and if saturday, sunday then next tuesday": { + "_name": "05-01", + "substitute": true + }, + "05-02 and if saturday, sunday then next monday": { + "_name": "05-01", + "substitute": true + }, + "05-09 and if saturday, sunday then next monday": { + "name": { + "uk": "День перемоги над нацизмом у Другій світовій війні", + "en": "Victory Day" + }, + "substitute": true + }, + "06-28 and if saturday, sunday then next monday": { + "_name": "Constitution Day", + "substitute": true + }, + "08-24 and if saturday, sunday then next monday": { + "_name": "Independence Day", + "substitute": true + }, + "10-14 and if saturday, sunday then next monday": { + "name": { + "uk": "День захисника України", + "en": "Defender of Ukraine Day" + }, + "substitute": true, + "active": [ + { + "from": "2015-03-05" + } + ] + } + } + }, + "UG": { + "names": { + "en": "Uganda" + }, + "dayoff": "sundays", + "langs": [ + "en", + "sw" + ], + "zones": [ + "Africa/Nairobi" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-26": { + "name": { + "en": "Liberation Day" + } + }, + "02-16": { + "name": { + "en": "Archbishop Janan Luwum Day" + } + }, + "03-08": { + "_name": "03-08" + }, + "easter -46": { + "_name": "easter -46", + "type": "observance" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "06-03": { + "name": { + "en": "Martyr's Day" + } + }, + "06-09": { + "name": { + "en": "National Heroes Day" + } + }, + "10-09": { + "_name": "Independence Day" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "US": { + "names": { + "en": "United States of America" + }, + "dayoff": "sunday", + "zones": [ + "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/Metlakatla", + "America/Anchorage", + "America/Juneau", + "America/Sitka", + "America/Yakutat", + "America/Nome", + "America/Adak", + "Pacific/Honolulu" + ], + "langs": [ + "en-us", + "en" + ], + "days": { + "01-01 and if sunday then next monday if saturday then previous friday": { + "substitute": true, + "_name": "01-01" + }, + "3rd monday in January": { + "name": { + "en": "Martin Luther King Jr. Day", + "es": "Natalicio de Martin Luther King, Jr." + } + }, + "3rd monday in February": { + "name": { + "en": "Washington's Birthday", + "es": "Día de los Presidentes" + } + }, + "02-14": { + "_name": "02-14", + "type": "observance" + }, + "03-17": { + "name": { + "en": "St. Patrick's Day" + }, + "type": "observance" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-15 if friday then next monday if saturday,sunday then next tuesday": { + "name": { + "en": "Tax Day" + }, + "type": "observance" + }, + "wednesday before 04-28": { + "name": { + "en": "Administrative Professionals Day" + }, + "type": "observance" + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "monday before 06-01": { + "name": { + "en": "Memorial Day", + "es": "Recordación de los Muertos de la Guerra" + } + }, + "06-19 and if sunday then next monday if saturday then previous friday since 2021": { + "substitute": true, + "name": { + "en": "Juneteenth" + } + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "07-04 and if sunday then next monday if saturday then previous friday": { + "substitute": true, + "_name": "Independence Day" + }, + "1st monday in September": { + "_name": "05-01" + }, + "2nd monday in October": { + "name": { + "en": "Columbus Day", + "es": "Descubrimiento de América" + } + }, + "10-31 18:00": { + "name": { + "en": "Halloween" + }, + "type": "observance" + }, + "11-11": { + "name": { + "en": "Veterans Day", + "es": "Día del Veterano" + } + }, + "substitutes 11-11 if sunday then next monday if saturday then previous friday": { + "substitute": true, + "name": { + "en": "Veterans Day", + "es": "Día del Veterano" + }, + "type": "bank", + "note": "Federal Government offices are closed" + }, + "tuesday after 1st monday in November every 4 years since 1848": { + "name": { + "en": "Election Day" + }, + "type": "observance" + }, + "4th thursday in November": { + "name": { + "en": "Thanksgiving Day", + "es": "Acción de Gracias" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving Day", + "es": "Dia despues Acción de Gracias" + }, + "type": "observance" + }, + "12-24": { + "_name": "12-24", + "type": "optional" + }, + "12-25 and if sunday then next monday if saturday then previous friday": { + "substitute": true, + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + }, + "states": { + "AL": { + "name": "Alabama", + "zones": [ + "America/Chicago" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Robert E. Lee/Martin Luther King Birthday" + } + }, + "3rd monday in February": { + "name": { + "en": "George Washington/Thomas Jefferson Birthday" + } + }, + "4th monday in April": { + "name": { + "en": "Confederate Memorial Day" + } + }, + "1st monday in June": { + "name": { + "en": "Jefferson Davis' birthday" + } + } + } + }, + "AK": { + "name": "Alaska", + "zones": [ + "America/Anchorage", + "America/Metlakatla", + "America/Juneau", + "America/Sitka", + "America/Yakutat", + "America/Nome" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "monday before April": { + "name": { + "en": "Seward's Day" + } + }, + "2nd monday in October": { + "name": { + "en": "Columbus Day" + }, + "active": [ + { + "to": "2017-01-01" + } + ] + }, + "2nd monday in October #1": { + "name": { + "en": "Indigenous Peoples' Day" + }, + "active": [ + { + "from": "2017-01-01" + } + ] + }, + "10-18": { + "name": { + "en": "Alaska Day" + } + } + } + }, + "AZ": { + "name": "Arizona", + "zones": [ + "America/Phoenix", + "America/Denver" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Dr. Martin Luther King Jr./ Civil Rights Day" + } + }, + "3rd monday in February": { + "name": { + "en": "Lincoln/Washington Presidents' Day" + } + } + } + }, + "AR": { + "name": "Arkansas", + "zones": [ + "America/Chicago" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Dr. Martin Luther King Jr./Robert E. Lee's Birthdays" + } + }, + "3rd monday in February": { + "name": { + "en": "George Washington's Birthday/Daisy Gatson Bates Day" + } + }, + "12-24": { + "_name": "12-24" + } + } + }, + "CA": { + "name": "California", + "zones": [ + "America/Los_Angeles" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "2nd monday in October": false, + "02-15": { + "type": "observance", + "name": { + "en": "Susan B. Anthony Day" + } + }, + "03-31 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "César Chávez Day" + } + }, + "05-19": { + "type": "observance", + "name": { + "en": "Malcolm X Day" + } + }, + "05-23": { + "type": "observance", + "name": { + "en": "Harvey Milk Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving Day" + }, + "type": "public" + } + }, + "regions": { + "LA": { + "name": "Los Angeles", + "days": { + "08-24": { + "name": { + "en": "Kobe Bryant Day" + }, + "type": "observance", + "active": [ + { + "from": 2016 + } + ] + } + } + } + } + }, + "CO": { + "name": "Colorado", + "zones": [ + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington-Lincoln Day" + } + }, + "2nd monday in October": { + "type": "observance" + } + } + }, + "CT": { + "name": "Connecticut", + "zones": [ + "America/New_York" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + }, + "easter -2": { + "_name": "easter -2" + } + } + }, + "DE": { + "name": "Delaware", + "days": { + "2nd monday in October": false, + "3rd monday in February": false, + "easter -2": { + "_name": "easter -2" + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day After Thanksgiving" + } + }, + "tuesday after 1st monday in November in even years": { + "name": { + "en": "Election Day" + } + } + } + }, + "DC": { + "name": "District of Columbia", + "days": { + "04-16": { + "name": { + "en": "Emancipation Day" + } + } + } + }, + "FL": { + "name": "Florida", + "days": { + "2nd monday in October": false, + "3rd monday in February": false, + "02-15": { + "name": { + "en": "Susan B. Anthony Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day After Thanksgiving" + } + } + } + }, + "GA": { + "name": "Georgia", + "days": { + "3rd monday in February": false, + "monday before 05-01 #1": { + "name": { + "en": "Confederate Memorial Day" + }, + "active": [ + { + "to": "2016-01-01" + } + ] + }, + "monday before 05-01 #2": { + "name": { + "en": "State Holiday" + }, + "note": "Known as Confederate Memorial Day prior to 2016", + "active": [ + { + "from": "2016-01-01" + } + ] + }, + "friday after 4th thursday in November #1": { + "name": { + "en": "Robert E. Lee's Birthday" + }, + "note": "General Lee was born on 1807-01-19 but this holiday was traditionally observed the day after Thanksgiving.", + "active": [ + { + "to": "2016-01-01" + } + ] + }, + "friday after 4th thursday in November #2": { + "name": { + "en": "State Holiday" + }, + "note": "Known as Robert E. Lee's Birtday prior to 2016", + "active": [ + { + "from": "2016-01-01" + } + ] + }, + "12-24": { + "name": { + "en": "Washington's Birthday" + } + }, + "substitutes 12-24 if wednesday then next friday": { + "substitute": true, + "name": { + "en": "Washington's Birthday" + } + } + } + }, + "HI": { + "name": "Hawaii", + "zones": [ + "Pacific/Honolulu" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "03-26 and if saturday then previous friday if sunday then next monday": { + "substitute": true, + "name": { + "en": "Prince Jonah Kuhio Kalanianaole Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "06-11 and if saturday then previous friday if sunday then next monday": { + "substitute": true, + "name": { + "en": "Kamehameha Day" + } + }, + "3rd friday in August": { + "name": { + "en": "Statehood Day" + } + }, + "2nd monday in October": false, + "tuesday after 1st monday in November in even years": { + "name": { + "en": "General Election Day" + } + } + } + }, + "ID": { + "name": "Idaho", + "zones": [ + "America/Boise", + "America/Los_Angeles" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Martin Luther King, Jr./ Idaho Human Rights Day" + } + }, + "3rd monday in February": { + "name": { + "en": "President's Day" + } + } + } + }, + "IL": { + "name": "Illinois", + "zones": [ + "America/Chicago" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + }, + "1st monday in March": { + "name": { + "en": "Casimir Pulaski Day" + } + }, + "05-19": { + "name": { + "en": "Malcolm X Day" + } + }, + "tuesday after 1st monday in November in even years": { + "name": { + "en": "Election Day" + } + } + } + }, + "IN": { + "name": "Indiana", + "zones": [ + "America/Indiana/Indianapolis", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Indiana/Marengo", + "America/Indiana/Petersburg", + "America/Indiana/Vevay", + "America/Indiana/Tell_City", + "America/Indiana/Knox" + ], + "days": { + "easter -2": { + "_name": "easter -2" + }, + "tuesday after 1st monday in May": { + "name": { + "en": "Primary Election Day" + } + }, + "tuesday after 1st monday in November": { + "name": { + "en": "Election Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Lincoln's Birthday" + } + } + } + }, + "IA": { + "name": "Iowa", + "zones": [ + "America/Chicago" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + } + } + }, + "KS": { + "name": "Kansas", + "zones": [ + "America/Chicago", + "America/Denver" + ], + "days": { + "3rd monday in February": false + } + }, + "KY": { + "name": "Kentucky", + "zones": [ + "America/Kentucky/Louisville", + "America/Kentucky/Monticello" + ], + "days": { + "3rd monday in February": false, + "easter -2 14:00": { + "_name": "easter -2" + }, + "12-24": { + "_name": "12-24" + }, + "12-31": { + "_name": "12-31" + } + } + }, + "LA": { + "name": "Louisiana", + "zones": [ + "America/Chicago" + ], + "days": { + "easter -2": { + "_name": "easter -2" + }, + "tuesday after 1st monday in November in even years": { + "name": { + "en": "Election Day" + } + } + }, + "regions": { + "NO": { + "name": "New Orleans", + "days": { + "easter -47": { + "_name": "easter -47", + "name": { + "en": "Mardi Gras" + } + } + } + } + } + }, + "ME": { + "name": "Maine", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington's Birthday/President's Day" + } + }, + "3rd monday in April": { + "name": { + "en": "Patriots' Day" + } + } + } + }, + "MD": { + "name": "Maryland", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "friday before 1st monday before 06-01": { + "name": { + "en": "Service Reduction Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Native American Heritage Day" + } + } + } + }, + "MA": { + "name": "Massachusetts", + "zones": [ + "America/New_York" + ], + "days": { + "03-17": { + "name": { + "en": "Evacuation Day" + } + }, + "3rd monday in April": { + "name": { + "en": "Patriots' Day" + } + }, + "06-17": { + "name": { + "en": "Bunker Hill Day" + } + } + } + }, + "MI": { + "name": "Michigan", + "zones": [ + "America/Detroit", + "America/Menominee" + ], + "days": { + "12-24": { + "_name": "12-24" + }, + "12-31": { + "_name": "12-31" + } + } + }, + "MN": { + "name": "Minnesota", + "zones": [ + "America/Chicago" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington's and Lincoln's Birthday" + } + }, + "2nd monday in October": { + "name": { + "en": "Columbus Day" + }, + "active": [ + { + "to": "2017-01-01" + } + ] + }, + "2nd monday in October #1": { + "name": { + "en": "Indigenous Peoples’ Day" + }, + "active": [ + { + "from": "2017-01-01" + } + ] + } + } + }, + "MS": { + "name": "Mississippi", + "zones": [ + "America/Chicago" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Martin Luther King's and Robert E. Lee's Birthdays" + } + }, + "monday before 05-01": { + "name": { + "en": "Confederate Memorial Day" + } + } + } + }, + "MO": { + "name": "Missouri", + "zones": [ + "America/Chicago" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + }, + "05-08": { + "name": { + "en": "Truman Day" + } + } + } + }, + "MT": { + "name": "Montana", + "zones": [ + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Lincoln's and Washington's Birthday" + } + }, + "tuesday after 1st monday in November": { + "name": { + "en": "Election Day" + } + }, + "12-24": { + "_name": "12-24" + }, + "12-31": { + "_name": "12-31" + } + } + }, + "NE": { + "name": "Nebraska", + "zones": [ + "America/Chicago", + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "friday before 05-01": { + "name": { + "en": "Arbor Day" + } + } + } + }, + "NV": { + "name": "Nevada", + "zones": [ + "America/Los_Angeles" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents Day" + } + }, + "2nd monday in October": false, + "08-09": { + "name": { + "en": "Indigenous Peoples' Day" + }, + "active": [ + { + "from": "2017-01-01" + } + ], + "type": "observance" + }, + "friday before 11-01": { + "name": { + "en": "Nevada Day" + } + }, + "4th friday in November": { + "name": { + "en": "Family Day" + } + } + } + }, + "NH": { + "name": "New Hampshire", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in January": { + "name": { + "en": "Martin Luther King, Jr./ Civil Rights Day" + } + }, + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "2nd monday in October": { + "type": "observance" + }, + "tuesday after 1st monday in November in even years": { + "name": { + "en": "Election Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving" + } + } + } + }, + "NJ": { + "name": "New Jersey", + "zones": [ + "America/New_York" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + }, + "3rd monday in February": { + "name": { + "en": "Presidents Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "tuesday after 1st monday in November": { + "name": { + "en": "Election Day" + } + } + } + }, + "NM": { + "name": "New Mexico", + "zones": [ + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving" + } + } + } + }, + "NY": { + "name": "New York", + "zones": [ + "America/New_York" + ], + "days": { + "02-12": { + "name": { + "en": "Lincoln's Birthday" + } + }, + "02-15": { + "name": { + "en": "Susan B. Anthony Day" + } + }, + "tuesday after 1st monday in November": { + "name": { + "en": "Election Day" + } + } + } + }, + "NC": { + "name": "North Carolina", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": false, + "2nd monday in October": false, + "easter -2": { + "_name": "easter -2" + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving" + } + }, + "12-24 and if friday then previous thursday if saturday,sunday then previous friday": { + "substitute": true, + "_name": "12-24" + } + } + }, + "ND": { + "name": "North Dakota", + "zones": [ + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/North_Dakota/Beulah" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + } + } + }, + "OH": { + "name": "Ohio", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington-Lincoln Day" + } + } + } + }, + "OK": { + "name": "Oklahoma", + "zones": [ + "America/Chicago" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving" + } + } + } + }, + "OR": { + "name": "Oregon", + "zones": [ + "America/Los_Angeles" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents Day" + } + } + } + }, + "PA": { + "name": "Pennsylvania", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "06-14": { + "name": { + "en": "Flag Day" + } + } + } + }, + "RI": { + "name": "Rhode Island", + "zones": [ + "America/New_York" + ], + "days": { + "2nd monday in August": { + "name": { + "en": "Victory Day" + } + } + } + }, + "SC": { + "name": "South Carolina", + "zones": [ + "America/New_York" + ], + "days": { + "05-10": { + "name": { + "en": "Confederate Memorial Day" + } + }, + "12-26": { + "_name": "12-26" + } + } + }, + "SD": { + "name": "South Dakota", + "zones": [ + "America/Chicago", + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "2nd monday in October": { + "name": { + "en": "Columbus Day" + }, + "active": [ + { + "to": "2015-01-01" + } + ] + }, + "2nd monday in October #1": { + "name": { + "en": "Native American Day" + }, + "active": [ + { + "from": "2015-01-01" + } + ] + } + } + }, + "TN": { + "name": "Tennessee", + "zones": [ + "America/Chicago", + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "12-24": { + "_name": "12-24" + } + } + }, + "TX": { + "name": "Texas", + "zones": [ + "America/Chicago", + "America/Denver" + ], + "days": { + "01-19": { + "name": { + "en": "Confederate Heroes Day" + }, + "type": "observance", + "note": "state agencies are partially staffed" + }, + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "03-02": { + "name": { + "en": "Texas Independence Day" + }, + "type": "observance", + "note": "state agencies are partially staffed" + }, + "03-31": { + "name": { + "en": "Cesar Chavez Day" + }, + "type": "observance" + }, + "easter -2": { + "_name": "easter -2", + "type": "observance" + }, + "04-21": { + "name": { + "en": "San Jacinto Day" + }, + "type": "observance", + "note": "state agencies are partially staffed" + }, + "06-19": { + "name": { + "en": "Emancipation Day In Texas" + }, + "type": "observance", + "note": "state agencies are partially staffed" + }, + "08-27": { + "name": { + "en": "Lyndon Baines Johnson Day" + }, + "type": "observance", + "note": "state agencies are partially staffed" + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving" + } + }, + "12-24": { + "_name": "12-24" + }, + "12-26": { + "_name": "12-26", + "name": { + "en": "Day after Christmas" + } + } + } + }, + "UT": { + "name": "Utah", + "zones": [ + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Washington and Lincoln Day" + } + }, + "07-24": { + "name": { + "en": "Pioneer Day" + } + } + } + }, + "VT": { + "name": "Vermont", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + }, + "1st tuesday in March": { + "name": { + "en": "Town Meeting Day" + } + }, + "3rd monday in August": { + "name": { + "en": "Bennington Battle Day" + } + }, + "2nd monday in October": { + "name": { + "en": "Columbus Day" + }, + "active": [ + { + "to": "2017-09-01" + } + ] + }, + "2nd monday in October #1": { + "name": { + "en": "Indigenous Peoples' Day" + }, + "active": [ + { + "from": "2017-09-01" + } + ] + } + } + }, + "VA": { + "name": "Virginia", + "zones": [ + "America/New_York" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "George Washington Day" + } + }, + "friday before 3rd monday in January": { + "name": { + "en": "Lee–Jackson Day" + } + } + } + }, + "WA": { + "name": "Washington", + "zones": [ + "America/Los_Angeles" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "Presidents' Day" + } + } + } + }, + "WV": { + "name": "West Virginia", + "zones": [ + "America/New_York" + ], + "days": { + "02-15": { + "name": { + "en": "Susan B. Anthony Day" + } + }, + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "06-20": { + "name": { + "en": "West Virginia Day" + } + }, + "4th friday in November": { + "name": { + "en": "Lincoln's Day" + } + } + } + }, + "WI": { + "name": "Wisconsin", + "zones": [ + "America/Chicago" + ], + "days": { + "02-15": { + "name": { + "en": "Susan B. Anthony Day" + } + }, + "2nd tuesday in September": { + "name": { + "en": "Primary Election Day" + } + }, + "tuesday after 1st monday in November": { + "name": { + "en": "Election Day" + } + } + } + }, + "WY": { + "name": "Wyoming", + "zones": [ + "America/Denver" + ], + "days": { + "3rd monday in February": { + "name": { + "en": "President's Day" + } + } + } + } + } + }, + "UY": { + "names": { + "es": "Uruguay", + "en": "Uruguay" + }, + "dayoff": "sunday", + "langs": [ + "es" + ], + "zones": [ + "America/Montevideo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "type": "observance" + }, + "easter -48": { + "name": { + "en": "Carnival", + "es": "Carnaval" + }, + "type": "observance" + }, + "easter -47": { + "_name": "easter -47", + "type": "observance" + }, + "easter -6 P5D": { + "name": { + "en": "Tourism Week", + "es": "Semana de Turismo" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "04-19 if tuesday,wednesday then previous monday if thursday,friday then next monday": { + "name": { + "en": "Landing of the 33 Orientals", + "es": "Desembarco de los 33 Orientales" + }, + "type": "observance" + }, + "05-01": { + "_name": "05-01" + }, + "05-18 if tuesday,wednesday then previous monday if thursday,friday then next monday": { + "name": { + "en": "Battle of Las Piedras", + "es": "Batalla de las Piedras" + }, + "type": "observance" + }, + "06-19": { + "name": { + "en": "Birthday of José Gervasio Artigas and Never Again Day", + "es": "Natalicio de Artigas y Día del Nunca Más" + }, + "type": "observance" + }, + "07-18": { + "_name": "Constitution Day" + }, + "08-25": { + "_name": "Independence Day" + }, + "10-12 if tuesday,wednesday then previous monday if thursday,friday then next monday": { + "name": { + "en": "Columbus Day", + "es": "Día de la Raza" + }, + "type": "observance" + }, + "11-02": { + "_name": "11-02", + "type": "observance" + }, + "12-24": { + "_name": "12-24", + "type": "observance" + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31", + "type": "observance" + } + } + }, + "VA": { + "names": { + "it": "Stato della Città del Vaticano", + "la": "Status Civitatis Vaticanae", + "en": "Vatican City" + }, + "langs": [ + "it" + ], + "zones": [ + "Europe/Rome" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "name": { + "en": "Solemnity of Mary, Mother of God", + "it": "Maria Santissima Madre di Dio" + } + }, + "01-06": { + "name": { + "en": "Epiphany", + "it": "Epifania del Signore" + } + }, + "02-11": { + "name": { + "en": "Anniversary of the foundation of Vatican City", + "it": "Anniversario della istituzione dello Stato della Città del Vaticano" + } + }, + "03-19": { + "_name": "03-19" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 39": { + "_name": "easter 39", + "active": [ + { + "to": 2009 + } + ] + }, + "easter 60": { + "_name": "easter 60", + "active": [ + { + "to": 2009 + } + ] + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Saint Joseph the Worker", + "it": "San Giuseppe lavoratore" + } + }, + "06-29": { + "_name": "06-29" + }, + "08-15": { + "_name": "08-15", + "name": { + "it": "Assunzione di Maria in Cielo" + } + }, + "09-08": { + "name": { + "en": "Nativity of Mary", + "it": "Festa della natività della madonna" + } + }, + "11-01": { + "_name": "11-01" + }, + "12-08": { + "_name": "12-08" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + }, + "10-16": { + "name": { + "en": "Anniversary of the election of Pope John Paul II", + "it": "Anniversario dell'Elezione del Santo Padre" + }, + "active": [ + { + "from": 1978, + "to": 2005 + } + ] + }, + "11-04": { + "name": { + "en": "Saint Charles Borromeo - Name day of the Holy Father", + "it": "San Carlo Borromeo - Onomastico del Santo Padre" + }, + "note": "Name day of Pope John Paul II (Karol Józef Wojtyła)", + "active": [ + { + "from": 1978, + "to": 2005 + } + ] + }, + "04-19": { + "name": { + "en": "Anniversary of the election of Pope Benedict XVI", + "it": "Anniversario dell'Elezione del Santo Padre" + }, + "active": [ + { + "from": 2005, + "to": 2013 + } + ] + }, + "03-19#1": { + "name": { + "en": "Saint Joseph - Name day of the Holy Father", + "it": "San Giuseppe - Onomastico del Santo Padre" + }, + "note": "Name day of Pope Benedict XVI (Josef Ratzinger)", + "active": [ + { + "from": 2005, + "to": 2013 + } + ] + }, + "03-13": { + "name": { + "en": "Anniversary of the election of Pope Francis", + "it": "Anniversario dell'Elezione del Santo Padre" + }, + "active": [ + { + "from": 2013 + } + ] + }, + "04-23": { + "name": { + "en": "Saint George - Name day of the Holy Father", + "it": "San Giorgio - Onomastico del Santo Padre" + }, + "note": "Name day of Pope Francis (Jorge Mario Bergoglio)", + "active": [ + { + "from": 2013 + } + ] + } + } + }, + "VC": { + "names": { + "en": "St. Vincent & Grenadines" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "01-01" + }, + "03-14 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "National Hero′s Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if Sunday then next Monday": { + "substitute": true, + "_name": "05-01" + }, + "easter 50": { + "_name": "easter 50" + }, + "1st Monday in July": { + "name": { + "en": "Carnival Monday" + }, + "disable": [ + "2021-06-05" + ], + "enable": [ + "2021-09-06" + ] + }, + "Tuesday after 1st Monday in July": { + "name": { + "en": "Carnival Tuesday" + }, + "disable": [ + "2021-06-06" + ], + "enable": [ + "2021-09-07" + ] + }, + "08-01 and if Sunday then next Monday": { + "substitute": true, + "name": { + "en": "Emancipation Day" + } + }, + "10-27 and if Sunday then next Monday": { + "substitute": true, + "_name": "Independence Day" + }, + "12-25 and if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Sunday then next Monday": { + "substitute": true, + "_name": "12-26" + } + } + }, + "VE": { + "names": { + "es": "Venezuela", + "en": "Venezuela" + }, + "dayoff": "sundays", + "langs": [ + "es" + ], + "zones": [ + "America/Caracas" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "01-06": { + "_name": "01-06", + "type": "observance" + }, + "01-15": { + "name": { + "es": "Día del Maestro", + "en": "Teacher's Day" + }, + "type": "optional", + "note": "teachers only" + }, + "03-19": { + "_name": "03-19", + "type": "observance" + }, + "easter -48": { + "name": { + "en": "Carnival", + "es": "Carnaval" + } + }, + "easter -47": { + "_name": "easter -47" + }, + "easter -6 P7D": { + "name": { + "en": "Holy Week", + "es": "Semana Santa" + }, + "type": "observance" + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter" + }, + "04-19": { + "name": { + "en": "Declaration of Independence", + "es": "Declaración de la Independencia" + } + }, + "05-01": { + "_name": "05-01" + }, + "06-24": { + "name": { + "en": "Battle of Carabobo", + "es": "Aniversario de la Batalla de Carabobo" + } + }, + "07-05": { + "_name": "Independence Day" + }, + "07-24": { + "name": { + "en": "Birthday of Simón Bolívar", + "es": "Natalicio de Simón Bolívar" + } + }, + "08-03": { + "name": { + "en": "Flag Day", + "es": "Día de la Bandera" + }, + "type": "observance" + }, + "09-11": { + "name": { + "en": "Our Lady of Coromoto", + "es": "Día de Nuestra Señora de Coromoto" + }, + "type": "observance" + }, + "10-12": { + "name": { + "en": "Day of Indigenous Resistance", + "es": "Día de la resistencia indígena" + } + }, + "11-01": { + "_name": "11-01", + "type": "observance" + }, + "11-02": { + "_name": "11-02", + "type": "observance" + }, + "12-08": { + "_name": "12-08", + "type": "observance" + }, + "12-10": { + "name": { + "en": "Venezuelan Air Force Day", + "es": "Día de la Aviación Nacional" + }, + "type": "observance" + }, + "12-24": { + "_name": "12-24" + }, + "12-25": { + "_name": "12-25" + }, + "12-31": { + "_name": "12-31" + } + }, + "states": { + "B": { + "name": "Anzoátegui", + "days": { + "11-14": { + "name": { + "es": "Natalicio de José Antonio Anzoátegui" + } + } + } + }, + "G": { + "name": "Carabobo", + "days": { + "11-13": { + "name": { + "es": "Día de la Virgen del Socorro" + } + } + } + }, + "K": { + "name": "Lara", + "days": { + "01-14": { + "name": { + "es": "Día de La Divina Pastora" + } + }, + "05-28": { + "name": { + "es": "Natalicio de Jacinto Lara" + } + } + }, + "regions": { + "BA": { + "name": "Barquisimeto", + "days": { + "09-14": { + "name": { + "es": "Día de Barquisimeto" + } + } + } + } + } + }, + "M": { + "name": "Miranda", + "days": { + "03-19": { + "_name": "03-19" + } + } + }, + "N": { + "name": "Monagas", + "days": { + "12-07": { + "name": { + "es": "Día de Maturin" + } + } + } + }, + "S": { + "name": "Táchira", + "days": { + "08-15": { + "_name": "08-15", + "name": { + "es": "Día de la Virgen de Consolación" + } + } + } + }, + "V": { + "name": "Zulia", + "days": { + "10-24": { + "name": { + "es": "Natalicio de Rafael Urdaneta" + } + }, + "11-18": { + "name": { + "es": "Día de la Virgen de la Chinita" + } + } + } + } + } + }, + "VG": { + "names": { + "en": "British Virgin Islands" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "Monday before 03-08": { + "name": { + "en": "The Anniversary of the Birth of Hamilton Lavity Stoutt" + } + }, + "2nd Monday in March": { + "name": { + "en": "Commonwealth Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "easter 49": { + "_name": "easter 49", + "type": "observance" + }, + "easter 50": { + "_name": "easter 50" + }, + "2nd Saturday after 06-02 prior to 2020": { + "name": { + "en": "Sovereign’s Birthday" + }, + "disable": [ + "2017-06-10", + "2019-06-15" + ], + "enable": [ + "2017-06-17", + "2019-06-07" + ] + }, + "2nd Friday after 06-02 since 2020": { + "name": { + "en": "Sovereign’s Birthday" + } + }, + "07-01 if Sunday,Thursday then next Monday if Saturday then previous Friday if Tuesday,Wednesday then previous Monday": { + "name": { + "en": "Virgin Islands Day" + } + }, + "10-21 if Sunday then next Monday if Saturday then previous Friday if Tuesday,Wednesday then previous Monday if Thursday then next Friday": { + "name": { + "en": "St. Ursula’s Day" + }, + "disable": [ + "2016-10-23", + "2020-10-19", + "2021-10-22" + ], + "enable": [ + "2016-10-19", + "2020-10-23" + ] + }, + "1st Monday in August": { + "name": { + "en": "Emancipation Monday" + } + }, + "Tuesday after 1st Monday in August": { + "name": { + "en": "Emancipation Tuesday" + } + }, + "Wednesday after 1st Monday in August": { + "name": { + "en": "Emancipation Wednesday" + } + }, + "2021-10-18": { + "name": { + "en": "Heroes’ and Forefathers Day" + } + }, + "2021-11-08": { + "name": { + "en": "Commemoration of the Great March of 1949" + } + }, + "12-25 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-25" + }, + "12-26 and if Saturday then next Monday if Sunday then next Tuesday": { + "substitute": true, + "_name": "12-26" + } + } + }, + "VI": { + "names": { + "en": "U.S. Virgin Islands" + }, + "langs": [ + "en" + ], + "zones": [ + "America/Port_of_Spain" + ], + "dayoff": "sunday", + "_days": "US", + "days": { + "01-06": { + "_name": "01-06", + "name": { + "en": "Three Kings Day" + } + }, + "3rd monday in February": { + "name": { + "en": "President's Day" + } + }, + "03-17": false, + "03-31": { + "name": { + "en": "Transfer Day" + } + }, + "easter -3": { + "_name": "easter -3" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "07-03": { + "name": { + "en": "Emancipation Day" + } + }, + "4th Monday in July": { + "name": { + "en": "Hurricane Supplication Day" + } + }, + "2nd monday in October": { + "name": { + "en": "Virgin Islands–Puerto Rico Friendship Day" + } + }, + "10-25": { + "name": { + "en": "Hurricane Thanksgiving" + }, + "type": "observance" + }, + "friday after 4th thursday in November": { + "name": { + "en": "Day after Thanksgiving Day" + }, + "type": "school" + } + } + }, + "VN": { + "names": { + "vi": "Cộng hòa Xã hội chủ nghĩa Việt Nam", + "en": "Vietnam" + }, + "dayoff": "", + "langs": [ + "vi" + ], + "zones": [ + "Asia/Ho_Chi_Minh", + "Asia/Bangkok" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "vietnamese 1-0-1": { + "name": { + "en": "Vietnamese New Year", + "vi": "Tết Nguyên Đán" + } + }, + "1 day before vietnamese 1-0-1 P5D": { + "name": { + "en": "Vietnamese New Year Holidays", + "vi": "Giao thừa Tết Nguyên Đán" + } + }, + "vietnamese 3-0-10": { + "name": { + "en": "Hung Kings Commemorations", + "vi": "Giỗ tổ Hùng Vương" + } + }, + "04-30": { + "name": { + "en": "Day of liberating the South for national reunification", + "vi": "Ngày Giải phóng miền Nam" + } + }, + "05-01": { + "_name": "05-01" + }, + "09-02": { + "name": { + "en": "National Day", + "vi": "Quốc khánh" + } + }, + "02-03": { + "name": { + "en": "Communist Party of Viet Nam Foundation Anniversary", + "vi": "Ngày thành lập Đảng" + }, + "type": "observance" + }, + "03-08": { + "_name": "03-08", + "type": "observance" + }, + "04-21": { + "name": { + "en": "Vietnam Book Day", + "vi": "Ngày Sách Việt Nam" + }, + "type": "observance" + }, + "05-07": { + "name": { + "en": "Dien Bien Phu Victory Day", + "vi": "Ngày Chiến thắng Điện Biện Phủ" + }, + "type": "observance" + }, + "05-19": { + "name": { + "en": "President Ho Chi Minh's Birthday", + "vi": "Ngày sinh Chủ tịch Hồ Chí Minh" + }, + "type": "observance" + }, + "06-01": { + "name": { + "en": "International Children's Day", + "vi": "Ngày quốc tế Thiếu nhi" + }, + "type": "observance" + }, + "06-28": { + "name": { + "en": "Vietnamese Family Day", + "vi": "Ngày Gia đình Việt Nam" + }, + "type": "observance" + }, + "07-27": { + "name": { + "en": "Remembrance Day", + "vi": "Ngày Thương Binh Liệt Sĩ" + }, + "type": "observance" + }, + "08-19": { + "name": { + "en": "August Revolution Commemoration Day", + "vi": "Ngày cách mạng Tháng Tám" + }, + "type": "observance" + }, + "10-10": { + "name": { + "en": "Capital Liberation Day", + "vi": "Ngày giải phóng Thủ Đô" + }, + "type": "observance" + }, + "10-20": { + "name": { + "en": "Vietnamese Women's Day", + "vi": "Ngày Phụ nữ Việt Nam" + }, + "type": "observance" + }, + "11-20": { + "name": { + "en": "Vietnamese Teacher's Day", + "vi": "Ngày Nhà giáo Việt Nam" + }, + "type": "observance" + }, + "12-22": { + "name": { + "en": "National Defence Day", + "vi": "Ngày hội Quốc phòng Toàn dân" + }, + "type": "observance" + }, + "vietnamese 1-0-5": { + "name": { + "en": "Victory of Ngọc Hồi-Đống Đa", + "vi": "Chiến thắng Ngọc Hồi - Đống Đa" + }, + "type": "observance" + }, + "vietnamese 1-0-15": { + "name": { + "en": "Lantern Festival", + "vi": "Tết Nguyên Tiêu" + }, + "type": "observance" + }, + "vietnamese 4-0-15": { + "name": { + "en": "Buddha's Birthday", + "vi": "Lễ Phật đản" + }, + "type": "observance" + }, + "vietnamese 5-0-5": { + "name": { + "en": "Mid-year Festival", + "vi": "Tết Đoan ngọ" + }, + "type": "observance" + }, + "vietnamese 7-0-15": { + "name": { + "en": "Ghost Festival", + "vi": "Rằm Tháng Bảy, Vu Lan" + }, + "type": "observance" + }, + "vietnamese 8-0-15": { + "name": { + "en": "Mid-Autumn Festival", + "vi": "Tết Trung thu" + }, + "type": "observance" + }, + "vietnamese 12-0-23": { + "name": { + "en": "Kitchen guardians", + "vi": "Ông Táo chầu trời" + }, + "type": "observance" + } + } + }, + "VU": { + "names": { + "en": "Vanuatu", + "fr": "République de Vanuatu" + }, + "langs": [ + "fr", + "en", + "bi" + ], + "zones": [ + "Pacific/Efate" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "02-21": { + "name": "Mémoire du père de l'indépendance Rév. Dr. W.H. Lini" + }, + "02-22": { + "_name": "Public Holiday" + }, + "03-05": { + "name": "Fête des chefs coutumiers" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01": { + "_name": "05-01" + }, + "easter 39": { + "_name": "easter 39" + }, + "07-24": { + "name": "Journée Mondiale des Enfants" + }, + "07-30": { + "_name": "Independence Day" + }, + "08-15": { + "_name": "08-15" + }, + "08-16": { + "_name": "Public Holiday" + }, + "10-05": { + "_name": "Constitution Day" + }, + "10-29": { + "name": "Jour de l'Unité" + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "name": "Fête de Famille" + }, + "12-27": { + "_name": "Public Holiday" + } + } + }, + "XK": { + "names": { + "sq": "Republika e Kosovës", + "sr": "Република Косово", + "en": "Kosovo" + }, + "langs": [ + "sq", + "sr" + ], + "zones": [ + "Europe/Belgrade" + ], + "dayoff": "sunday", + "days": { + "01-01": { + "_name": "01-01" + }, + "julian 12-25": { + "_name": "julian 12-25" + }, + "02-17": { + "_name": "Independence Day" + }, + "04-09": { + "_name": "Constitution Day" + }, + "easter": { + "_name": "easter" + }, + "orthodox": { + "_name": "orthodox" + }, + "05-01": { + "_name": "05-01" + }, + "05-09": { + "_name": "05-09" + }, + "12-25": { + "_name": "12-25" + }, + "1 Shawwal": { + "_name": "1 Shawwal" + }, + "10 Dhu al-Hijjah": { + "_name": "10 Dhu al-Hijjah" + } + } + }, + "YT": { + "names": { + "fr": "Mayotte", + "en": "Mayotte" + }, + "langs": [ + "fr" + ], + "zones": [ + "Africa/Nairobi" + ], + "dayoff": "sunday", + "_days": "FR", + "days": { + "04-27": { + "_name": "Abolition of Slavery" + } + } + }, + "ZA": { + "names": { + "en": "South Africa" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Johannesburg" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "substitutes 01-01 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "03-21": { + "name": { + "en": "Human Rights Day" + } + }, + "substitutes 03-21 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1", + "name": { + "en": "Family Day" + } + }, + "04-27": { + "name": { + "en": "Freedom Day" + } + }, + "substitutes 04-27 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "05-01": { + "_name": "05-01", + "name": { + "en": "Workers' Day" + } + }, + "substitutes 05-01 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "06-16": { + "name": { + "en": "Youth Day" + } + }, + "substitutes 06-16 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "08-09": { + "name": { + "en": "National Women's Day" + } + }, + "substitutes 08-09 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "07-18": { + "name": { + "en": "Nelson Mandela Day" + }, + "type": "observance" + }, + "09-24": { + "name": { + "en": "Heritage Day" + } + }, + "substitutes 09-24 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "12-16": { + "name": { + "en": "Day of Reconciliation" + } + }, + "substitutes 12-16 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26", + "name": { + "en": "Day of Goodwill" + } + }, + "substitutes 12-26 if sunday then next monday": { + "name": { + "en": "Public Holiday" + } + } + } + }, + "ZM": { + "names": { + "en": "Zambia" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01 and if sunday then next monday": { + "substitute": true, + "_name": "01-01" + }, + "03-09": { + "name": { + "en": "Women’s Day" + } + }, + "03-12 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "Youth Day" + } + }, + "easter -2": { + "_name": "easter -2" + }, + "easter 1": { + "_name": "easter 1" + }, + "05-01 and if sunday then next monday": { + "substitute": true, + "_name": "05-01" + }, + "05-25 and if sunday then next monday": { + "substitute": true, + "name": { + "en": "African Freedom Day" + } + }, + "1st monday in July": { + "name": { + "en": "Heroes' Day" + } + }, + "tuesday after 1st monday in July": { + "name": { + "en": "Unity Day" + } + }, + "1st monday in August": { + "name": { + "en": "Farmers' Day" + } + }, + "2015-10-18": { + "name": { + "en": "National day of Prayers" + } + }, + "10-24 and if sunday then next monday": { + "substitute": true, + "_name": "Independence Day" + }, + "12-25 and if sunday then next monday": { + "substitute": true, + "_name": "12-25" + } + } + }, + "ZW": { + "names": { + "sn": "Nyika yeZimbabwe", + "nd": "iRiphabhuliki yeZimbabwe", + "xh": "iRiphubliki eyeZimbabwe", + "kck": "Nyika yeZimbabwe", + "en": "Zimbabwe" + }, + "dayoff": "sunday", + "langs": [ + "en" + ], + "zones": [ + "Africa/Maputo" + ], + "days": { + "01-01": { + "_name": "01-01" + }, + "easter -2": { + "_name": "easter -2" + }, + "easter": { + "_name": "easter", + "type": "observance" + }, + "easter 1": { + "_name": "easter 1" + }, + "04-18": { + "_name": "Independence Day" + }, + "05-01": { + "_name": "05-01" + }, + "05-25": { + "name": { + "en": "Africa Day" + } + }, + "2nd sunday in May": { + "_name": "Mothers Day", + "type": "observance" + }, + "3rd sunday in June": { + "_name": "Fathers Day", + "type": "observance" + }, + "2nd monday in August": { + "name": { + "en": "Heroes' Day" + } + }, + "2nd tuesday in August": { + "name": { + "en": "Defence Forces Day" + } + }, + "12-22": { + "name": { + "en": "Unity Day" + } + }, + "12-25": { + "_name": "12-25" + }, + "12-26": { + "_name": "12-26" + } + } + } + }, + "names": { + "01-01": { + "name": { + "en": "New Year's Day", + "am": "እንቁጣጣሽ", + "ar": "عيد رأس السنة", + "az": "Yeni il", + "be": "Новы год", + "bg": "Нова Година", + "bs": "Novogodisnji dan", + "ca": "Any nou", + "cz": "Nový rok", + "da": "Nytår", + "de": "Neujahr", + "el": "Πρωτοχρονιά", + "es": "Año Nuevo", + "et": "uusaasta", + "fi": "Uudenvuodenpäivä", + "fil": "Araw ng Bagong Taon", + "fo": "Nýggjársdagur", + "fr": "Nouvel An", + "ge": "ახალი წელი", + "hr": "Nova godina", + "hu": "Újév", + "hy": "Ամանոր", + "id": "Hari tahun baru", + "it": "Capodanno", + "is": "Nýársdagur", + "jp": "元日", + "kl": "ukiortaaq", + "ko": "신정", + "lt": "Naujieji metai", + "lv": "Jaunais Gads", + "mg": "Taom-baovao", + "mk": "Нова Година", + "ms": "Hari Tahun Baru", + "mt": "L-Ewwel tas-Sena", + "nl": "Nieuwjaar", + "no": "Første nyttårsdag", + "pap": "Aña Nobo", + "pl": "Nowy Rok", + "pt": "Ano Novo", + "ro": "Anul nou", + "ru": "Новый год", + "sl": "Novo leto", + "sq": "Viti i Ri", + "sr": "Нова година", + "sv": "Nyårsdagen", + "sw": "Mwaka mpya", + "ti": "ሓዲሽ ዓመት", + "tr": "Yılbaşı", + "uk": "Новий Рік", + "vi": "Tết Dương lịch", + "zh": "元旦" + } + }, + "01-06": { + "name": { + "en": "Epiphany", + "am": "ብርሐነ ጥምቀት", + "da": "Åbenbaring", + "de": "Heilige Drei Könige", + "de-ch": "Dreikönigstag", + "es": "Día de los Reyes Magos", + "et": "kolmekuningapäev", + "fi": "Loppiainen", + "fr": "l'Épiphanie", + "el": "Θεοφάνεια", + "hr": "Bogojavljenje, Sveta tri kralja", + "hu": "Vízkereszt", + "it": "Befana", + "is": "Þrettándinn", + "nl": "Driekoningen", + "mk": "Богојавление", + "pl": "Święto Trzech Króli", + "sk": "Zjavenie Pána", + "sv": "Trettondedag jul", + "ti": "ጥምቀት", + "vi": "Lễ Hiển Linh" + } + }, + "02-02": { + "name": { + "en": "Candlemas", + "de": "Lichtmess", + "hu": "Gyertyaszentelő Boldogasszony", + "nl": "Lichtmis", + "vi": "Lễ Đức Mẹ dâng Chúa Giêsu trong đền thánh" + } + }, + "02-14": { + "name": { + "en": "Valentine's Day", + "de": "Valentinstag", + "fr": "Saint-Valentin", + "hu": "Valentin nap", + "nl": "Valentijnsdag", + "vi": "Lễ tình nhân" + } + }, + "03-08": { + "name": { + "en": "International Women's Day", + "az": "Qadınlar günü", + "be": "Мiжнародны жаночы дзень", + "bg": "Ден на жената", + "de": "Internationaler Frauentag", + "fr": "Journée internationale des femmes", + "ge": "ქალთა საერთაშორისო დღე", + "hu": "Nemzetközi nőnap", + "hy": "Կանանց տոն", + "nl": "Internationale Vrouwendag", + "pt": "Dia Internacional da Mulher", + "ro": "Ziua Internationala a Femeii", + "ru": "Международный женский день", + "sl": "Mednarodni dan žena", + "uk": "Міжнародний жіночий день", + "vi": "Quốc tế Phụ nữ", + "zh": "国际妇女节", + "ti": "መዓልቲ ኣነስቲ" + } + }, + "03-19": { + "name": { + "en": "Saint Joseph", + "de-at": "Josefitag", + "de": "Josefstag", + "es": "San José", + "it": "San Giuseppe", + "mt": "San Ġużepp", + "nl": "Hoogfeest van de Heilige Jozef", + "vi": "Kính Thánh Giuse" + } + }, + "04-01": { + "name": { + "en": "April Fools' Day", + "hu": "Bolondok napja", + "nl": "1 April", + "sq": "Dita e Gënjeshtrave", + "vi": "Cá tháng tư" + } + }, + "05-01": { + "name": { + "en": "Labour Day", + "en-us": "Labor Day", + "ar": "يوم العمال", + "be": "Дзень працы", + "bg": "Ден на труда", + "bs": "Radni dan", + "cz": "Svátek práce", + "da": "1. maj", + "de": "Tag der Arbeit", + "el": "Εργατική Πρωτομαγιά", + "es": "Día del trabajador", + "et": "kevadpüha", + "fi": "Vappu", + "fil": "Araw ng mga Manggagawa", + "fr": "Fête du travail", + "hr": "Praznik rada", + "hu": "A munka ünnepe", + "hy": "Աշխատանքի օր", + "id": "Hari Buruh Internasional", + "it": "Festa del Lavoro", + "is": "Hátíðisdagur Verkamanna", + "lt": "Tarptautinė darbo diena", + "lv": "Darba svētki", + "nl": "Dag van de Arbeid", + "no": "Arbeidernes dag", + "mg": "Fetin'ny asa", + "mk": "Ден на трудот", + "ms": "Hari Pekerja", + "mt": "Jum il-Ħaddiem", + "pap": "Dia di Obrero", + "pl": "Święto Pracy", + "pt": "Dia do trabalhador", + "ro": "Ziua muncii", + "sk": "Sviatok práce", + "sl": "Praznik dela", + "sq": "Dita Ndërkombëtare e Punonjësve", + "sr": "Празник рада", + "sv": "Första Maj", + "ti": "የላብ አደሮች ቀን", + "uk": "День міжнародної солідарності трудящих", + "vi": "Quốc tế Lao động", + "zh": "劳动节" + } + }, + "05-09": { + "name": { + "en": "Europe Day", + "bg": "Денят на Европа", + "cs": "Den Evropy", + "da": "Europadagen", + "de": "Europatag", + "el": "Ημέρα της Ευρώπης", + "es": "Día de Europa", + "et": "Euroopa päev", + "fi": "Eurooppa-päivä", + "fr": "Journée de l'Europe", + "ga": "Lá na hEorpa", + "hr": "Dan Europe", + "hu": "Európa-nap", + "it": "Festa dell'Europa", + "ls": "Dan Evrope", + "lt": "Europos diena", + "lv": "Eiropas diena", + "mt": "Jum l-Ewropa", + "nl": "Dag van Europa ou Europadag", + "pl": "Dzień Europy", + "pt": "Dia da Europa", + "ro": "Ziua Europei", + "sk": "Deň Európy", + "sq": "Dita e Evropës", + "sv": "Europadagen" + } + }, + "06-29": { + "name": { + "en": "Saints Peter and Paul", + "de": "Peter und Paul", + "es": "San Pedro y San Pablo", + "fr": "Saint Pierre et Paul", + "it": "Santi Pietro e Paolo", + "mt": "L-Imnarja", + "nl": "Hoogfeest van Petrus en Paulus", + "vi": "Lễ kính Thánh Phêrô" + } + }, + "08-15": { + "name": { + "en": "Assumption", + "de": "Mariä Himmelfahrt", + "es": "Asunción", + "fr": "Assomption", + "el": "Κοίμηση της Θεοτόκου", + "hr": "Velika Gospa", + "it": "Ferragosto", + "lt": "Žolinė", + "mg": "Asompsiona", + "mk": "Успение на Пресвета Богородица", + "mt": "Santa Marija", + "nl": "O.L.V. Hemelvaart", + "pl": "Wniebowzięcie Najświętszej Maryi Panny", + "pt": "Assunção de Maria", + "ro": "Adormirea Maicii Domnului", + "sl": "Marijino vnebovzetje", + "sq": "Shën Mëria e Gushtit", + "vi": "Đức Mẹ Lên Trời" + } + }, + "11-01": { + "name": { + "en": "All Saints' Day", + "bs": "Dita e të gjithë Shenjtorëve", + "de": "Allerheiligen", + "es": "Todos los Santos", + "fi": "Pyhäinpäivä", + "fil": "Undás; Todos los Santos; Araw ng mga Santo", + "fr": "Toussaint", + "hr": "Svi sveti", + "hu": "Mindenszentek", + "it": "Ognissanti", + "lt": "Visų šventųjų diena", + "mg": "Fetin'ny olo-masina", + "mk": "Празникот на сите светци", + "nl": "Allerheiligen", + "pl": "Wszystkich Świętych", + "pt": "Todos os santos", + "sk": "Sviatok všetkých svätých", + "sq": "Të gjitha Saints", + "sr": "Сви Свети", + "sv": "Alla Helgons dag", + "vi": "Lễ Các Thánh" + } + }, + "11-02": { + "name": { + "en": "All Souls' Day", + "de": "Allerseelen", + "es": "Día de los Difuntos", + "et": "hingedepäev", + "fil": "Araw ng mga Kaluluwa", + "fr": "Fête des morts", + "hr": "Dušni dan", + "hu": "Halottak napja", + "nl": "Allerzielen", + "pt": "Dia de Finados", + "vi": "Lễ Các Đẳng", + "lt": "Vėlinės" + } + }, + "11-11": { + "name": { + "en": "Saint Martin", + "de": "Sankt Martin (Faschingsbeginn)", + "hu": "Márton nap", + "nl": "Sint Maarten", + "vi": "Lễ thánh Martin" + } + }, + "12-06": { + "name": { + "en": "Saint Nicholas", + "de": "Sankt Nikolaus", + "fr": "Saint-Nicolas", + "hu": "Mikulás", + "nl": "Sinterklaas", + "vi": "Thánh Saint Nicholas" + } + }, + "12-08": { + "name": { + "en": "Immaculate Conception", + "de": "Mariä Empfängnis", + "es": "La inmaculada concepción", + "fr": "Immaculée Conception", + "it": "Immacolata Concezione", + "mt": "Il-Kunċizzjoni", + "nl": "Onbevlekte Ontvangenis van Maria", + "pt": "Imaculada Conceição" + } + }, + "12-24": { + "name": { + "en": "Christmas Eve", + "bg": "Бъдни вечер", + "bs": "Badnji dan", + "cz": "Štědrý den", + "da": "Juleaften", + "de": "Heiliger Abend", + "es": "Nochebuena", + "et": "jõululaupäev", + "fo": "Jólaaftan", + "fi": "Jouluaatto", + "fil": "Bisperas ng Pasko", + "fr": "Veille de Noël", + "hr": "Badnji dan", + "hu": "Szenteste", + "is": "Aðfangadagur", + "kl": "juulliaraq", + "lt": "Šv. Kūčios", + "lv": "Ziemassvētku vakars", + "ms": "Hari Sebelum Krismas", + "nl": "Kerstavond", + "no": "Julaften", + "pt": "Noite de Natal", + "sk": "Štedrý deň", + "sq": "Nata e Krishtlindjes", + "sr": "Бадњи дан", + "sv": "Julafton", + "vi": "Đêm Giáng Sinh" + } + }, + "12-25": { + "name": { + "en": "Christmas Day", + "am": "ልደተ-ለእግዚእነ/ ገና", + "ar": "عيد الميلاد المجيد", + "bg": "Коледа", + "bn": "বড়দিন", + "bs": "Božić", + "de-at": "Christtag", + "ca": "Nadal", + "cz": "1. svátek vánoční", + "da": "Juledag", + "de": "Weihnachten", + "de-ch": "Weihnachtstag", + "el": "Χριστούγεννα", + "es": "Navidad", + "et": "esimene jõulupüha", + "fi": "Joulupäivä", + "fil": "Araw ng Pasko", + "fo": "Fyrsti jóladagur", + "fr": "Noël", + "hr": "Božić", + "hu": "Karácsony", + "hy": "Սուրբ Ծնունդ", + "id": "Hari Raya Natal", + "it": "Natale", + "is": "Jóladagur", + "jp": "ノエル", + "kl": "juullerujussuaq", + "ko": "기독탄신일", + "lt": "Šv. Kalėdos", + "lv": "Ziemassvētki", + "mg": "Krismasy", + "mk": "Католички Божиќ", + "ms": "Hari Krismas", + "mt": "Il-Milied", + "nl": "Kerstmis", + "no": "Første Juledag", + "pap": "Dia Pasco di Nascimento", + "pl": "Pierwszy dzień Bożego Narodzenia", + "pt": "Natal", + "ro": "Crăciunul", + "ru": "Рождество Христово", + "sk": "Prvý sviatok vianočný", + "sl": "Božič", + "sq": "Krishtlindja", + "sr": "Католички Божић", + "sv": "Juldagen", + "sw": "Krismasi", + "vi": "Lễ Giáng Sinh", + "ti": "ልደት", + "zh": "聖誕節" + } + }, + "12-26": { + "name": { + "en": "Boxing Day", + "bg": "2-ри ден на Коледа", + "cz": "2. svátek vánoční", + "da": "Anden Juledag", + "de": "2. Weihnachtstag", + "de-at": "Stefanitag", + "de-ch": "Stephanstag", + "el": "Δεύτερη μέρα των Χριστουγέννων", + "es": "San Esteban", + "et": "teine jõulupüha", + "fi": "2. joulupäivä", + "fo": "Fyrsti gerandisdagur eftir jóladag", + "fr": "Lendemain de Noël", + "hr": "Svetog Stjepana", + "hu": "Karácsony másnapja", + "it": "Santo Stefano", + "is": "Annar í jólum", + "kl": "juullip aappaa", + "lt": "2. Kalėdų diena", + "lv": "Otrie Ziemassvētki", + "nl": "Tweede kerstdag", + "no": "Andre juledag", + "pap": "Di dos Dia Pasco di Nascimento", + "pl": "Drugi dzień Bożego Narodzenia", + "ro": "Două zi de Crăciun", + "sk": "Druhý sviatok vianočný", + "sv": "Annandag jul", + "vi": "Ngày tặng quà" + } + }, + "12-31": { + "name": { + "en": "New Year's Eve", + "da": "Nytårsaften", + "de": "Silvester", + "es": "Fin del Año", + "fi": "Uudenvuodenaatto", + "fil": "Bisperas ng Bagong Taon", + "fo": "Nýggjársaftan", + "fr": "Saint-Sylvestre", + "hu": "Szilveszter", + "hy": "Նոր տարվա գիշեր", + "is": "Gamlársdagur", + "it": "Ultimo dell’anno", + "jp": "大晦日", + "lv": "Vecgada vakars", + "nl": "Oudejaarsavond", + "no": "Nyttårsaften", + "pt": "Véspera de Ano Novo", + "sv": "Nyårsafton", + "vi": "Đêm giao thừa" + } + }, + "easter -48": { + "name": { + "en": "Shrove Monday", + "de": "Rosenmontag", + "es": "Carnaval", + "fr": "Lundi de Carnaval", + "nl": "Carnavalmaandag", + "pap": "Dialuna di Carnaval", + "vi": "Ngày thứ hai hoa hồng" + } + }, + "easter -47": { + "name": { + "en": "Shrove Tuesday", + "es": "Carnaval", + "de": "Faschingsdienstag", + "hr": "Pokladni utorak", + "hu": "Húshagyó kedd", + "nl": "Vastenavond", + "pt": "Carnaval", + "vi": "Thứ ba mập béo" + } + }, + "easter -46": { + "name": { + "en": "Ash Wednesday", + "de": "Aschermittwoch", + "es": "Miercoles de Ceniza", + "fr": "Mercredi des Cendres", + "hu": "Hamvazószerda", + "it": "Ceneri", + "is": "Öskudagur", + "nl": "Aswoensdag", + "pt": "Quarta-feira de Cinzas", + "sw": "Jumatano ya Majivu", + "vi": "Thứ tư Lễ Tro" + } + }, + "easter -7": { + "name": { + "en": "Palm Sunday", + "de": "Palmsonntag", + "es": "Domingo de Ramos", + "hu": "Virágvasárnap", + "it": "Domenica delle Palme", + "is": "Pálmasunnudagur", + "nl": "Palmzondag", + "no": "Palmesøndag", + "vi": "Chúa nhật Lễ Lá" + } + }, + "easter -3": { + "name": { + "en": "Maundy Thursday", + "cz": "Zelený čtvrtek", + "da": "Skærtorsdag", + "de": "Gründonnerstag", + "es": "Jueves Santo", + "fil": "Huwebes Santo", + "fo": "Skírhósdagur", + "fr": "Jeudi saint", + "is": "Skírdagur", + "it": "Giovedì santo", + "kl": "sisamanngortoq illernartoq", + "nl": "Witte donderdag", + "no": "Skjærtorsdag", + "sv": "Skärtorsdagen", + "vi": "Thứ năm Tuần Thánh" + } + }, + "easter -2": { + "name": { + "en": "Good Friday", + "am": "ስቅለት", + "bg": "Разпети петък", + "bs": "Dobar petak", + "cz": "Velký pátek", + "da": "Langfredag", + "de": "Karfreitag", + "es": "Viernes Santo", + "fi": "Pitkäperjantai", + "fil": "Biyernes Santo", + "fo": "Langafríggjadagur", + "fr": "Vendredi saint", + "el": "Μεγάλη Παρασκευή", + "et": "suur reede", + "ge": "წითელი პარასკევი", + "hr": "Veliki petak", + "hu": "Nagypéntek", + "id": "Wafat Yesus Kristus", + "it": "Venerdì santo", + "is": "Föstudagurinn langi", + "kl": "tallimanngornersuaq", + "lv": "Lielā Piektdiena", + "ms": "Jumat Agung", + "mt": "Il-Ġimgħa l-Kbira", + "nl": "Goede Vrijdag", + "no": "Langfredag", + "pap": "Diabierna Santo", + "pt": "Sexta-Feira Santa", + "ro": "Vinerea Mare", + "sk": "Veľkonočný piatok", + "sq": "E Premtja e Madhe", + "sr": "Католички Велики петак", + "sv": "Långfredagen", + "sw": "Ijumaa Kuu", + "vi": "Thứ sáu Tuần Thánh", + "zh": "耶穌受難節" + } + }, + "easter -1": { + "name": { + "en": "Easter Saturday", + "cz": "Bílá sobota", + "de": "Karsamstag", + "es": "Sabado Santo", + "fil": "Sabado de Gloria", + "fr": "Samedi saint", + "ge": "დიდი შაბათი", + "hu": "Nagyszombat", + "it": "Sabado santo", + "nl": "Dag voor Pasen", + "no": "Påskeaften", + "sv": "Påskafton", + "vi": "Thứ bảy Tuần Thánh", + "zh": "耶穌受難節翌日" + } + }, + "easter": { + "name": { + "en": "Easter Sunday", + "am": "ፋሲካ", + "bg": "Великден", + "bs": "Vaskrs", + "cz": "Velikonoční neděle", + "da": "Påskesøndag", + "de": "Ostersonntag", + "el": "Πάσχα", + "es": "Pascua", + "et": "lihavõtted", + "fi": "Pääsiäispäivä", + "fil": "Pasko ng Pagkabuhay", + "fo": "Páskadagur", + "fr": "Pâques", + "ge": "აღდგომა", + "hr": "Uskrs", + "hu": "Húsvétvasárnap", + "it": "Domenica di Pasqua", + "is": "Páskadagur", + "kl": "poorskip-ullua", + "lt": "Velykos", + "lv": "Lieldienas", + "nl": "Pasen", + "no": "Første påskedag", + "pap": "Dia Pasco di Resureccion", + "pl": "Niedziela Wielkanocna", + "pt": "Páscoa", + "ro": "Paștele", + "sk": "Veľká noc", + "sl": "Velika noč", + "sq": "Pashkët Katolike", + "sr": "Католички Васкрс", + "sv": "Påskdagen", + "sw": "Pasaka", + "vi": "Lễ Phục Sinh", + "zh": "复活节" + } + }, + "easter 1": { + "name": { + "en": "Easter Monday", + "bg": "Велики понеделник", + "bs": "Uskrsni ponedjeljak", + "cz": "Velikonoční pondělí", + "da": "Anden påskedag", + "de": "Ostermontag", + "el": "Δευτέρα του Πάσχα", + "es": "Lunes de Pascua", + "fi": "2. pääsiäispäivä", + "fo": "Annar páskadagur", + "fr": "Lundi de Pâques", + "ge": "აღდგომის ორშაბათი", + "hr": "Uskršnji ponedjeljak", + "hu": "Húsvéthétfő", + "it": "Lunedì dell’Angelo", + "is": "Annar í páskum", + "kl": "poorskip-aappaa", + "lv": "Otrās Lieldienas", + "mg": "Alatsinain'ny Paska", + "mk": "вториот ден на Велигден", + "nl": "Tweede paasdag", + "no": "Andre påskedag", + "pap": "Di dos Dia Pasco di Resureccion", + "pl": "Drugi dzień Wielkanocy", + "ro": "Două zi de Pasti", + "sk": "Veľkonočný pondelok", + "sl": "Velikonočni ponedeljek", + "sr": "Католички Васкрсни понедељак", + "sv": "Annandag påsk", + "sw": "Jumatatu ya Pasaka", + "vi": "Thứ hai phục sinh", + "zh": "復活節星期一" + } + }, + "easter 39": { + "name": { + "en": "Ascension Day", + "da": "Kristi Himmelfartsdag", + "de": "Christi Himmelfahrt", + "es": "La Asunción", + "fi": "Helatorstai", + "fo": "Kristi Himmalsferðardagur", + "fr": "Ascension", + "id": "Kenaikan Yesus Kristus", + "it": "Ascensione", + "is": "Uppstigningardagur", + "kl": "qilaliarfik", + "mg": "Andro niakarana", + "nl": "O.L.H. Hemelvaart", + "no": "Kristi himmelfartsdag", + "pap": "Dia di Asuncion", + "ro": "Ziua Eroilor", + "sv": "Kristi himmelfärds dag", + "vi": "Lễ Thăng Thiên" + } + }, + "easter 49": { + "name": { + "en": "Pentecost", + "da": "Pinsedag", + "de": "Pfingstsonntag", + "el": "Πεντηκοστή", + "es": "Pentecostés", + "et": "nelipühade 1. püha", + "fi": "Helluntaipäivä", + "fo": "Hvítusunnudagur", + "fr": "Pentecôte", + "hu": "Pünkösdvasárnap", + "it": "Pentecoste", + "is": "Hvítasunnudagur", + "kl": "piinsip ullua", + "nl": "Pinksteren", + "no": "Første pinsedag", + "mk": "Духовден", + "pl": "Zielone Świątki", + "ro": "Rusaliile", + "sl": "Binkošti", + "sv": "Pingstdagen", + "uk": "Трійця", + "vi": "Lễ Chúa Thánh Thần Hiện Xuống" + } + }, + "easter 50": { + "name": { + "en": "Whit Monday", + "da": "Anden Pinsedag", + "de": "Pfingstmontag", + "el": "Αγίου Πνεύματος", + "es": "Lunes de Pentecostés", + "fo": "Annar hvítusunnudagur", + "fr": "Lundi de Pentecôte", + "hu": "Pünkösdhétfő", + "is": "Annar í hvítasunnu", + "it": "Lunedì di Pentecoste", + "kl": "piinsip aappaa", + "mg": "Alatsinain'ny Pentekosta", + "nl": "Tweede pinksterdag", + "no": "Andre pinsedag", + "ro": "Două zi de Rusalii", + "sv": "Annandag pingst" + } + }, + "easter 60": { + "name": { + "en": "Corpus Christi", + "de": "Fronleichnam", + "es": "Corpus Christi", + "fr": "la Fête-Dieu", + "it": "Corpus Domini", + "hr": "Tijelovo", + "nl": "Sacramentsdag", + "pl": "Dzień Bożego Ciała", + "pt": "Corpo de Deus", + "vi": "Lễ Mình và Máu Thánh Chúa Kitô" + } + }, + "julian 01-01": { + "name": { + "en": "Orthodox New Year", + "bs": "Pravoslavni novogodišnji dan", + "hr": "Pravoslavna Nova Godina", + "nl": "Orthodox Nieuwjaar", + "sq": "Viti i Ri Ortodoks", + "sr": "Православна Нова година" + } + }, + "julian 12-24": { + "name": { + "en": "Orthodox Christmas Eve", + "nl": "Orthodox Kerstavond", + "mk": "Бадник", + "ti": "ልደት" + } + }, + "julian 12-25": { + "name": { + "en": "Orthodox Christmas", + "bs": "Pravoslavni Božić", + "hr": "Pravoslavni Božić", + "mk": "Прв ден Божик", + "nl": "Orthodox Kerstmis", + "ro": "Craciun pe Rit Vechi", + "sq": "Krishtlindjet Ortodokse", + "sr": "Божић", + "uk": "Різдво" + } + }, + "orthodox -2": { + "name": { + "en": "Orthodox Good Friday", + "mk": "Велики Петок", + "nl": "Orthodoxe Goede vrijdag", + "sr": "Велики петак", + "ti": "ዓርቢ ስቅለት" + } + }, + "orthodox": { + "name": { + "en": "Orthodox Easter", + "bs": "Pravoslavni Vaskrs", + "hr": "Pravoslavni Uskrs", + "mk": "Прв ден Велигден", + "nl": "Orthodox Pasen", + "sq": "Pashkët Ortodokse", + "sr": "Васкрс", + "ti": "ፋሲካ", + "uk": "Великдень" + } + }, + "orthodox 1": { + "name": { + "en": "Orthodox Easter Monday", + "mk": "Втор ден Велигден", + "nl": "Orthodoxe Tweede Paasdag", + "sr": "Васкрсни понедељак" + } + }, + "1 Muharram": { + "name": { + "en": "Islamic New Year", + "ar": "رأس السنة الهجرية", + "bs": "Nova hidžretska godina", + "fil": "Unang Araw ng Muharram", + "fr": "Nouvel an islamique", + "hr": "Nova hidžretska godina", + "id": "Tahun Baru Islam", + "ms": "Awal Muharram", + "nl": "Islamitisch Nieuwjaar", + "sq": "Viti i Ri hixhri" + } + }, + "10 Muharram": { + "name": { + "en": "Day of Ashura", + "ar": "عاشوراء", + "bn": "আশুরা", + "nl": "Asjoera" + } + }, + "12 Rabi al-awwal": { + "name": { + "en": "Birthday of Muhammad (Mawlid)", + "am": "መውሊድ", + "ar": "المولد النبويّ", + "bn": "ঈদে মিলাদুন্নবী", + "bs": "Mevlud", + "fr": "Mawlid", + "id": "Maulid Nabi Muhammad", + "ms": "Hari Keputeraan Nabi Muhammad S.A.W.", + "nl": "Mawlid an-Nabi", + "sq": "Mevludi" + } + }, + "27 Rajab": { + "name": { + "en": "Laylat al-Mi'raj", + "ar": "الإسراء والمعراج", + "bs": "Lejletul Mi'radž", + "id": "Maulid Nabi Muhammad", + "ms": "Israk dan Mikraj", + "nl": "Laylat al-Miraadj", + "sq": "Nata e Miraxhit", + "tr": "Miraç Gecesi" + } + }, + "15 Shaban": { + "name": { + "en": "Laylat al-Bara'at", + "ar": "ليلة البراءة", + "bs": "Lejletul berat", + "nl": "Laylat al-Baraat", + "sq": "Nata e Beratit" + } + }, + "1 Ramadan": { + "name": { + "en": "First day of Ramadan", + "am": "ረመዳን", + "ar": "اليوم الأول من رمضان", + "bs": "Prvi dan posta", + "ms": "Awal Ramadan", + "nl": "Eerste dag van Ramadan", + "sq": "Dita e parë e agjërimit" + } + }, + "17 Ramadan": { + "name": { + "en": "Day of Nuzul Al-Quran", + "ms": "Hari Nuzul Al-Quran" + } + }, + "23 Ramadan": { + "name": { + "en": "Lailat al-Qadr" + } + }, + "27 Ramadan": { + "name": { + "en": "Laylat al-Qadr", + "ar": "لیلة القدر", + "bs": "Lejletul kadr", + "nl": "Waardevolle Nacht (Laylat al-Qadr)", + "sq": "Nata e Kadrit" + } + }, + "1 Shawwal": { + "name": { + "en": "End of Ramadan (Eid al-Fitr)", + "am": "ዒድ አል ፈጥር", + "ar": "عيد الفطر", + "az": "Ramazan Bayramı", + "bn": "ঈদুল ফিতর", + "bs": "Ramazanski bajram", + "de": "Zuckerfest", + "es": "Fiesta del Eid Fitr", + "fa": "ﻋﯿﺪ ﺳﻌﯿﺪ ﻓﻄﺮ", + "fil": "Pagwawakas ng Ramadan", + "fr": "Fête de fin du Ramadan", + "hr": "Ramazanski bajram", + "id": "Hari Raya Idul Fitri", + "nl": "Suikerfeest (Eid al-Fitr)", + "mk": "Рамазан Бајрам", + "ms": "Hari Raya Aidil Fitri", + "sq": "Fitër Bajrami", + "tr": "Ramazan Bayramı", + "sr": "Рамазански Бајрам", + "sw": "Idd-ul-Fitr" + } + }, + "9 Dhu al-Hijjah": { + "name": { + "en": "Arafat Day", + "ar": "يوم عرفة", + "es": "Fiesta del Sacrificio-Eidul Adha", + "ms": "Hari Arafah" + } + }, + "10 Dhu al-Hijjah": { + "name": { + "en": "Feast of the Sacrifice (Eid al-Adha)", + "am": "ዒድ አል አድሐ", + "ar": "عيد الأضحى", + "az": "Qurban Bayramı", + "bn": "ঈদুল আযহা", + "bs": "Kurbanski bajram", + "de": "Opferfest", + "es": "Fiesta del Sacrificio-Aid Al Adha", + "fa": "ﻋﯿﺪ ﺳﻌﯿﺪ ﻗﺮﺑﺎن", + "fil": "Eidul Adha", + "fr": "Fête du mouton", + "hr": "Kurban-bajram", + "id": "Hari Raya Idul Adha", + "nl": "Offerfeest (Eid Al-Adha)", + "mk": "Курбан Бајрам", + "ms": "Hari Raya Haji", + "sq": "Kurban Bajrami", + "tr": "Kurban Bayramı", + "sr": "Курбански Бајрам", + "sw": "Idd-ul-Azha" + } + }, + "15 Nisan": { + "name": { + "en": "Pesach", + "bs": "Pesah", + "de": "Pessach", + "hr": "Pesač", + "nl": "Pesach", + "sq": "Pesach", + "sr": "Песах" + } + }, + "1 Tishrei": { + "name": { + "en": "Rosh Hashanah", + "bs": "Roš Hašana", + "de": "Rosch Haschana", + "hr": "Roš Hašane", + "nl": "Rosj Hasjana", + "sq": "Rosh Hashanah", + "sr": "Рош Хашана" + } + }, + "10 Tishrei": { + "name": { + "en": "Yom Kippur", + "bs": "Jom Kipur", + "de": "Jom Kippur", + "hr": "Jom Kipur", + "mk": "Јом Кипур", + "nl": "Jom Kipoer", + "sq": "Yom Kippur", + "sr": "Јом Кипур" + } + }, + "Deepavali": { + "name": { + "en": "Deepavali", + "nl": "Divali" + } + }, + "Vesak": { + "name": { + "en": "Vesak Day", + "id": "Hari Raya Waisak" + } + }, + "Holi": { + "name": { + "en": "Holi Phagwa", + "nl": "Holi-Phagwa" + } + }, + "Thaipusam": { + "name": { + "en": "Thaipusam", + "ms": "Hari Thaipusam" + } + }, + "Abolition of Slavery": { + "name": { + "en": "Abolition of Slavery", + "fr": "Abolition de l’esclavage", + "nl": "Afschaffing van de slavernij", + "vi": "Bãi bỏ chế độ Nô lệ" + } + }, + "Buß- und Bettag": { + "name": { + "de": "Buß- und Bettag", + "en": "Day of Prayer and Repentance" + } + }, + "Constitution Day": { + "name": { + "en": "Constitution Day", + "da": "Grundlovsdag", + "de": "Tag der Verfassung", + "ca": "Dia de la Constitució", + "es": "Día de la Constitución", + "fil": "Araw ng Saligang Batas", + "fo": "Grundlógardagur", + "hy": "Սահմանադրության օր", + "jp": "憲法記念日", + "ko": "제헌절", + "nl": "Dag van de Grondwet", + "no": "Grunnlovsdagen", + "pt": "Dia da Constituição", + "ro": "Ziua Constituției", + "sk": "Deň Ústavy", + "sq": "Dita e Kushtetutës", + "uk": "День Конституції", + "vi": "Ngày pháp luật" + } + }, + "Fathers Day": { + "name": { + "en": "Father's Day", + "et": "isadepäev", + "fi": "Isänpäivä", + "fr": "Fête des Pères", + "lt": "Tėvo diena", + "nl": "Vaderdag", + "pt": "Dia dos Pais", + "no": "Farsdag", + "vi": "Ngày của cha" + } + }, + "Independence Day": { + "name": { + "en": "Independence Day", + "ar": "عيد الاستقلال", + "be": "Дзень Незалежнасцi", + "bg": "Ден на независимостта", + "bs": "Dan nezavisnosti", + "de": "Unabhängigkeitstag", + "es": "Día de la Independencia", + "et": "iseseisvuspäev", + "fi": "Itsenäisyyspäivä", + "fil": "Araw ng Kalayaan", + "fr": "Jour de l'Indépendance", + "hr": "Dan neovisnosti", + "hy": "Անկախության օր", + "id": "Hari Ulang Tahun Kemerdekaan Republik Indonesia", + "mk": "Ден на независноста", + "ms": "Hari Kebangsaan", + "mt": "Jum l-Indipendenza", + "nl": "Onafhankelijkheidsdag", + "pl": "Narodowe Święto Niepodległości", + "pt": "Dia da Independência", + "ro": "Ziua Independentei", + "sq": "Dita e Pavarësisë", + "sr": "Дан независности", + "sv": "Självständighetsdagen", + "sw": "Siku ya uhuru", + "ti": "መዓልቲ ናጽነት", + "uk": "День Незалежності", + "vi": "Ngày Độc lập" + } + }, + "Liberation Day": { + "name": { + "en": "Liberation Day", + "ar": "يوم التحرير", + "nl": "Bevrijdingsdag", + "no": "Frigjøringsdagen", + "sq": "Dita e Çlirimit", + "vi": "Ngày Thống nhất" + } + }, + "Mothers Day": { + "name": { + "en": "Mother's Day", + "cz": "Den matek", + "da": "Mors Dag", + "de": "Muttertag", + "el": "Γιορτή της μητέρας", + "es": "Día de la Madre", + "et": "emadepäev", + "fi": "Äitienpäivä", + "fr": "Fête des Mères", + "hr": "Majčin dan", + "hu": "Anyák napja", + "hy": "Ցեղասպանության զոհերի հիշատակի օր", + "is": "Mæðradagurinn", + "it": "Festa della mamma", + "lt": "Motinos diena", + "lv": "Mātes diena", + "nl": "Moederdag", + "no": "Morsdag", + "pt": "Dia das Mães", + "pl": "Dzień Matki", + "ro": "Ziua Mamei", + "sq": "Dita e Nënës", + "sv": "Mors dag", + "vi": "Ngày của mẹ" + } + }, + "National Holiday": { + "name": { + "en": "National Holiday", + "de": "Nationalfeiertag", + "es": "Fiesta Nacional", + "fr": "Fête nationale", + "hu": "Nemzeti ünnep", + "el": "εθνική επέτειος", + "nl": "Nationale feestdag", + "vi": "Quốc Lễ" + } + }, + "Public Holiday": { + "name": { + "en": "Public Holiday", + "fr": "Jour férié légaux", + "nl": "Wettelijke feestdag", + "pt": "Feriado Obrigatório", + "vi": "Nghỉ lễ Toàn Quốc" + } + }, + "Reformation Day": { + "name": { + "en": "Reformation Day", + "de": "Reformationstag", + "es": "Día Nacional de las Iglesias Evangélicas y Protestantes", + "nl": "Hervormingsdag", + "vi": "Kháng Cách" + } + }, + "Revolution Day": { + "name": { + "en": "Revolution Day", + "ar": "يوم الثورة", + "es": "Día de la Revolución", + "nl": "Dag van de revolutie", + "ti": "ባሕቲ መስከረም", + "vi": "Tổng khởi nghĩa" + } + }, + "Bridge Day": { + "name": { + "en": "Bridge Day", + "es": "Feriado Puente Turístico" + } + }, + "substitutes": { + "name": { + "en": "substitute day", + "az": "əvəz gün", + "bs": "zamjena dan", + "de": "Ersatztag", + "es": "día sustituto", + "fr": "jour substitut", + "hr": "zamjena dan", + "jp": "振替休日", + "lv": "aizstājējs diena", + "mk": "заменет ден", + "nl": "substituut", + "sq": "ditë zëvendësuese", + "sr": "замена дан", + "uk": "замінити день", + "vi": "ngày thay thế", + "zh": "更换日" + } + } + } +}; + +exports.data = data; + + +/***/ }), + +/***/ 740: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Holidays = __nccwpck_require__(5803); + + + +module.exports = Holidays.Holidays; + + +/***/ }), + +/***/ 1128: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('{"version":"2022e","zones":["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5","Africa/Algiers|LMT PMT WET WEST CET CEST|-c.c -9.l 0 -10 -10 -20|01232323232323232454542423234542324|-3bQ0c.c MDA2.P cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|LMT EET EEST|-25.9 -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBC5.9 1AQM5.9 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 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 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5","Africa/Ceuta|LMT WET WEST CET CEST|l.g 0 -10 -10 -20|0121212121212121212121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2M0M0 GdX0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|85e3","Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 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 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4","Africa/Johannesburg|LMT SAST SAST SAST|-1Q -1u -20 -30|0123232|-39EpQ qTcm 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|LMT MMT MMT GMT|H.8 H.8 I.u 0|0123|-3ygng.Q 1usM0 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT LMT GMT WAT|-q.U A.J 0 -10|01232|-3tooq.U 18aoq.U 4i6N0 2q00|","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|LMT PMT CET CEST|-E.I -9.l -10 -20|01232323232323232323232323232323232|-3zO0E.I 1cBAv.n 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|LMT +0130 SAST SAST CAT WAT|-18.o -1u -20 -30 -20 -10|012324545454545454545454545454545454545454545454545454|-39Ep8.o qTbC.o 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|LMT LMT NST NWT NPT BST BDT AHST HST HDT|-cd.m bK.C b0 a0 a0 b0 a0 a0 a0 90|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVzf.p 1EX1d.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|LMT LMT AST AWT APT AHST AHDT YST AKST AKDT|-e0.o 9X.A a0 90 90 a0 90 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVxs.n 1EX20.o 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Puerto_Rico|LMT AST AWT APT|4o.p 40 30 30|01231|-2Qi7z.z 1IUbz.z 7XT0 iu0|24e5","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|LMT CMT -04 -03 -02|3R.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343434343|-331U6.c 125cn pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Catamarca|LMT CMT -04 -03 -02|4n.8 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243432343|-331TA.Q 125bR.E pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Cordoba|LMT CMT -04 -03 -02|4g.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243434343|-331TH.c 125c0 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Jujuy|LMT CMT -04 -03 -02|4l.c 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232434343|-331TC.M 125bT.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|","America/Argentina/La_Rioja|LMT CMT -04 -03 -02|4r.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tw.A 125bN.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Mendoza|LMT CMT -04 -03 -02|4z.g 4g.M 40 30 20|012323232323232323232323232323232323232323234343423232432343|-331To.I 125bF.w pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|","America/Argentina/Rio_Gallegos|LMT CMT -04 -03 -02|4A.Q 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tn.8 125bD.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Salta|LMT CMT -04 -03 -02|4l.E 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342434343|-331TC.k 125bT.8 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|","America/Argentina/San_Juan|LMT CMT -04 -03 -02|4y.4 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tp.U 125bG.I pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|","America/Argentina/San_Luis|LMT CMT -04 -03 -02|4p.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232323432323|-331Ty.A 125bP.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|","America/Argentina/Tucuman|LMT CMT -04 -03 -02|4k.Q 4g.M 40 30 20|01232323232323232323232323232323232323232323434343424343234343|-331TD.8 125bT.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|","America/Argentina/Ushuaia|LMT CMT -04 -03 -02|4x.c 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tq.M 125bH.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|","America/Asuncion|LMT AMT -04 -03|3O.E 3O.E 40 30|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-3eLw9.k 1FGo0 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Panama|LMT CMT EST|5i.8 5j.A 50|012|-3eLuF.Q Iy01.s|15e5","America/Bahia_Banderas|LMT MST CST MDT PST CDT|71 70 60 60 80 50|0121312141313131313131313131313131313152525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 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 l5B0 Rb0|27e5","America/Barbados|LMT AST ADT -0330|3W.t 40 30 3u|0121213121212121|-2m4k1.v 1eAN1.v RB0 1Bz0 Op0 1rb0 11d0 1jJc0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|LMT BMT -05 -04|4U.g 4U.g 50 40|01232|-3sTv3.I 1eIo0 38yo3.I 2en0|90e5","America/Boise|LMT PST PDT MST MWT MPT MDT|7I.N 80 70 70 60 60 60|01212134536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-3tFE0 1nEe0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 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 11A0 1nX0 2K0 WQ0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 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|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|LMT CMT -0430 -04|4r.I 4r.E 4u 40|012323|-3eLvw.g ROnX.U 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Chicago|LMT CST CDT EST CWT CPT|5O.A 60 50 50 50 50|012121212121212121212121212121212121213121212121214512121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST MDT CDT|74.k 70 60 60 50|0121312424231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|LMT SJMT CST CDT|5A.d 5A.d 60 50|01232323232|-3eLun.L 1fyo0 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Phoenix|LMT MST MDT MWT|7s.i 70 60 60|012121313121|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 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 4a10 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|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 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 DC0|8","America/Dawson_Creek|LMT PST PDT PWT PPT MST|80.U 80 70 70 70 70|01213412121212121212121212121212121212121212121212121212125|-3tofX.4 1nspX.4 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|LMT YST YDT YWT YPT YDDT PST PDT MST|9h.E 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeG.k GWpG.k 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 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 1z90|13e2","America/Denver|LMT MST MDT MWT MPT|6X.U 70 60 60 60|012121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFF0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 4Q00 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|LMT PST PDT PWT PPT MST|8a.L 80 70 70 70 70|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121215|-3tofN.d 1nspN.d 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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|39e2","America/Fort_Wayne|LMT CST CDT CWT CPT EST EDT|5I.C 60 50 50 50 50 40|0121212134121212121212121212151565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|17e3","America/Goose_Bay|LMT NST NDT NST NDT NWT NPT AST ADT ADDT|41.E 3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|0121343434343434356343434343434343434343434343434343434343437878787878787878787878787878787878787878787879787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-3tojW.k 1nspt.c 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 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 1zcX 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|LMT KMT EST EDT AST|4I.w 57.a 50 40 40|01232323232323232323232323232323232323232323232323232323232323232323232323243232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLvf.s RK0m.C 2HHBQ.O 1cL0 1cN0 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 7jA0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|LMT QMT -05 -04|5j.k 5e 50 40|01232|-3eLuE.E 1DNzS.E 2uILK rz0|27e5","America/Guyana|LMT -04 -0345 -03|3Q.D 40 3J 30|01231|-2mf87.l 8Hc7.l 2r7bJ Ey0f|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|LMT HMT CST CDT|5t.s 5t.A 50 40|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLuu.w 1qx00.8 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 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 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST MDT PST|7n.Q 70 60 60 80|0121312141313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|LMT CST CDT CWT CPT EST|5K.u 60 50 50 50 50|01212134121212121212121212121212121212151212121212121212121212121212121212121212121212121252121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Marengo|LMT CST CDT CWT CPT EST EDT|5J.n 60 50 50 50 50 40|01212134121212121212121215656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Petersburg|LMT CST CDT CWT CPT EST EDT|5N.7 60 50 50 50 50 40|01212134121212121212121212121512121212121212121212125212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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|","America/Indiana/Tell_City|LMT CST CDT CWT CPT EST EDT|5L.3 60 50 50 50 50 40|012121341212121212121212121512165652121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vevay|LMT CST CDT CWT CPT EST EDT|5E.g 60 50 50 50 50 40|0121213415656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vincennes|LMT CST CDT CWT CPT EST EDT|5O.7 60 50 50 50 50 40|01212134121212121212121212121212156565212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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|","America/Indiana/Winamac|LMT CST CDT CWT CPT EST EDT|5K.p 60 50 50 50 50 40|012121341212121212121212121212121212121565652165656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 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 11C0 1nX0 11A0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|LMT KMT EST EDT|57.a 57.a 50 40|01232323232323232323232|-3eLuQ.O RK00 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|LMT LMT PST PWT PPT PDT YDT YST AKST AKDT|-f2.j 8V.F 80 70 70 70 80 90 90 80|0123425252525252525252525252625252578989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVwq.s 1EX12.j 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|LMT CST CDT CWT CPT EST EDT|5H.2 60 50 50 50 50 40|01212121213412121212121212121212121212565656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Kentucky/Monticello|LMT CST CDT CWT CPT EST EDT|5D.o 60 50 50 50 50 40|01212134121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 11A0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/La_Paz|LMT CMT BST -04|4w.A 4w.A 3w.A 40|0123|-3eLvr.o 1FIo0 13b0|19e5","America/Lima|LMT LMT -05 -04|58.c 58.A 50 40|01232323232323232|-3eLuP.M JcM0.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|LMT PST PDT PWT PPT|7Q.W 80 70 70 70|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFE0 1nEe0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|LMT MMT CST EST CDT|5J.8 5J.c 60 50 50|01232424232324242|-3eLue.Q 1Mhc0.4 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|LMT FFMT AST ADT|44.k 44.k 40 30|01232|-3eLvT.E PTA0 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6u 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST MDT PST|75.E 70 60 60 80|0121312141313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|LMT CST CDT CWT CPT EST|5O.r 60 50 50 50 50|012121341212152121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3pdG9.x 1jce9.x 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|LMT LMT PST PWT PPT PDT AKST AKDT|-fd.G 8K.i 80 70 70 70 90 80|0123425252525252525252525252525252526767672676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwf.5 1EX1d.G 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST MDT CDT CWT|6A.A 70 60 60 50 50|012131242425242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|LMT EST AST ADT AWT APT|4j.8 50 40 30 30 30|0123232323232323232323245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3txvE.Q J4ME.Q CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 14n1 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 ReX 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 11B0 1nX0 14p0 1lb0 14p0 1lb0 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 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 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 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|LMT EST EDT EWT EPT|5h.w 50 40 40 40|012121212121212121212121212121212121212121212123412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B6G.s UFdG.s 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/New_York|LMT EST EDT EWT EPT|4U.2 50 40 40 40|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFH0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|LMT EST EDT EWT EPT|5R.4 50 40 40 40|0121234121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B66.U UFd6.U 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|LMT LMT NST NWT NPT BST BDT YST AKST AKDT|-cW.m b1.C b0 a0 a0 b0 a0 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVyu.p 1EX1W.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|LMT MST MDT MWT MPT CST CDT|6L.7 70 60 60 60 60 50|012121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Oo0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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|","America/North_Dakota/Center|LMT MST MDT MWT MPT CST CDT|6J.c 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 14o0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/North_Dakota/New_Salem|LMT MST MDT MWT MPT CST CDT|6J.D 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 14o0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Ojinaga|LMT MST CST MDT CDT|6V.E 70 60 60 50|0121312424231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 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 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Port-au-Prince|LMT PPMT EST EDT|4N.k 4N 50 40|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLva.E 15RLX.E 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Punta_Arenas|LMT SMT -05 -04 -03|4H.E 4G.J 50 40 30|01213132323232323232343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvg.k MJbX.5 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 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|","America/Rainy_River|LMT CST CDT CWT CPT|6i.g 60 50 50 50|0121234121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B5F.I UFdF.I 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|LMT SMT -05 -04 -03|4G.J 4G.J 50 40 30|0121313232323232323432343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvh.f MJc0 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 hX0 1q10 ko0 Qeo0 WL0 1zd0 On0 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 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5","America/Santo_Domingo|LMT SDMT EST EDT -0430 AST|4D.A 4E 50 40 4u 40|012324242424242525|-3eLvk.o 1Jic0.o 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 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|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|452","America/Sitka|LMT LMT PST PWT PPT PDT YST AKST AKDT|-eW.L 91.d 80 70 70 70 90 90 80|0123425252525252525252525252525252567878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-48Pzs.L 1jVwu 1EX0W.L 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|LMT NST NDT NST NDT NWT NPT NDDT|3u.Q 3u.Q 2u.Q 3u 2u 2u 2u 1u|012121212121212121212121212121212121213434343434343435634343434343434343434343434343434343434343434343434343434343434343434343434343434343437343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tokt.8 1l020 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 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 1zcX 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|LMT CST EST EWT EPT EDT|5V 60 50 40 40 40|01234252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-32B63 Avc3 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|LMT PST PDT PWT PPT|8c.s 80 70 70 70|01213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tofL.w 1nspL.w 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|LMT YST YDT YWT YPT YDDT PST PDT MST|90.c 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeX.M GWpX.M 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 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 1z90|23e3","America/Winnipeg|LMT CST CDT CWT CPT|6s.A 60 50 50 50|0121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3kLtv.o 1a3bv.o WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|LMT LMT YST YWT YPT YDT AKST AKDT|-eF.5 9i.T 90 80 80 80 90 80|0123425252525252525252525252525252526767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwL.G 1EX1F.5 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212121212|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Pacific/Port_Moresby|LMT PMMT +10|-9M.E -9M.w -a0|012|-3D8VM.E AvA0.8|25e4","Antarctica/Macquarie|-00 AEST AEDT|0 -a0 -b0|0121012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2OPc0 Fb40 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|LMT NZMT NZST NZST NZDT|-bD.4 -bu -cu -c0 -d0|012131313131313131313131313134343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-46jLD.4 2nEO9.4 Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 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|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|40","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Europe/Berlin|LMT CET CEST CEMT|-R.s -10 -20 -30|012121212121212321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36RcR.s UbWR.s 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|41e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 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 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST +03|-2n.I -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 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 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 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 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|","Asia/Baghdad|LMT BMT +03 +04|-2V.E -2V.A -30 -40|0123232323232323232323232323232323232323232323232323232|-3eLCV.E 18ao0.4 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 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|27e5","Asia/Bangkok|LMT BMT +07|-6G.4 -6G.4 -70|012|-3D8SG.4 1C000|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 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 p90 LE0 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|","Asia/Beirut|LMT EET EEST|-2m -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3D8Om 1BWom 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|42e4","Asia/Kolkata|LMT HMT MMT IST +0630|-5R.s -5R.k -5l.a -5u -6u|01234343|-4Fg5R.s BKo0.8 1rDcw.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 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 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|LMT CST CDT|-85.H -80 -90|012121212121212121212121212121|-2M0U5.H Iuo5.H 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|LMT MMT +0530 +06 +0630|-5j.o -5j.w -5u -60 -6u|012342432|-3D8Rj.o 13inX.Q 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|LMT HMT +0630 +0530 +06 +07|-61.E -5R.k -6u -5u -60 -70|01232454|-3eLG1.E 26008.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST +03|-2p.c -20 -30 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|","Asia/Gaza|LMT EET EEST IST IDT|-2h.Q -20 -30 -20 -30|0121212121212121212121212121212121234343434343434343434343434343431212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCh.Q 1Azeh.Q MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 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 1qp0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|18e5","Asia/Hebron|LMT EET EEST IST IDT|-2k.n -20 -30 -20 -30|012121212121212121212121212121212123434343434343434343434343434343121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCk.n 1Azek.n MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 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 1qp0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.u -76.u -70 -80 -90|0123423232|-2yC76.u bK00 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A 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","Asia/Irkutsk|LMT IMT +07 +08 +09|-6V.5 -6V.5 -70 -80 -90|012343434343434343434343234343434343434343434343434343434343434343|-3D8SV.5 1Bxc0 pjXV.5 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|LMT IMT EET EEST +03 +04|-1T.Q -1U.U -20 -30 -30 -40|01232323232323232323232323232323232323232323232345423232323232323232323232323232323232323232323232323232323232323234|-3D8NT.Q 1ePXW.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|LMT BMT +0720 +0730 +09 +08 WIB|-77.c -77.c -7k -7u -90 -80 -70|012343536|-49jH7.c 2hiLL.c luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|LMT JMT IST IDT IDDT|-2k.S -2k.E -20 -30 -40|012323232323232432323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8Ok.S 1wvA0.e SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 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 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|LMT +04 +0430|-4A.M -40 -4u|012|-3eLEA.M 2dTcA.M|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 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 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|LMT SMT +07 +0720 +0730 +09 +08|-6T.p -6T.p -70 -7k -7u -90 -80|01234546|-2M0ST.p aIM0 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|LMT LMT PST PDT JST|fU -84 -80 -90 -90|01232423232|-54m84 2clc0 1vfc4 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 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 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5","Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 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 1o00 11A0 1o00 11A0|","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4","Asia/Rangoon|LMT RMT +0630 +09|-6o.L -6o.L -6u -90|01232|-3D8So.L 1BnA0 SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 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 2pB0 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|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|LMT CST JST CDT|-86 -80 -90 -90|012131313131313131313131313131313131313131|-30bk6 1FDc6 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|LMT TBMT +03 +04 +05|-2X.b -2X.b -30 -40 -50|01234343434343434343434323232343434343434343434323|-3D8OX.b 1LUM0 1jUnX.b WCL0 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|LMT TMT +0330 +0430 +04 +05|-3p.I -3p.I -3u -4u -40 -50|012345423232323232323232323232323232323232323232323232323232323232323232|-2btDp.I Llc0 1FHaT.I 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|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|LMT JST JDT|-9i.X -90 -a0|0121212121|-3jE90 2qSo0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 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","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w 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|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 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 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 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|13e5","Atlantic/Azores|LMT HMT -02 -01 +00 WET|1G.E 1S.w 20 10 0 0|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232343434343434343434343434343434345434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tomh.k 18aoh.k aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 qIl0 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 1cL0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|25e4","Atlantic/Bermuda|LMT BMT BST AST ADT|4j.i 4j.i 3j.i 40 30|0121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3eLvE.G 16mo0 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|49e3","Atlantic/Madeira|LMT FMT -01 +00 +01 WET WEST|17.A 17.A 10 0 -10 0 -10|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tomQ.o 18anQ.o aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 qIl0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|27e4","Atlantic/South_Georgia|LMT -02|2q.8 20|01|-3eLxx.Q|30","Atlantic/Stanley|LMT SMT -04 -03 -02|3P.o 3P.o 40 30 20|0123232323232323434323232323232323232323232323232323232323232323232323|-3eLw8.A S200 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|LMT AEST AEDT|-a4.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oW4.Q RlC4.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|LMT ACST ACST ACDT|-9e.k -90 -9u -au|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-32oVe.k ak0e.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 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 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|LMT AEST AEDT|-ac.8 -a0 -b0|012121212121212121|-32Bmc.8 Ry2c.8 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|LMT AEST ACST ACST ACDT|-9p.M -a0 -90 -9u -au|0123434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-32oVp.M 3Lzp.M 6wp0 H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Hobart|LMT AEST AEDT|-9N.g -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-3109N.g Pk1N.g 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Darwin|LMT ACST ACST ACDT|-8H.k -90 -9u -au|01232323232|-32oUH.k ajXH.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4","Australia/Eucla|LMT +0845 +0945|-8z.s -8J -9J|01212121212121212121|-30nIz.s PkpO.s xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Lord_Howe|LMT AEST +1030 +1130 +11|-aA.k -a0 -au -bu -b0|01232323232424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424|-32oWA.k 3tzAA.k 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|LMT AEST AEDT|-9T.U -a0 -b0|0121212121212121212121|-32BlT.U Ry1T.U xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|LMT AEST AEDT|-9D.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oVD.Q RlBD.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|LMT AWST AWDT|-7H.o -80 -90|01212121212121212121|-30nHH.o PkpH.o xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|","Pacific/Easter|LMT EMT -07 -06 -05|7h.s 7h.s 70 60 50|0123232323232323232323232323234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLsG.w 1HRc0 1s4IG.w WL0 1zd0 On0 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 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|","Europe/Dublin|LMT DMT IST GMT BST IST|p.l p.l -y.D 0 -10 -10|012343434343435353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353|-3BHby.D 1ra20 Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|12e5","EST|EST|50|0||","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","Etc/GMT-0|GMT|0|0||","Etc/GMT-1|+01|-10|0||","Etc/GMT-10|+10|-a0|0||","Etc/GMT-11|+11|-b0|0||","Etc/GMT-12|+12|-c0|0||","Etc/GMT-13|+13|-d0|0||","Etc/GMT-14|+14|-e0|0||","Etc/GMT-2|+02|-20|0||","Etc/GMT-3|+03|-30|0||","Etc/GMT-4|+04|-40|0||","Etc/GMT-5|+05|-50|0||","Etc/GMT-6|+06|-60|0||","Etc/GMT-7|+07|-70|0||","Etc/GMT-8|+08|-80|0||","Etc/GMT-9|+09|-90|0||","Etc/GMT+1|-01|10|0||","Etc/GMT+10|-10|a0|0||","Etc/GMT+11|-11|b0|0||","Etc/GMT+12|-12|c0|0||","Etc/GMT+2|-02|20|0||","Etc/GMT+3|-03|30|0||","Etc/GMT+4|-04|40|0||","Etc/GMT+5|-05|50|0||","Etc/GMT+6|-06|60|0||","Etc/GMT+7|-07|70|0||","Etc/GMT+8|-08|80|0||","Etc/GMT+9|-09|90|0||","Etc/UTC|UTC|0|0||","Europe/Brussels|LMT BMT WET CET CEST WEST|-h.u -h.u 0 -10 -20 -10|012343434325252525252525252525252525252525252525252525434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8Mh.u u1Ah.u SO00 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|21e5","Europe/Andorra|LMT WET CET CEST|-6.4 0 -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2M0M6.4 1Pnc6.4 1xIN0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 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 3rd0|10e5","Europe/Athens|LMT AMT EET EEST CEST CET|-1y.Q -1y.Q -20 -30 -20 -10|0123234545232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-30SNy.Q OMM1 CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|35e5","Europe/London|LMT GMT BST BDST|1.f 0 -10 -20|01212121212121212121212121212121212121212121212121232323232321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-4VgnW.J 2KHdW.J Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|10e6","Europe/Belgrade|LMT CET CEST|-1m -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3topm 2juLm 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|12e5","Europe/Prague|LMT PMT CET CEST GMT|-V.I -V.I -10 -20 0|0123232323232323232423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4QbAV.I 1FDc0 XPaV.I 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|13e5","Europe/Bucharest|LMT BMT EET EEST|-1I.o -1I.o -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3awpI.o 1AU00 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|19e5","Europe/Budapest|LMT CET CEST|-1g.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3cK1g.k 124Lg.k 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|17e5","Europe/Zurich|LMT BMT CET CEST|-y.8 -t.K -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4HyMy.8 1Dw04.m 1SfAt.K 11A0 1o00 11A0 1xG10 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|38e4","Europe/Chisinau|LMT CMT BMT EET EEST CEST CET MSK MSD|-1T.k -1T -1I.o -20 -30 -20 -10 -30 -40|0123434343434343434345656578787878787878787878434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8NT.k 1wNA0.k wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|67e4","Europe/Gibraltar|LMT GMT BST BDST CET CEST|l.o 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123232323232121232121212121212121212145454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-3BHbC.A 1ra1C.A Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|30e3","Europe/Helsinki|LMT HMT EET EEST|-1D.N -1D.N -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3H0ND.N 1Iu00 OULD.N 1dA0 1xGq0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|12e5","Europe/Kaliningrad|LMT CET CEST EET EEST MSK MSD +03|-1m -10 -20 -20 -30 -30 -40 -30|012121212121212343565656565656565654343434343434343434343434343434343434343434373|-36Rdm UbXm 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 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|LMT KMT EET MSK CEST CET MSD EEST|-22.4 -22.4 -20 -30 -20 -10 -40 -30|01234545363636363636363636367272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-3D8O2.4 1LUM0 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 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|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 pvy0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|27e5","Europe/Madrid|LMT WET WEST WEMT CET CEST|e.I 0 -10 -20 -10 -20|0121212121212121212321454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2M0M0 G5z0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|62e5","Europe/Malta|LMT CET CEST|-W.4 -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-35rcW.4 SXzW.4 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|42e4","Europe/Minsk|LMT MMT EET MSK CEST CET MSD EEST +03|-1O.g -1O -20 -30 -20 -10 -40 -30 -30|012345454363636363636363636372727272727272727272727272727272727272728|-3D8NO.g 1LUM0.g eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 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|19e5","Europe/Paris|LMT PMT WET WEST CEST CET WEMT|-9.l -9.l 0 -10 -20 -10 -20|01232323232323232323232323232323232323232323232323234545463654545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-3bQ09.l MDA0 cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|11e6","Europe/Moscow|LMT MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|01232434565756865656565656565656565698656565656565656565656565656565656565656a6|-3D8Ou.h 1sQM0 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 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|16e6","Europe/Riga|LMT RMT LST EET MSK CEST CET MSD EEST|-1A.y -1A.y -2A.y -20 -30 -20 -10 -40 -30|0121213456565647474747474747474838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383|-3D8NA.y 1xde0 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 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 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|64e4","Europe/Rome|LMT RMT CET CEST|-N.U -N.U -10 -20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4aU0N.U 15snN.U T000 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 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|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 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|LMT SMT EET MSK CEST CET MSD EEST MSK|-2g.o -2g -20 -30 -20 -10 -40 -30 -40|0123454543636363636363636363272727636363727272727272727272727272727272727283|-3D8Og.o 1LUM0.o eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 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|LMT IMT EET CET CEST EEST|-1x.g -1U.U -20 -10 -20 -30|0123434325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-3D8Nx.g AiLA.k 1UFeU.U WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|12e5","Europe/Tallinn|LMT TMT CET CEST EET MSK MSD EEST|-1D -1D -10 -20 -20 -30 -40 -30|0123214532323565656565656565657474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474|-3D8ND 1wI00 teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 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/Vienna|LMT CET CEST|-15.l -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36Rd5.l UbX5.l 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|18e5","Europe/Vilnius|LMT WMT KMT CET EET MSK CEST MSD EEST|-1F.g -1o -1z.A -10 -20 -30 -20 -40 -30|0123435636365757575757575757584848484848484848463648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484|-3D8NF.g 1u5Ah.g 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|0123232323232323212121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 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|LMT WMT CET CEST EET EEST|-1o -1o -10 -20 -20 -30|0123232345423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8No 1qDA0 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|17e5","HST|HST|a0|0||","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Maldives|LMT MMT +05|-4S -4S -50|012|-3D8QS 3eLA0|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Pacific/Kwajalein|LMT +11 +10 +09 -12 +12|-b9.k -b0 -a0 -90 c0 -c0|0123145|-2M0X9.k 1rDA9.k akp0 6Up0 12ry0 Wan0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|","MST|MST|70|0||","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","Pacific/Chatham|LMT +1215 +1245 +1345|-cd.M -cf -cJ -dJ|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-46jMd.M 37RbW.M 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT LMT -1130 -11 -10 +14 +13|-cx.4 bq.U bu b0 a0 -e0 -d0|012343456565656565656565656|-38Fox.4 J1A0 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3","Pacific/Bougainville|LMT PMMT +10 +09 +11|-am.g -9M.w -a0 -90 -b0|012324|-3D8Wm.g AvAx.I 1TCLM.w 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-00 -12 -11 +13|0 c0 b0 -d0|0123|-1iIo0 1GsA0 B7X0|1","Pacific/Fakaofo|LMT -11 +13|bo.U b0 -d0|012|-2M0Az.4 4ufXz.4|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0|88e4","Pacific/Tarawa|LMT +12|-bw.4 -c0|01|-2M0Xw.4|29e3","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|LMT LMT GST +09 GDT ChST|el -9D -a0 -90 -b0 -a0|0123242424242424242425|-54m9D 2glc0 1DFbD 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Honolulu|LMT HST HDT HWT HPT HST|av.q au 9u 9u 9u a0|01213415|-3061s.y 1uMdW.y 8x0 lef0 8wWu iAu 46p0|37e4","Pacific/Kiritimati|LMT -1040 -10 +14|at.k aE a0 -e0|0123|-2M0Bu.E 3bIMa.E B7Xk|51e2","Pacific/Kosrae|LMT LMT +11 +09 +10 +12|d8.4 -aP.U -b0 -90 -a0 -c0|0123243252|-54maP.U 2glc0 xsnP.U axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT LMT SST|-cB.c bm.M b0|012|-38FoB.c J1A0|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3","Pacific/Niue|LMT -1120 -11|bj.E bk b0|012|-FScE.k suo0.k|12e2","Pacific/Norfolk|LMT +1112 +1130 +1230 +11 +12|-bb.Q -bc -bu -cu -b0 -c0|0123245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2M0Xb.Q 21ILX.Q W01G Oo0 1COo0 9Jcu 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 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 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 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Palau|LMT LMT +09|f2.4 -8V.U -90|012|-54m8V.U 2glc0|21e3","Pacific/Pitcairn|LMT -0830 -08|8E.k 8u 80|012|-2M0Dj.E 3UVXN.E|56","Pacific/Rarotonga|LMT LMT -1030 -0930 -10|-dk.U aD.4 au 9u a0|01234343434343434343434343434|-2Otpk.U 28zc0 13tbO.U IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|LMT +1220 +13 +14|-cj.c -ck -d0 -e0|01232323232|-XbMj.c BgLX.c 1yndk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 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 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 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 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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|"],"links":["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Iceland","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Godthab|America/Nuuk","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Atikokan","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Phoenix|America/Creston","America/Phoenix|US/Arizona","America/Puerto_Rico|America/Anguilla","America/Puerto_Rico|America/Antigua","America/Puerto_Rico|America/Aruba","America/Puerto_Rico|America/Blanc-Sablon","America/Puerto_Rico|America/Curacao","America/Puerto_Rico|America/Dominica","America/Puerto_Rico|America/Grenada","America/Puerto_Rico|America/Guadeloupe","America/Puerto_Rico|America/Kralendijk","America/Puerto_Rico|America/Lower_Princes","America/Puerto_Rico|America/Marigot","America/Puerto_Rico|America/Montserrat","America/Puerto_Rico|America/Port_of_Spain","America/Puerto_Rico|America/St_Barthelemy","America/Puerto_Rico|America/St_Kitts","America/Puerto_Rico|America/St_Lucia","America/Puerto_Rico|America/St_Thomas","America/Puerto_Rico|America/St_Vincent","America/Puerto_Rico|America/Tortola","America/Puerto_Rico|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|America/Nassau","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Bangkok|Indian/Christmas","Asia/Brunei|Asia/Kuching","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Dubai|Indian/Mahe","Asia/Dubai|Indian/Reunion","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Rangoon|Indian/Cocos","Asia/Riyadh|Antarctica/Syowa","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Antarctica/Vostok","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Currie","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Berlin|Arctic/Longyearbyen","Europe/Berlin|Atlantic/Jan_Mayen","Europe/Berlin|Europe/Copenhagen","Europe/Berlin|Europe/Oslo","Europe/Berlin|Europe/Stockholm","Europe/Brussels|Europe/Amsterdam","Europe/Brussels|Europe/Luxembourg","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Kiev|Europe/Kyiv","Europe/Kiev|Europe/Uzhgorod","Europe/Kiev|Europe/Zaporozhye","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Paris|Europe/Monaco","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Maldives|Indian/Kerguelen","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Enderbury|Pacific/Kanton","Pacific/Guadalcanal|Pacific/Pohnpei","Pacific/Guadalcanal|Pacific/Ponape","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Port_Moresby|Antarctica/DumontDUrville","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Majuro","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"],"countries":["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","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/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/Puerto_Rico America/Aruba","AX|Europe/Helsinki Europe/Mariehamn","AZ|Asia/Baku","BA|Europe/Belgrade Europe/Sarajevo","BB|America/Barbados","BD|Asia/Dhaka","BE|Europe/Brussels","BF|Africa/Abidjan Africa/Ouagadougou","BG|Europe/Sofia","BH|Asia/Qatar Asia/Bahrain","BI|Africa/Maputo Africa/Bujumbura","BJ|Africa/Lagos Africa/Porto-Novo","BL|America/Puerto_Rico America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Kuching Asia/Brunei","BO|America/La_Paz","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/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/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","CH|Europe/Zurich","CI|Africa/Abidjan","CK|Pacific/Rarotonga","CL|America/Santiago America/Punta_Arenas Pacific/Easter","CM|Africa/Lagos Africa/Douala","CN|Asia/Shanghai Asia/Urumqi","CO|America/Bogota","CR|America/Costa_Rica","CU|America/Havana","CV|Atlantic/Cape_Verde","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/Berlin Europe/Copenhagen","DM|America/Puerto_Rico America/Dominica","DO|America/Santo_Domingo","DZ|Africa/Algiers","EC|America/Guayaquil Pacific/Galapagos","EE|Europe/Tallinn","EG|Africa/Cairo","EH|Africa/El_Aaiun","ER|Africa/Nairobi Africa/Asmara","ES|Europe/Madrid Africa/Ceuta Atlantic/Canary","ET|Africa/Nairobi Africa/Addis_Ababa","FI|Europe/Helsinki","FJ|Pacific/Fiji","FK|Atlantic/Stanley","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/Puerto_Rico America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London Europe/Guernsey","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/Puerto_Rico America/Guadeloupe","GQ|Africa/Lagos Africa/Malabo","GR|Europe/Athens","GS|Atlantic/South_Georgia","GT|America/Guatemala","GU|Pacific/Guam","GW|Africa/Bissau","GY|America/Guyana","HK|Asia/Hong_Kong","HN|America/Tegucigalpa","HR|Europe/Belgrade Europe/Zagreb","HT|America/Port-au-Prince","HU|Europe/Budapest","ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura","IE|Europe/Dublin","IL|Asia/Jerusalem","IM|Europe/London Europe/Isle_of_Man","IN|Asia/Kolkata","IO|Indian/Chagos","IQ|Asia/Baghdad","IR|Asia/Tehran","IS|Africa/Abidjan Atlantic/Reykjavik","IT|Europe/Rome","JE|Europe/London Europe/Jersey","JM|America/Jamaica","JO|Asia/Amman","JP|Asia/Tokyo","KE|Africa/Nairobi","KG|Asia/Bishkek","KH|Asia/Bangkok Asia/Phnom_Penh","KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Puerto_Rico America/St_Kitts","KP|Asia/Pyongyang","KR|Asia/Seoul","KW|Asia/Riyadh Asia/Kuwait","KY|America/Panama America/Cayman","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/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/Brussels Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Paris Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Puerto_Rico America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro","MK|Europe/Belgrade Europe/Skopje","ML|Africa/Abidjan Africa/Bamako","MM|Asia/Yangon","MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan","MO|Asia/Macau","MP|Pacific/Guam Pacific/Saipan","MQ|America/Martinique","MR|Africa/Abidjan Africa/Nouakchott","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/Kuching Asia/Singapore Asia/Kuala_Lumpur","MZ|Africa/Maputo","NA|Africa/Windhoek","NC|Pacific/Noumea","NE|Africa/Lagos Africa/Niamey","NF|Pacific/Norfolk","NG|Africa/Lagos","NI|America/Managua","NL|Europe/Brussels Europe/Amsterdam","NO|Europe/Berlin Europe/Oslo","NP|Asia/Kathmandu","NR|Pacific/Nauru","NU|Pacific/Niue","NZ|Pacific/Auckland Pacific/Chatham","OM|Asia/Dubai Asia/Muscat","PA|America/Panama","PE|America/Lima","PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier","PG|Pacific/Port_Moresby Pacific/Bougainville","PH|Asia/Manila","PK|Asia/Karachi","PL|Europe/Warsaw","PM|America/Miquelon","PN|Pacific/Pitcairn","PR|America/Puerto_Rico","PS|Asia/Gaza Asia/Hebron","PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores","PW|Pacific/Palau","PY|America/Asuncion","QA|Asia/Qatar","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|Asia/Dubai Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Berlin Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Berlin Arctic/Longyearbyen","SK|Europe/Prague Europe/Bratislava","SL|Africa/Abidjan Africa/Freetown","SM|Europe/Rome Europe/San_Marino","SN|Africa/Abidjan Africa/Dakar","SO|Africa/Nairobi Africa/Mogadishu","SR|America/Paramaribo","SS|Africa/Juba","ST|Africa/Sao_Tome","SV|America/El_Salvador","SX|America/Puerto_Rico America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Asia/Dubai Indian/Maldives Indian/Kerguelen","TG|Africa/Abidjan Africa/Lome","TH|Asia/Bangkok","TJ|Asia/Dushanbe","TK|Pacific/Fakaofo","TL|Asia/Dili","TM|Asia/Ashgabat","TN|Africa/Tunis","TO|Pacific/Tongatapu","TR|Europe/Istanbul","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/Kyiv","UG|Africa/Nairobi Africa/Kampala","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/Puerto_Rico America/St_Vincent","VE|America/Caracas","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/Tarawa Pacific/Wallis","WS|Pacific/Apia","YE|Asia/Riyadh Asia/Aden","YT|Africa/Nairobi Indian/Mayotte","ZA|Africa/Johannesburg","ZM|Africa/Maputo Africa/Lusaka","ZW|Africa/Maputo Africa/Harare"]}'); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nccwpck_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nccwpck_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __nccwpck_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/"; +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +const core = __nccwpck_require__(2186) +const YAML = __nccwpck_require__(4083) +const {DateTime} = __nccwpck_require__(8811); +const Checker = __nccwpck_require__(7657) + +const timezone = core.getInput('timezone') +const calendar = core.getInput('calendar') +const schedule = YAML.parse(core.getInput('schedule')) +const check_future_days = parseInt(core.getInput('check_future_days')) +const fail_on_failure = core.getBooleanInput('fail_on_failure') + +const currentTime = DateTime.now().setZone(timezone) + +core.startGroup("Initialize working hours checker") +const checker = new Checker(schedule, calendar) +core.endGroup() + +core.startGroup("Check working day") +const working_day = checker.checkWorkingDays(currentTime) +core.info(`${currentTime.toISO()} - working_days: ${working_day}`) +core.endGroup() + +core.startGroup("Check working hours") +const working_hours = checker.checkWorkingHours(currentTime) +core.info(`${currentTime.toISO()} - working_hours: ${working_hours}`) +core.endGroup() + +let future_working_days = true +for (let i = 0; i < check_future_days; i++) { + let offsetTime = currentTime.plus({days: i + 1}) + core.startGroup(`Check future day - ${offsetTime.toISO()}`) + + const offsetWorkingTime = checker.checkWorkingDays(offsetTime) + future_working_days = future_working_days && offsetWorkingTime + core.info(`${currentTime.toISO()} - working_days: ${offsetWorkingTime}`) + core.endGroup() +} + + +if (working_day && working_hours && future_working_days) { + core.setOutput('working_hours', true) +} else { + core.setOutput('working_hours', false) + if (fail_on_failure) { + core.setFailed("Not working hours"); + } +} + +})(); + +module.exports = __webpack_exports__; +/******/ })() +; \ No newline at end of file diff --git a/lib/check.js b/lib/check.js deleted file mode 100644 index d9302d8..0000000 --- a/lib/check.js +++ /dev/null @@ -1,46 +0,0 @@ -const Holidays = require("date-holidays"); -const scheduleMapping = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"] - - -class Checker { - constructor(schedule, country) { - this.schedule = schedule || {} - if (country) { - this.holidays = new Holidays(country) - } else { - this.holidays = null - } - } - - dayFromSchedule(date) { - return this.schedule[scheduleMapping[date.weekday - 1]]; - } - - checkWorkingDays(date) { - if (this.holidays && this.holidays.isHoliday(date)) { - return false - } - - if (this.dayFromSchedule(date) === undefined) { - return false - } - - return true - } - - checkWorkingHours(date) { - const schedule_day = this.dayFromSchedule(date) - - if (schedule_day === undefined || schedule_day.startHour === undefined || schedule_day.endHour === undefined) { - return false - } - - if (date.hour < schedule_day.startHour || date.hour >= schedule_day.endHour) { - return false - } - - return true - } -} - -module.exports = Checker diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 8f863a2..0000000 --- a/lib/index.js +++ /dev/null @@ -1,47 +0,0 @@ -const core = require('@actions/core') -const YAML = require('yaml') -const {DateTime} = require("luxon"); -const Checker = require("./check") - -const timezone = core.getInput('timezone') -const calendar = core.getInput('calendar') -const schedule = YAML.parse(core.getInput('schedule')) -const check_future_days = parseInt(core.getInput('check_future_days')) -const fail_on_failure = core.getBooleanInput('fail_on_failure') - -const currentTime = DateTime.now().setZone(timezone) - -core.startGroup("Initialize working hours checker") -const checker = new Checker(schedule, calendar) -core.endGroup() - -core.startGroup("Check working day") -const working_day = checker.checkWorkingDays(currentTime) -core.info(`${currentTime.toISO()} - working_days: ${working_day}`) -core.endGroup() - -core.startGroup("Check working hours") -const working_hours = checker.checkWorkingHours(currentTime) -core.info(`${currentTime.toISO()} - working_hours: ${working_hours}`) -core.endGroup() - -let future_working_days = true -for (let i = 0; i < check_future_days; i++) { - let offsetTime = currentTime.plus({days: i + 1}) - core.startGroup(`Check future day - ${offsetTime.toISO()}`) - - const offsetWorkingTime = checker.checkWorkingDays(offsetTime) - future_working_days = future_working_days && offsetWorkingTime - core.info(`${currentTime.toISO()} - working_days: ${offsetWorkingTime}`) - core.endGroup() -} - - -if (working_day && working_hours && future_working_days) { - core.setOutput('working_hours', true) -} else { - core.setOutput('working_hours', false) - if (fail_on_failure) { - core.setFailed("Not working hours"); - } -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index d4282a0..0000000 --- a/package-lock.json +++ /dev/null @@ -1,6305 +0,0 @@ -{ - "name": "working-hours-action", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "working-hours-action", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@actions/core": "^1.10.0", - "date-holidays": "^3.16.9", - "luxon": "^3.1.0", - "yaml": "^2.1.3" - }, - "devDependencies": { - "@vercel/ncc": "^0.34.0", - "jest": "^29.2.2" - } - }, - "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", - "dependencies": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" - } - }, - "node_modules/@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", - "dependencies": { - "tunnel": "^0.0.6" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", - "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", - "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", - "dev": true, - "dependencies": { - "@jest/console": "^29.2.1", - "@jest/reporters": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-resolve-dependencies": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "jest-watcher": "^29.2.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", - "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-mock": "^29.2.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", - "dev": true, - "dependencies": { - "expect": "^29.2.2", - "jest-snapshot": "^29.2.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.2.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", - "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", - "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/types": "^29.2.1", - "jest-mock": "^29.2.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", - "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.2.1", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", - "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", - "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.2.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", - "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.2.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@vercel/ncc": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz", - "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==", - "dev": true, - "bin": { - "ncc": "dist/ncc/cli.js" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/astronomia": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/astronomia/-/astronomia-4.1.1.tgz", - "integrity": "sha512-TcJD9lUC5eAo0/Ji7rnQauX/yQbi0yZWM+JsNr77W3OA5fsrgvuFgubLMFwfw4VlZ29cu9dG/yfJbfvuTSftjg==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/babel-jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", - "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.2.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/caldate": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/caldate/-/caldate-2.0.3.tgz", - "integrity": "sha512-5YqrhvP/4lVmg6JlyFff0RXUxwWY8E2B6L6AfAsABMOL/eJ60o7bRnxys847bdjxxYXxHurYMqSRDc62+vrgyQ==", - "dependencies": { - "moment-timezone": "^0.5.34" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/date-bengali-revised": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/date-bengali-revised/-/date-bengali-revised-2.0.2.tgz", - "integrity": "sha512-q9iDru4+TSA9k4zfm0CFHJj6nBsxP7AYgWC/qodK/i7oOIlj5K2z5IcQDtESfs/Qwqt/xJYaP86tkazd/vRptg==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/date-chinese": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/date-chinese/-/date-chinese-2.1.4.tgz", - "integrity": "sha512-WY+6+Qw92ZGWFvGtStmNQHEYpNa87b8IAQ5T8VKt4wqrn24lBXyyBnWI5jAIyy7h/KVwJZ06bD8l/b7yss82Ww==", - "dependencies": { - "astronomia": "^4.1.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/date-easter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/date-easter/-/date-easter-1.0.2.tgz", - "integrity": "sha512-mpC1izx7lUSLYl4B88V2W57eNB4xS2ic+ahxK2AYUsaBTsCeHzT6K5ymUKzL9YPFf/GlygFqpiD4/NO1hxDsLw==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/date-holidays": { - "version": "3.16.9", - "resolved": "https://registry.npmjs.org/date-holidays/-/date-holidays-3.16.9.tgz", - "integrity": "sha512-Z29Gi/LyKahs3m/EaZaA60m0HMHwC2j+R7bbTC+qqEuYmlaMo8cRKrjgJBHh4Hi9vTN9fVKF3M7Obkok5itz0A==", - "dependencies": { - "date-holidays-parser": "^3.4.1", - "js-yaml": "^4.1.0", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", - "prepin": "^1.0.3" - }, - "bin": { - "holidays2json": "scripts/holidays2json.cjs" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/date-holidays-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/date-holidays-parser/-/date-holidays-parser-3.4.1.tgz", - "integrity": "sha512-mXoTd8Cp2OAyf1PSimCWmWUpQYJDCxB6j2c6SpFXHYi8natxlE0boGb+5S+X52OyzExzO9RbxSi3FvcV3GqT3g==", - "dependencies": { - "astronomia": "^4.1.0", - "caldate": "^2.0.3", - "date-bengali-revised": "^2.0.2", - "date-chinese": "^2.1.4", - "date-easter": "^1.0.2", - "deepmerge": "^4.2.2", - "jalaali-js": "^1.2.6", - "moment-timezone": "^0.5.34" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jalaali-js": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", - "integrity": "sha512-io974va+Qyu+UfuVX3UIAgJlxLhAMx9Y8VMfh+IG00Js7hXQo1qNQuwSiSa0xxco0SVgx5HWNkaiCcV+aZ8WPw==" - }, - "node_modules/jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", - "dev": true, - "dependencies": { - "@jest/core": "^29.2.2", - "@jest/types": "^29.2.1", - "import-local": "^3.0.2", - "jest-cli": "^29.2.2" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", - "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", - "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", - "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.2.2", - "@jest/types": "^29.2.1", - "babel-jest": "^29.2.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.2.2", - "jest-environment-node": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", - "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.2.1", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", - "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", - "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", - "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", - "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-util": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", - "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", - "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.2.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", - "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.2.1", - "@jest/environment": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-leak-detector": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-resolve": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-util": "^29.2.1", - "jest-watcher": "^29.2.2", - "jest-worker": "^29.2.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", - "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/globals": "^29.2.2", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", - "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.2.2", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.2.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.2.1", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", - "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.2.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.2.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", - "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.2.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", - "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.2.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/luxon": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.1.0.tgz", - "integrity": "sha512-7w6hmKC0/aoWnEsmPCu5Br54BmbmUp5GfcqBxQngRcXJ+q5fdfjEzn7dxmJh2YdDhgW8PccYtlWKSv4tQkrTQg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", - "engines": { - "node": "*" - } - }, - "node_modules/moment-timezone": { - "version": "0.5.38", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.38.tgz", - "integrity": "sha512-nMIrzGah4+oYZPflDvLZUgoVUO4fvAqHstvG3xAUnMolWncuAiLDWNnJZj6EwJGMGfb1ZcuTFE6GI3hNOVWI/Q==", - "dependencies": { - "moment": ">= 2.9.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prepin": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/prepin/-/prepin-1.0.3.tgz", - "integrity": "sha512-0XL2hreherEEvUy0fiaGEfN/ioXFV+JpImqIzQjxk6iBg4jQ2ARKqvC4+BmRD8w/pnpD+lbxvh0Ub+z7yBEjvA==", - "bin": { - "prepin": "bin/prepin.js" - } - }, - "node_modules/pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", - "requires": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" - } - }, - "@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", - "requires": { - "tunnel": "^0.0.6" - } - }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true - }, - "@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dev": true, - "requires": { - "@babel/types": "^7.19.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", - "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", - "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", - "dev": true, - "requires": { - "@jest/console": "^29.2.1", - "@jest/reporters": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-resolve-dependencies": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "jest-watcher": "^29.2.2", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", - "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-mock": "^29.2.2" - } - }, - "@jest/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", - "dev": true, - "requires": { - "expect": "^29.2.2", - "jest-snapshot": "^29.2.2" - } - }, - "@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0" - } - }, - "@jest/fake-timers": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", - "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" - } - }, - "@jest/globals": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", - "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", - "dev": true, - "requires": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/types": "^29.2.1", - "jest-mock": "^29.2.2" - } - }, - "@jest/reporters": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", - "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.2.1", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", - "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", - "dev": true, - "requires": { - "@jest/console": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", - "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.2.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", - "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.2.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - } - }, - "@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@vercel/ncc": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.34.0.tgz", - "integrity": "sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "astronomia": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/astronomia/-/astronomia-4.1.1.tgz", - "integrity": "sha512-TcJD9lUC5eAo0/Ji7rnQauX/yQbi0yZWM+JsNr77W3OA5fsrgvuFgubLMFwfw4VlZ29cu9dG/yfJbfvuTSftjg==" - }, - "babel-jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", - "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", - "dev": true, - "requires": { - "@jest/transform": "^29.2.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "caldate": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/caldate/-/caldate-2.0.3.tgz", - "integrity": "sha512-5YqrhvP/4lVmg6JlyFff0RXUxwWY8E2B6L6AfAsABMOL/eJ60o7bRnxys847bdjxxYXxHurYMqSRDc62+vrgyQ==", - "requires": { - "moment-timezone": "^0.5.34" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "date-bengali-revised": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/date-bengali-revised/-/date-bengali-revised-2.0.2.tgz", - "integrity": "sha512-q9iDru4+TSA9k4zfm0CFHJj6nBsxP7AYgWC/qodK/i7oOIlj5K2z5IcQDtESfs/Qwqt/xJYaP86tkazd/vRptg==" - }, - "date-chinese": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/date-chinese/-/date-chinese-2.1.4.tgz", - "integrity": "sha512-WY+6+Qw92ZGWFvGtStmNQHEYpNa87b8IAQ5T8VKt4wqrn24lBXyyBnWI5jAIyy7h/KVwJZ06bD8l/b7yss82Ww==", - "requires": { - "astronomia": "^4.1.0" - } - }, - "date-easter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/date-easter/-/date-easter-1.0.2.tgz", - "integrity": "sha512-mpC1izx7lUSLYl4B88V2W57eNB4xS2ic+ahxK2AYUsaBTsCeHzT6K5ymUKzL9YPFf/GlygFqpiD4/NO1hxDsLw==" - }, - "date-holidays": { - "version": "3.16.9", - "resolved": "https://registry.npmjs.org/date-holidays/-/date-holidays-3.16.9.tgz", - "integrity": "sha512-Z29Gi/LyKahs3m/EaZaA60m0HMHwC2j+R7bbTC+qqEuYmlaMo8cRKrjgJBHh4Hi9vTN9fVKF3M7Obkok5itz0A==", - "requires": { - "date-holidays-parser": "^3.4.1", - "js-yaml": "^4.1.0", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", - "prepin": "^1.0.3" - } - }, - "date-holidays-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/date-holidays-parser/-/date-holidays-parser-3.4.1.tgz", - "integrity": "sha512-mXoTd8Cp2OAyf1PSimCWmWUpQYJDCxB6j2c6SpFXHYi8natxlE0boGb+5S+X52OyzExzO9RbxSi3FvcV3GqT3g==", - "requires": { - "astronomia": "^4.1.0", - "caldate": "^2.0.3", - "date-bengali-revised": "^2.0.2", - "date-chinese": "^2.1.4", - "date-easter": "^1.0.2", - "deepmerge": "^4.2.2", - "jalaali-js": "^1.2.6", - "moment-timezone": "^0.5.34" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jalaali-js": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", - "integrity": "sha512-io974va+Qyu+UfuVX3UIAgJlxLhAMx9Y8VMfh+IG00Js7hXQo1qNQuwSiSa0xxco0SVgx5HWNkaiCcV+aZ8WPw==" - }, - "jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", - "dev": true, - "requires": { - "@jest/core": "^29.2.2", - "@jest/types": "^29.2.1", - "import-local": "^3.0.2", - "jest-cli": "^29.2.2" - } - }, - "jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", - "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", - "dev": true, - "requires": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", - "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", - "dev": true, - "requires": { - "@jest/core": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", - "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.2.2", - "@jest/types": "^29.2.1", - "babel-jest": "^29.2.2", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.2.2", - "jest-environment-node": "^29.2.2", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - } - }, - "jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", - "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.2.1", - "pretty-format": "^29.2.1" - } - }, - "jest-environment-node": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", - "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", - "dev": true, - "requires": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" - } - }, - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true - }, - "jest-haste-map": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", - "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", - "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - } - }, - "jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" - } - }, - "jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", - "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "jest-util": "^29.2.1" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true - }, - "jest-resolve": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", - "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", - "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", - "dev": true, - "requires": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.2.2" - } - }, - "jest-runner": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", - "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", - "dev": true, - "requires": { - "@jest/console": "^29.2.1", - "@jest/environment": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-leak-detector": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-resolve": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-util": "^29.2.1", - "jest-watcher": "^29.2.2", - "jest-worker": "^29.2.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", - "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", - "dev": true, - "requires": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/globals": "^29.2.2", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-snapshot": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", - "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.2.2", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.2.2", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.2.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.2.1", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", - "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", - "dev": true, - "requires": { - "@jest/types": "^29.2.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.2.1" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", - "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", - "dev": true, - "requires": { - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.2.1", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", - "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.2.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "luxon": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.1.0.tgz", - "integrity": "sha512-7w6hmKC0/aoWnEsmPCu5Br54BmbmUp5GfcqBxQngRcXJ+q5fdfjEzn7dxmJh2YdDhgW8PccYtlWKSv4tQkrTQg==" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" - }, - "moment-timezone": { - "version": "0.5.38", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.38.tgz", - "integrity": "sha512-nMIrzGah4+oYZPflDvLZUgoVUO4fvAqHstvG3xAUnMolWncuAiLDWNnJZj6EwJGMGfb1ZcuTFE6GI3hNOVWI/Q==", - "requires": { - "moment": ">= 2.9.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "prepin": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/prepin/-/prepin-1.0.3.tgz", - "integrity": "sha512-0XL2hreherEEvUy0fiaGEfN/ioXFV+JpImqIzQjxk6iBg4jQ2ARKqvC4+BmRD8w/pnpD+lbxvh0Ub+z7yBEjvA==" - }, - "pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==" - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 277459b..0000000 --- a/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "working-hours-action", - "version": "1.0.0", - "main": "dist/index.js", - "license": "MIT", - "dependencies": { - "@actions/core": "^1.10.0", - "date-holidays": "^3.16.9", - "luxon": "^3.1.0", - "yaml": "^2.1.3" - }, - "devDependencies": { - "@vercel/ncc": "^0.34.0", - "jest": "^29.2.2" - }, - "scripts": { - "build": "npx @vercel/ncc build ./lib/index.js", - "test": "npx jest" - } -} diff --git a/tests/check.test.js b/tests/check.test.js deleted file mode 100644 index 860d412..0000000 --- a/tests/check.test.js +++ /dev/null @@ -1,65 +0,0 @@ -const Checker = require('../lib/check') -const {test, expect} = require("@jest/globals") -const {DateTime} = require("luxon"); - -test("Test init pass", () => { - let checker = new Checker(); - expect(checker.schedule).toStrictEqual({}) - expect(checker.holidays).toStrictEqual(null) - - const schedule = {monday: {startHour: 0, endHour: 19}} - checker = new Checker(schedule, "US") - expect(checker.schedule).toStrictEqual(schedule) - expect(checker.holidays).not.toBeNull() -}) - -test("Test working days", () => { - const checker = new Checker({ - monday: {startHour: 0, endHour: 19}, - tuesday: {startHour: 0, endHour: 19}, - wednesday: null, - sontag: {startHour: 0, endHour: 19} - }); - let date = DateTime.fromISO("2000-01-10") - - expect(checker.checkWorkingDays(date.set({weekday: 1}))).toBeTruthy() - expect(checker.checkWorkingDays(date.set({weekday: 2}))).toBeTruthy() - expect(checker.checkWorkingDays(date.set({weekday: 3}))).toBeTruthy() - expect(checker.checkWorkingDays(date.set({weekday: 4}))).toBeFalsy() - expect(checker.checkWorkingDays(date.set({weekday: 5}))).toBeFalsy() - expect(checker.checkWorkingDays(date.set({weekday: 6}))).toBeFalsy() - expect(checker.checkWorkingDays(date.set({weekday: 7}))).toBeFalsy() -}) - -test("Test working hours", () => { - const checker = new Checker({monday: {startHour: 9, endHour: 10}}); - let date = DateTime.fromISO("2000-01-10T09:00:00") - - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 9, minute: 0, second: 0}))).toBeTruthy() - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 9, minute: 10}))).toBeTruthy() - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 9, minute: 59, second: 59}))).toBeTruthy() - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 10, minute: 0, second: 0}))).toBeFalsy() -}) - -test("Test working all hours", () => { - const checker = new Checker({monday: {startHour: 0, endHour: 24}}); - let date = DateTime.fromISO("2000-01-10T09:00:00") - - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 9}))).toBeTruthy() - expect(checker.checkWorkingHours(date.set({weekday: 1, hour: 23, minute: 59}))).toBeTruthy() -}) - -test("Test holidays", () => { - const checker = new Checker({ - monday: null, - tuesday: null, - wednesday: null, - friday: null, - saturday: null, - sunday: null - }, "US"); - let date = DateTime.fromISO("2000-12-30T09:00:00") - - expect(checker.checkWorkingDays(date)).toBeTruthy() - expect(checker.checkWorkingDays(date.plus({days: 1}))).toBeFalsy() -})