diff --git a/notemyprogress/ajax.php b/notemyprogress/ajax.php index 1063cf757267963a687c4648802b8a94f98513f2..175b3ed6929dee38bce191d2a28a005e89f49184 100644 --- a/notemyprogress/ajax.php +++ b/notemyprogress/ajax.php @@ -27,11 +27,10 @@ define('AJAX_SCRIPT', true); require_once(dirname(__FILE__) . '/../../config.php'); require_once(dirname(__FILE__) . '/locallib.php'); -global $USER, $COURSE, $DB; - +global $USER, $COURSE, $DB; +$userid = required_param('userid', PARAM_INT); $courseid = required_param('courseid', PARAM_INT); -$userid = required_param('userid', PARAM_INT); $COURSE = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); $USER = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); @@ -39,8 +38,8 @@ $USER = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); require_login($COURSE, false); $context = context_course::instance($courseid); require_capability('local/notemyprogress:ajax', $context); -/* Start the déclaration of all the optional parrameters */ -$beginDate = optional_param('beginDate', false, PARAM_TEXT); //optional_param('keyValue','DefaultValue','Type value'); + +$beginDate = optional_param('beginDate', false, PARAM_TEXT); $lastDate = optional_param('lastDate', false, PARAM_TEXT); $sectionname = optional_param('sectionname', false, PARAM_TEXT); @@ -66,27 +65,18 @@ $modulename = optional_param('modulename', false ,PARAM_TEXT); $newinstance = optional_param('newinstance', false, PARAM_BOOL); -//gamification parameters -$rules = optional_param('rules', false ,PARAM_TEXT); -$levels = optional_param('levels', false ,PARAM_TEXT); -$settings= optional_param('settings', false ,PARAM_TEXT); -$url= optional_param('url', false ,PARAM_TEXT); -//$courseid = optional_param('modulename', false ,PARAM_TEXT); -//$enable = optional_param('modulename', false ,PARAM_BOOL); - -/* */ -$params = array(); // Array containing the data -$func = null; // fuction which will be call at line 193 +$params = array(); +$func = null; -if($action == 'saveconfigweek') {//Exemple: if the action passed is saveconfigweek then my array contain (weeks,courseid,userid,newinstance) +if($action == 'saveconfigweek') { array_push($params, $weeks); array_push($params, $courseid); array_push($params, $userid); array_push($params, $newinstance); if($weeks && $courseid && $userid){ - $func = "local_notemyprogress_save_weeks_config"; //this function must be contained in localib.php + $func = "local_notemyprogress_save_weeks_config"; } } elseif ($action == 'changegroup') { array_push($params, $courseid); @@ -186,27 +176,15 @@ if($action == 'saveconfigweek') {//Exemple: if the action passed is saveconfigwe if($courseid && $userid && $sectionname && $actiontype && $objectType && $objectName && $objectDescription && $currentUrl) { $func = "local_notemyprogress_addLogs"; } -}elseif($action =='savegamification'){ - array_push($params, $courseid); - array_push($params, $userid); - array_push($params, $rules); - array_push($params, $levels); - array_push($params, $settings); - array_push($params, $url); - //array_push($params, $courseid); - //array_push($params, $enable); - if($courseid && $userid && $rules && $levels && $settings && $url) { - $func = "local_notemyprogress_save_gamification_config"; - } - - } + + + if(isset($params) && isset($func)){ call_user_func_array($func, $params); - }else{ $message = get_string('api_invalid_data', 'local_notemyprogress'); - local_notemyprogress_ajax_response(array($message));//,$action,$courseid, $userid ,$rules , $levels, $settings, $url,$func), 442); + local_notemyprogress_ajax_response(array($message), 400); } @@ -318,7 +296,7 @@ function local_notemyprogress_generate_dropout_data($courseid, $userid, $profile $dropout->generate_data(); local_notemyprogress_ajax_response([], "ok", true, 200); }else{ - local_notemyprogress_ajax_response([], "", false, 402); + local_notemyprogress_ajax_response([], "", false, 400); } } @@ -344,21 +322,4 @@ function local_notemyprogress_addLogs($sectionname, $actiontype, $courseid, $use $logs = new \local_notemyprogress\logs($courseid, $userid); $logs->addLogsNMP($actiontype, $objectType, $sectionname, $objectName, $currentUrl, $objectDescription); local_notemyprogress_ajax_response(array("ok"=>"ok")); -} -function local_notemyprogress_save_gamification_config($courseid, $userid, $rules, $levels, $settings, $url){ - // \local_notemyprogress\logs::create( - // "setgamification", - // "configweeks", - // "saved", - // "weeks_settings", - // $url, - // 4, - // $userid, - // $courseid - // ); - - $configLevels = new \local_notemyprogress\configgamification($courseid, $userid); - $configLevels->save_levels($levels, $settings, $rules); - $message = get_string('fml_api_save_successful', 'local_notemyprogress'); - local_notemyprogress_ajax_response("ok", $message); - } \ No newline at end of file +} \ No newline at end of file diff --git a/notemyprogress/amd/build/assignments.min.js b/notemyprogress/amd/build/assignments.min.js index 4fe959e860d70b8e18deb512c44c1e3ecf818983..53681eb16cc77ddf61eeab8ee0d6425d53429577 100644 --- a/notemyprogress/amd/build/assignments.min.js +++ b/notemyprogress/amd/build/assignments.min.js @@ -1,2 +1,2 @@ define(["local_notemyprogress/vue","local_notemyprogress/vuetify","local_notemyprogress/axios","local_notemyprogress/moment","local_notemyprogress/pagination","local_notemyprogress/chartdynamic","local_notemyprogress/pageheader","local_notemyprogress/emailform","local_notemyprogress/helpdialog"],function(s,e,t,i,n,o,a,r,c){"use strict";return{init:function(i){s.use(e),s.component("pagination",n),s.component("chart",o),s.component("pageheader",a),s.component("emailform",r),s.component("helpdialog",c);let l=new s({delimiters:["[[","]]"],el:"#submissions",vuetify:new e,data:()=>({dialog:!1,selected_users:[],modulename:"",moduleid:!1,strings:i.strings,groups:i.groups,userid:i.userid,courseid:i.courseid,timezone:i.timezone,render_has:i.profile_render,scriptname:i.scriptname,loading:!1,errors:[],pages:i.pages,submissions:i.submissions,email_strings:i.strings.email_strings,access:i.access,assigns_submissions_colors:i.assigns_submissions_colors,access_content_colors:i.access_content_colors,access_chart_categories:[],access_chart_series:[],access_chart_users:[],help_dialog:!1,help_contents:[],email_object_name:""}),beforeMount(){this.generate_access_content_data()},mounted(){document.querySelector("#sessions-loader").style.display="none",document.querySelector("#submissions").style.display="block",setTimeout(function(){l.setGraphicsEventListeners()},1e3)},methods:{get_help_content(){let s=[];return s.push({title:this.strings.section_help_title,description:this.strings.section_help_description}),s},update_interactions(s){this.loading=!0,this.errors=[];let e={action:"assignments",userid:this.userid,courseid:this.courseid,weekcode:s.weekcode,profile:this.render_has};return t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:e}).then(s=>{200==s.status&&s.data.ok?(this.submissions=s.data.data.submissions,this.access=s.data.data.access,this.generate_access_content_data()):this.error_messages.push(this.strings.error_network)}).catch(s=>{this.errors.push(this.strings.api_error_network)}).finally(()=>{this.loading=!1,l.addLogsIntoDB("viewed","week_"+s.weekcode,"week_section","Week section that allows you to obtain information on a specific week"),l.setGraphicsEventListeners()}),this.data},build_assigns_submissions_chart(){let s=new Object;return s.chart={type:"column",backgroundColor:null,style:{fontFamily:"poppins"}},s.title={text:null},s.colors=this.assigns_submissions_colors,s.xAxis={categories:this.submissions.categories,crosshair:!0},s.yAxis={min:0,title:{text:this.strings.assignsubs_chart_yaxis},allowDecimals:!1},s.tooltip={formatter:function(){let s=this.x.split("</b>");s=(s=(s=s[0]||"").split("<b>"))[1]||"";let e=this.series.name,t=this.y,i=l.strings.students_text,n=l.strings.send_mail;return 1==t&&(i=l.strings.student_text),"<b>"+s+"</b><br/><b>"+e+": </b>"+t+" "+i+"<br/>"+n}},s.plotOptions={series:{cursor:"pointer",point:{events:{click:function(){l.email_object_name="assigns_submissions";let s=this.category.split("</b>");s=(s=(s=s[0]||"").split("<b>"))[1]||"",l.email_strings.subject=l.email_strings.subject_prefix+" - "+s;let e=this.x,t=this.series.colorIndex;l.dialog=!0,l.selected_users=l.submissions.users[e][t],l.moduleid=l.submissions.modules[e],l.modulename="assign",l.scriptname="test"}}}}},s.series=this.submissions.data,s},build_access_content_chart(){let s=new Object;return s.chart={type:"bar",backgroundColor:null,style:{fontFamily:"poppins"}},s.title={text:null},s.colors=this.access_content_colors,s.xAxis={categories:this.access_chart_categories,title:{text:null},crosshair:!0},s.yAxis={min:0,title:{text:this.strings.access_chart_yaxis_label},labels:{overflow:"justify"},allowDecimals:!1},s.tooltip={formatter:function(){let s=this.x,e=this.series.name,t=this.y,i=l.strings.students_text,n=l.strings.send_mail;return 1==t&&(i=l.strings.student_text),"<b>"+s+"</b><br/><b>"+e+": </b>"+t+" "+i+"<br/>"+n}},s.plotOptions={bar:{dataLabels:{enabled:!1}},series:{cursor:"pointer",point:{events:{click:function(){l.email_object_name="access_content";let s=this.category;l.email_strings.subject=l.email_strings.subject_prefix+" - "+s;let e=this.x,t=this.series.colorIndex,i=l.get_users(l.access_chart_users[e][t]);l.selected_users=i;let n=l.get_moduletype(this.category);l.modulename=n.type,l.moduleid=n.id,l.dialog=!0,l.scriptname="test"}}}}},s.series=this.access_chart_series,s},update_dialog(s){this.dialog=s},generate_access_content_data(){let s=[];this.access.users.forEach(e=>{s.push(Number(e.id))});let e=[];this.access.types.forEach(s=>{s.show&&e.push(s.type)});let t=[];this.access.modules.forEach(s=>{e.includes(s.type)&&t.push(s)});let i=[],n=[],o=[],a=[];t.forEach(e=>{i.push(e.name);let t=e.users,r=s.filter(s=>!t.includes(s));o.push(t.length),a.push(r.length),n.push([t,r])});let r=[{name:this.strings.access,data:o},{name:this.strings.no_access,data:a}];this.access_chart_categories=i,this.access_chart_series=r,this.access_chart_users=n},get_users(s){let e=[];return this.access.users.forEach(t=>{let i=Number(t.id);s.includes(i)&&e.push(t)}),e},get_moduletype(s){let e;return this.access.modules.forEach(t=>{t.name===s&&(e=t)}),e},open_chart_help(s){let e=[];var t="",i="",n="",o="";"assigns_submissions"==s?(e.push({title:this.strings.assigns_submissions_help_title,description:this.strings.assigns_submissions_help_description_p1}),e.push({description:this.strings.assigns_submissions_help_description_p2}),t="viewed",n="help",i="assigns_submissions",o="Help section that provides information about the invested time chart",l.addLogsIntoDB(t,i,n,o)):"access_content"==s&&(e.push({title:this.strings.access_content_help_title,description:this.strings.access_content_help_description_p1}),e.push({description:this.strings.access_content_help_description_p2}),t="viewed",n="help",i="access_content",o="Help section that provides information about the sessions per hour chart",l.addLogsIntoDB(t,i,n,o)),this.help_contents=e,this.help_contents.length&&(this.help_dialog=!0)},update_help_dialog(s){this.help_dialog=s},get_timezone(){return`${this.strings.ss_change_timezone} ${this.timezone}`},setGraphicsEventListeners(){let s=document.querySelectorAll(".highcharts-container");s.length<1?setTimeout(l.setGraphicsEventListeners,500):(s[0].id="submissions",s[1].id="accessContent",s.forEach(s=>{s.addEventListener("mouseenter",l.addLogsViewGraphic)}))},addLogsViewGraphic(s){event.stopPropagation();var e="",t="",i="",n="";switch(s.target.id){case"submissions":e="viewed",t="assigns_submissions",i="chart",n="Chart showing the work submited by the students";break;case"accessContent":e="viewed",t="access_content",i="chart",n="Chart showing the course content accessed by the students";break;default:e="viewed",t="",i="chart",n="A chart"}l.addLogsIntoDB(e,t,i,n)},addLogsIntoDB(s,e,n,o){let a={courseid:i.courseid,userid:i.userid,action:"addLogs",sectionname:"TASKS_MONITORING",actiontype:s,objectType:n,objectName:e,currentUrl:document.location.href,objectDescription:o};t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:a}).then(s=>{200==s.status&&s.data.ok}).catch(s=>{})}}})}}}); -//# sourceMappingURL=assignments.min.js.map \ No newline at end of file +//# sourceMappingURL=assignments.min.js.map diff --git a/notemyprogress/amd/build/axios.min.js.map b/notemyprogress/amd/build/axios.min.js.map index b2eff4252226025e81dcc7d1b5f89f234e0d6c7d..da388cd2eb63beb1696186ec1f8ae3d895404b7a 100644 --- a/notemyprogress/amd/build/axios.min.js.map +++ b/notemyprogress/amd/build/axios.min.js.map @@ -1,16 +1 @@ -{ - "version": 3, - "sources": [ - "../src/axios.js" - ], - "names": [ - "define", - "unused", - "axios" - ], - "mappings": "AAAAA,OAAM,4BAAC,CAAC,2BAAD,CAA8B,OAA9B,CAAD,CAAyC,SAASC,CAAT,CAAiBC,CAAjB,CAAwB,CAC/D,MAAOA,CAAAA,CACV,CAFC,CAAN", - "sourcesContent": [ - "define(['local_notemyprogress/config', 'axios'], function(unused, axios) {\r\n return axios;\r\n }\r\n);" - ], - "file": "axios.min.js" -} +{"version":3,"sources":["../src/axios.js"],"names":["define","unused","axios"],"mappings":"AAAAA,OAAM,4BAAC,CAAC,2BAAD,CAA8B,OAA9B,CAAD,CAAyC,SAASC,CAAT,CAAiBC,CAAjB,CAAwB,CAC/D,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'axios'], function(unused, axios) {\r\n return axios;\r\n }\r\n);"],"file":"axios.min.js"} \ No newline at end of file diff --git a/notemyprogress/amd/build/draggable.min.js.map b/notemyprogress/amd/build/draggable.min.js.map index 08b4fa9ce1d4dd89970d91be878a8e5eca1e9359..cfa7b9b525404c485d80d63abb5ed2387e343165 100644 --- a/notemyprogress/amd/build/draggable.min.js.map +++ b/notemyprogress/amd/build/draggable.min.js.map @@ -1,16 +1 @@ -{ - "version": 3, - "sources": [ - "../src/draggable.js" - ], - "names": [ - "define", - "unused", - "draggable" - ], - "mappings": "AAAAA,OAAM,gCAAC,CAAC,2BAAD,CAA8B,WAA9B,CAAD,CAA6C,SAASC,CAAT,CAAiBC,CAAjB,CAA4B,CACvE,MAAOA,CAAAA,CACV,CAFC,CAAN", - "sourcesContent": [ - "define(['local_notemyprogress/config', 'draggable'], function(unused, draggable) {\r\n return draggable;\r\n }\r\n);" - ], - "file": "draggable.min.js" -} +{"version":3,"sources":["../src/draggable.js"],"names":["define","unused","draggable"],"mappings":"AAAAA,OAAM,gCAAC,CAAC,2BAAD,CAA8B,WAA9B,CAAD,CAA6C,SAASC,CAAT,CAAiBC,CAAjB,CAA4B,CACvE,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'draggable'], function(unused, draggable) {\r\n return draggable;\r\n }\r\n);"],"file":"draggable.min.js"} \ No newline at end of file diff --git a/notemyprogress/amd/build/dropout.min.js b/notemyprogress/amd/build/dropout.min.js index dae5b10593ebeab6782d7f8688711db846150f25..dddafbba5a06f54112f91ca1481baab706c6b987 100644 --- a/notemyprogress/amd/build/dropout.min.js +++ b/notemyprogress/amd/build/dropout.min.js @@ -1,886 +1,2 @@ -define([ - "local_notemyprogress/vue", - "local_notemyprogress/vuetify", - "local_notemyprogress/axios", - "local_notemyprogress/moment", - "local_notemyprogress/momenttimezone", - "local_notemyprogress/pagination", - "local_notemyprogress/chartdynamic", - "local_notemyprogress/pageheader", - "local_notemyprogress/emailform", - "local_notemyprogress/modulesform", - "local_notemyprogress/helpdialog", -], function (e, s, t, i, o, r, l, n, a, d, u) { - "use strict"; - return { - init: function (o) { - e.use(s), - e.component("pagination", r), - e.component("chart", l), - e.component("pageheader", n), - e.component("emailform", a), - e.component("modulesform", d), - e.component("helpdialog", u); - let c = new e({ - delimiters: ["[[", "]]"], - el: "#dropout", - vuetify: new s(), - data: () => ({ - strings: o.strings, - groups: o.groups, - userid: o.userid, - courseid: o.courseid, - timezone: o.timezone, - render_has: o.profile_render, - loading: !1, - errors: [], - pages: o.pages, - dropout: o.dropout, - modules_access_colors: o.modules_access_colors, - week_modules_colors: o.week_modules_colors, - sessions_evolution_colors: o.sessions_evolution_colors, - user_grades_colors: o.user_grades_colors, - selected_cluster: [], - cluster_users: [], - selected_user: null, - search: null, - week_modules_chart_data: [], - week_modules_chart_categories: [], - selected_sections: [], - sessions_evolution_data: [], - user_grades_categories: [], - user_grades_data: [], - modules_dialog: !1, - email_users: [], - email_dialog: !1, - modulename: "", - moduleid: !1, - email_strings: o.strings.email_strings, - help_dialog: !1, - help_contents: [], - email_object_name: "", - }), - beforeMount() { - this.dropout.clusters.length && - (this.set_modules_in_sections(), - (this.selected_cluster = this.dropout.clusters[0]), - this.change_cluster(this.selected_cluster.users)); - }, - mounted() { - (document.querySelector("#sessions-loader").style.display = "none"), - (document.querySelector("#dropout").style.display = "block"), - setTimeout(function () { - c.setGraphicsEventListeners(); - }); - }, - computed: {}, - methods: { - get_help_content() { - let e = []; - return ( - e.push({ - title: this.strings.section_help_title, - description: this.strings.section_help_description, - }), - e - ); - }, - set_modules_in_sections() { - let e = new Map(), - s = 0; - this.dropout.cms.forEach((t) => { - (s = Number(t.section)), - e.has(s) ? e.get(s).push(t) : e.set(s, [t]); - }), - this.dropout.sections.forEach((t) => { - (s = Number(t.sectionid)), - (t.sectionid = s), - (t.modules = e.has(s) ? e.get(s) : []); - }); - }, - change_cluster(e) { - let s = []; - if ( - (this.dropout.users.forEach((t) => { - e.includes(t.id) && s.push(t); - }), - s.length) - ) { - this.cluster_users = s; - let e = this.cluster_users[0]; - isNaN(parseInt(this.selected_cluster.number)) || - this.addLogsIntoDB( - "viewed", - "group_" + parseInt(this.selected_cluster.number) + 1, - "group", - "Viewed a group" - ), - this.change_user(e); - } else (this.cluster_users = []), (this.selected_user = null); - }, - change_user(e) { - let s = this.selected_user; - (this.selected_user = e), - this.calculate_week_modules_access(), - this.calculate_sessions_evolution(), - this.calculate_user_grades(), - null != s && - s.username != this.selected_user.username && - this.addLogsIntoDB( - "viewed", - "user_" + e.username, - "user_details", - "Viewed the " + - e.username + - " details (charts, statistics, etc.)" - ); - }, - calculate_week_modules_access() { - let e, - s = 0, - t = 0, - i = 0, - o = 0, - r = [], - l = [], - n = [], - a = []; - this.dropout.weeks.forEach((d) => { - (i = 0), - (o = 0), - d.sections.forEach((l) => { - (s = Number(l.sectionid)), - (l.sectionid = s), - (r = this.sections_modules(s)).forEach((s) => { - (t = Number(s.id)), - (s.id = t), - (e = this.selected_user.cms.modules[`cm${s.id}`]) && - (e.complete && i++, e.viewed && o++); - }); - }), - l.push(i), - n.push(o), - a.push(`${d.name} ${d.position + 1}`); - }), - (this.week_modules_chart_categories = a), - (this.week_modules_chart_data = [ - { - name: this.strings.modules_access_chart_series_viewed, - data: n, - }, - { - name: this.strings.modules_access_chart_series_complete, - data: l, - }, - ]); - }, - calculate_sessions_evolution() { - let e = [], - s = [], - t = 0, - i = 0, - o = 0, - r = 0; - this.selected_user.sessions.forEach((l) => { - (r = 1e3 * Number(l.start)), - (o = Number(l.duration) / 60), - (t += o), - i++, - e.push({ x: r, y: i }), - s.push({ x: r, y: t }); - }), - (this.sessions_evolution_data = [ - { - name: this.strings.sessions_evolution_chart_legend1, - yAxis: 0, - data: e, - }, - { - name: this.strings.sessions_evolution_chart_legend2, - yAxis: 1, - data: s, - }, - ]); - }, - calculate_user_grades() { - let e = [], - s = [], - t = [], - i = 0, - o = this.selected_user.firstname; - this.selected_user.gradeitems && - (this.selected_user.gradeitems.forEach((o) => { - (i = (100 * Number(o.finalgrade)) / Number(o.grademax)), - e.push(o.itemname), - s.push(o.average_percentage), - t.push(i); - }), - (this.user_grades_data = [ - { name: o, data: t }, - { name: this.strings.user_grades_chart_legend, data: s }, - ]), - (this.user_grades_categories = e)); - }, - build_modules_access_chart() { - let e = new Object(); - return ( - (e.chart = { - type: "bar", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }), - (e.title = { text: null }), - (e.colors = this.modules_access_colors), - (e.xAxis = { type: "category" }), - (e.yAxis = { - allowDecimals: !1, - title: { enabled: !0, text: this.strings.modules_amount }, - }), - (e.tooltip = { - shared: !0, - formatter: function () { - let e = - 1 == this.y - ? c.strings.module_label - : c.strings.modules_label; - return ( - "<b>" + - this.points[0].key + - "</b>: " + - this.y + - " " + - e + - "<br/><i>" + - c.strings.modules_details + - "<i/>" - ); - }, - }), - (e.plotOptions = { - series: { - cursor: "pointer", - point: { - events: { - click: function () { - c.open_modules_modal(this.x), - c.addLogsIntoDB( - "viewed", - c.selected_user.username + "_module_access", - "chart_details", - "Provide details informations about the consulted resources" - ); - }, - }, - }, - }, - }), - (e.legend = { enabled: !1 }), - (e.series = [ - { - colorByPoint: !0, - data: [ - { - name: this.strings.modules_access_chart_series_viewed, - y: this.selected_user.cms.viewed, - }, - { - name: this.strings.modules_access_chart_series_complete, - y: this.selected_user.cms.complete, - }, - { - name: this.strings.modules_access_chart_series_total, - y: this.selected_user.cms.total, - }, - ], - }, - ]), - e - ); - }, - build_week_modules_chart() { - let e = new Object(); - return ( - (e.chart = { - type: "column", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }), - (e.title = { text: null }), - (e.colors = this.week_modules_colors), - (e.xAxis = { - categories: this.week_modules_chart_categories, - title: { text: null }, - crosshair: !0, - }), - (e.yAxis = { - allowDecimals: !1, - title: { text: this.strings.modules_amount }, - }), - (e.tooltip = { - shared: !0, - useHTML: !0, - formatter: function () { - let e = "", - s = ""; - if (this.points[0]) { - let s = - 1 == this.points[0].y - ? c.strings.module_label - : c.strings.modules_label, - t = this.points[0].series.name; - e = `<b style="color: ${this.points[0].color}">${t}: </b>\n ${this.points[0].y} ${s}<br/>`; - } - if (this.points[1]) { - let e = - 1 == this.points[1].y - ? c.strings.module_label - : c.strings.modules_label, - t = this.points[1].series.name; - s = `<b style="color: ${this.points[1].color}">${t}: </b>\n ${this.points[1].y} ${e}<br/>`; - } - return `${this.x} <br/> ${e}${s} <i>${c.strings.modules_details}<i/>`; - }, - }), - (e.plotOptions = { - series: { - cursor: "pointer", - point: { - events: { - click: function () { - c.open_modules_modal(this.colorIndex, this.x), - c.addLogsIntoDB( - "viewed", - c.selected_user.username + "_week_modules", - "chart_details", - "Provide details informations about the consulted resources" - ); - }, - }, - }, - }, - }), - (e.series = this.week_modules_chart_data), - e - ); - }, - build_sessions_evolution_chart() { - let e = new Object(); - return ( - (e.chart = { - zoomType: "x", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }), - (e.title = { text: null }), - (e.colors = this.sessions_evolution_colors), - (e.xAxis = { type: "datetime" }), - (e.yAxis = [ - { - allowDecimals: !1, - title: { text: this.strings.sessions_evolution_chart_xaxis1 }, - }, - { - title: { text: this.strings.sessions_evolution_chart_xaxis2 }, - opposite: !0, - }, - ]), - (e.tooltip = { - shared: !0, - useHTML: !0, - formatter: function () { - return `<small>${c.calculate_timezone_date_string( - this.x - )}</small><br/>${ - this.points[0] - ? c.get_sessions_evolution_tooltip(this.points[0]) - : "" - }${ - this.points[1] - ? c.get_sessions_evolution_tooltip(this.points[1]) - : "" - }`; - }, - }), - (e.series = this.sessions_evolution_data), - e - ); - }, - build_user_grades_chart() { - let e = new Object(); - return ( - (e.chart = { - type: "column", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }), - (e.title = { text: null }), - (e.colors = this.user_grades_colors), - (e.xAxis = { - crosshair: !0, - categories: this.user_grades_categories, - }), - (e.yAxis = { - allowDecimals: !1, - max: 100, - labels: { format: "{value} %" }, - title: { text: this.strings.user_grades_chart_yaxis }, - }), - (e.tooltip = { - shared: !0, - useHTML: !0, - formatter: function () { - let e = this.x, - s = this.points[0].point.x, - t = c.selected_user.gradeitems[s], - i = `<small>${e}</small><br/>`, - o = `<i>(${c.strings.user_grades_chart_view_activity})</i><br/>`, - r = ""; - return ( - (r = - 0 == t.gradecount - ? c.strings.user_grades_chart_tooltip_no_graded - : `${ - this.points[0] - ? c.get_user_grades_tooltip(this.points[0], t) - : "" - }${ - this.points[1] - ? c.get_user_grades_tooltip(this.points[1], t) - : "" - }${o}`), - `${i}${r}` - ); - }, - }), - (e.plotOptions = { - series: { - cursor: "pointer", - point: { - events: { - click: function () { - let e = this.x, - s = c.selected_user.gradeitems[e], - t = `${M.cfg.wwwroot}/mod/${s.itemmodule}/view.php?id=${s.coursemoduleid}`; - window.open(t, "_blank"), - c.addLogsIntoDB( - "viewed", - c.selected_user.username + "_user_grades", - "chart_details", - "Provide informations about a certain test" - ); - }, - }, - }, - }, - }), - (e.series = this.user_grades_data), - e - ); - }, - get_sessions_evolution_tooltip(e) { - let s, - t, - i, - o, - r, - l = ""; - return ( - 0 == e.colorIndex - ? ((t = - 1 == (s = e.y) - ? c.strings.session_text - : c.strings.sessions_text), - (i = e.series.name), - (l = `<b style="color: ${e.color}">${i}: </b>\n ${s} ${t}<br/>`)) - : ((o = e.series.name), - (r = this.convert_time(60 * e.y)), - (l = `<b style="color: ${e.color}">${o}: </b>\n ${r}<br/>`)), - l - ); - }, - get_user_grades_tooltip(e, s) { - let t = e.series.name, - i = 0, - o = Number(s.finalgrade), - r = Number(s.average), - l = Number(s.grademax); - return ( - (l = this.isInt(l) ? l : l.toFixed(2)), - (i = - 0 == e.colorIndex - ? this.isInt(o) - ? o - : o.toFixed(2) - : this.isInt(r) - ? r - : r.toFixed(2)), - `<b style="color: ${e.color}">${t}: </b>\n ${i}/${l}<br/>` - ); - }, - calculate_timezone_date_string(e) { - let s, t, o, r, l; - if (i.tz.zone(this.timezone)) - (t = (s = i(e).tz(this.timezone)).day()), - (o = s.date()), - (r = s.month()), - (l = s.format("HH:mm:ss")); - else { - let i = Intl.DateTimeFormat().resolvedOptions().timeZone; - (t = (s = new Date(e)).getDay()), - (o = s.getDate()), - (r = s.getMonth()), - (l = `${s.getHours()}:${s.getMinutes()}:${s.getSeconds()} (${i})`); - } - return `${(t = this.strings.chart.weekdays[t])}, ${(r = - this.strings.chart.shortMonths[r])} ${o}, ${l}`; - }, - convert_time(e) { - e *= 60; - let s, - t = this.strings.hours_short, - i = this.strings.minutes_short, - o = this.strings.seconds_short, - r = Math.floor(e / 3600), - l = Math.floor((e % 3600) / 60), - n = Math.floor(e % 60); - return (s = - r >= 1 - ? l >= 1 - ? `${r}${t} ${l}${i}` - : `${r}${t}` - : l >= 1 - ? n >= 1 - ? `${l}${i} ${n}${o}` - : `${l}${i}` - : `${n}${o}`); - }, - open_modules_modal(e, s) { - let t = this.dropout.sections; - if (Number.isInteger(s)) { - let e; - (t = []), - this.dropout.weeks[s].sections.forEach((s) => { - (e = { - sectionid: s.sectionid, - name: s.name, - modules: this.sections_modules(s.sectionid), - }), - t.push(e); - }); - } - t.forEach((e) => { - e.modules.forEach((e) => { - (e.complete = !1), (e.viewed = !1), (e.interactions = 0); - let s = this.selected_user.cms.modules[`cm${e.id}`]; - s && - ((e.complete = s.complete), - (e.viewed = s.viewed), - (e.interactions = s.interactions)); - }); - }), - (this.selected_sections = t), - (this.modules_dialog = !0); - }, - sections_modules(e) { - let s = [], - t = this.dropout.sections; - for (let i = 0; i < t.length; i++) - if (t[i].sectionid == e) { - t[i].modules && (s = t[i].modules); - break; - } - return s; - }, - get_user_module(e) { - let s, - t = this.selected_user.cms.modules; - for (let i = 0; i < t.length; i++) - if (((t[i].id = Number(t[i].id)), t[i].id == e)) { - s = t[i]; - break; - } - return s; - }, - table_headers() { - return [ - { text: "", value: "id", align: "center", sortable: !1 }, - { text: this.strings.thead_name, value: "firstname" }, - { text: this.strings.thead_lastname, value: "lastname" }, - { - text: this.strings.thead_progress, - value: "progress_percentage", - }, - ]; - }, - get_picture_url: (e) => - `${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`, - get_user_fullname() { - return `${this.selected_user.firstname} ${this.selected_user.lastname}`; - }, - get_username() { - return `@${this.selected_user.username}`; - }, - see_profile() { - let e = this.selected_user.id, - s = - M.cfg.wwwroot + - "/user/view.php?id=" + - e + - "&course=" + - c.courseid; - window.open(s); - }, - get_progress_message() { - let e = this.strings.modules_label, - s = this.strings.finisheds_label; - return ( - 1 == this.selected_user.cms.complete && - ((e = this.strings.module_label), - (s = this.strings.finished_label)), - `${this.selected_user.cms.complete} ${e} ${s} ${this.strings.of_conector} ${this.dropout.total_cms}` - ); - }, - get_progress_percentage() { - return `${this.selected_user.progress_percentage} %`; - }, - get_student_grade() { - let e = this.selected_user.coursegrade; - return ( - (e.finalgrade = Number(e.finalgrade)), - (e.maxgrade = Number(e.maxgrade)), - `${ - this.isInt(e.finalgrade) - ? e.finalgrade - : e.finalgrade.toFixed(2) - }/${this.isInt(e.maxgrade) ? e.maxgrade : e.maxgrade.toFixed(2)}` - ); - }, - get_sendmail_user_text() { - return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}`; - }, - sendmail(e) { - (this.strings.email_strings.subject = - this.strings.email_strings.subject_prefix), - (this.modulename = "course"), - (this.moduleid = this.courseid), - 1 == e - ? ((this.email_object_name = this.selected_user.username), - (this.email_users = [this.selected_user]), - (this.email_dialog = !0)) - : 2 == e && - (isNaN(parseInt(this.selected_cluster.number)) - ? (this.email_object_name = "unknown") - : (this.email_object_name = - parseInt(this.selected_cluster.number) + 1), - (this.email_users = this.cluster_users), - (this.email_dialog = !0)); - }, - update_email_dialog(e) { - this.email_dialog = e; - }, - update_modules_dialog(e) { - this.modules_dialog = e; - }, - isInt: (e) => e % 1 == 0, - generate_dropout_data() { - (this.loading = !0), (this.errors = []); - let e = { - action: "dropoutdata", - userid: this.userid, - courseid: this.courseid, - profile: this.render_has, - }; - return ( - t({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - params: e, - }) - .then((e) => { - 200 == e.status && e.data.ok - ? location.reload() - : this.error_messages.push(this.strings.error_network); - }) - .catch((e) => { - this.errors.push(this.strings.api_error_network); - }) - .finally(() => { - this.loading = !1; - }), - this.data - ); - }, - open_chart_help(e) { - let s = [], - t = "", - i = "", - o = "", - r = ""; - "group_students" == e - ? (s.push({ - title: this.strings.group_students_help_title, - description: this.strings.group_students_help_description_p1, - }), - s.push({ - description: this.strings.group_students_help_description_p2, - }), - (t = "viewed"), - (i = "help"), - (o = "group_student"), - (r = - "Help section that provides information about the group students section"), - this.addLogsIntoDB(t, o, i, r)) - : "modules_access" == e - ? (s.push({ - title: this.strings.modules_access_help_title, - description: this.strings.modules_access_help_description_p1, - }), - s.push({ - description: this.strings.modules_access_help_description_p2, - }), - s.push({ - description: this.strings.modules_access_help_description_p3, - }), - (t = "viewed"), - (i = "help"), - (o = "modules_access"), - (r = - "Help section that provides information about the modules access chart"), - this.addLogsIntoDB(t, o, i, r)) - : "week_modules" == e - ? (s.push({ - title: this.strings.week_modules_help_title, - description: this.strings.week_modules_help_description_p1, - }), - s.push({ - description: this.strings.week_modules_help_description_p2, - }), - s.push({ - description: this.strings.week_modules_help_description_p3, - }), - (t = "viewed"), - (i = "help"), - (o = "week_modules"), - (r = - "Help section that provides information about the week modules chart"), - this.addLogsIntoDB(t, o, i, r)) - : "sessions_evolution" == e - ? (s.push({ - title: this.strings.sessions_evolution_help_title, - description: - this.strings.sessions_evolution_help_description_p1, - }), - s.push({ - description: - this.strings.sessions_evolution_help_description_p2, - }), - s.push({ - description: - this.strings.sessions_evolution_help_description_p3, - }), - (t = "viewed"), - (i = "help"), - (o = "sessions_evolution"), - (r = - "Help section that provides information about the sessions evolution chart"), - this.addLogsIntoDB(t, o, i, r)) - : "user_grades" == e && - (s.push({ - title: this.strings.user_grades_help_title, - description: this.strings.user_grades_help_description_p1, - }), - s.push({ - description: this.strings.user_grades_help_description_p2, - }), - s.push({ - description: this.strings.user_grades_help_description_p3, - }), - (t = "viewed"), - (i = "help"), - (o = "user_grades"), - (r = - "Help section that provides information about the user grades chart"), - this.addLogsIntoDB(t, o, i, r)), - (this.help_contents = s), - this.help_contents.length && (this.help_dialog = !0); - }, - update_help_dialog(e) { - this.help_dialog = e; - }, - get_timezone() { - return `${this.strings.ss_change_timezone} ${this.timezone}`; - }, - setGraphicsEventListeners() { - let e = document.querySelectorAll(".highcharts-container"); - (e[0].id = "courseRessources"), - (e[1].id = "weekRessources"), - (e[2].id = "sessionsAndInvestedTime"), - (e[3].id = "qualifications"), - e.forEach((e) => { - e.addEventListener("mouseenter", c.addLogsViewGraphic); - }); - }, - addLogsViewGraphic(e) { - event.stopPropagation(); - var s = "", - t = "", - i = "", - o = ""; - switch (e.target.id) { - case "courseRessources": - (s = "viewed"), - (t = c.selected_user.username + "_modules_access"), - (i = "chart"), - (o = "Bar chart that shows"); - break; - case "weekRessources": - (s = "viewed"), - (t = c.selected_user.username + "_week_modules"), - (i = "chart"), - (o = "Chart showing"); - break; - case "sessionsAndInvestedTime": - (s = "viewed"), - (t = c.selected_user.username + "_sessions_evolution"), - (i = "chart"), - (o = "Chart showing "); - break; - case "qualifications": - (s = "viewed"), - (t = c.selected_user.username + "_user_grades"), - (i = "chart"), - (o = "Chart showing "); - break; - default: - (s = "viewed"), (t = ""), (i = "chart"), (o = "A chart"); - } - c.addLogsIntoDB(s, t, i, o); - }, - addLogsIntoDB(e, s, i, r) { - let l = { - courseid: o.courseid, - userid: o.userid, - action: "addLogs", - sectionname: "DROPOUT", - actiontype: e, - objectType: i, - objectName: s, - currentUrl: document.location.href, - objectDescription: r, - }; - t({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - params: l, - }) - .then((e) => { - 200 == e.status && e.data.ok; - }) - .catch((e) => {}); - }, - }, - }); - }, - }; -}); +define(["local_notemyprogress/vue", "local_notemyprogress/vuetify", "local_notemyprogress/axios", "local_notemyprogress/moment", "local_notemyprogress/momenttimezone", "local_notemyprogress/pagination", "local_notemyprogress/chartdynamic", "local_notemyprogress/pageheader", "local_notemyprogress/emailform", "local_notemyprogress/modulesform", "local_notemyprogress/helpdialog"], function (e, s, t, i, o, r, l, n, a, d, u) { "use strict"; return { init: function (o) { e.use(s), e.component("pagination", r), e.component("chart", l), e.component("pageheader", n), e.component("emailform", a), e.component("modulesform", d), e.component("helpdialog", u); let c = new e({ delimiters: ["[[", "]]"], el: "#dropout", vuetify: new s, data: () => ({ strings: o.strings, groups: o.groups, userid: o.userid, courseid: o.courseid, timezone: o.timezone, render_has: o.profile_render, loading: !1, errors: [], pages: o.pages, dropout: o.dropout, modules_access_colors: o.modules_access_colors, week_modules_colors: o.week_modules_colors, sessions_evolution_colors: o.sessions_evolution_colors, user_grades_colors: o.user_grades_colors, selected_cluster: [], cluster_users: [], selected_user: null, search: null, week_modules_chart_data: [], week_modules_chart_categories: [], selected_sections: [], sessions_evolution_data: [], user_grades_categories: [], user_grades_data: [], modules_dialog: !1, email_users: [], email_dialog: !1, modulename: "", moduleid: !1, email_strings: o.strings.email_strings, help_dialog: !1, help_contents: [], email_object_name: "" }), beforeMount() { this.dropout.clusters.length && (this.set_modules_in_sections(), this.selected_cluster = this.dropout.clusters[0], this.change_cluster(this.selected_cluster.users)) }, mounted() { document.querySelector("#sessions-loader").style.display = "none", document.querySelector("#dropout").style.display = "block", setTimeout(function () { c.setGraphicsEventListeners() }) }, computed: {}, methods: { get_help_content() { let e = []; return e.push({ title: this.strings.section_help_title, description: this.strings.section_help_description }), e }, set_modules_in_sections() { let e = new Map, s = 0; this.dropout.cms.forEach(t => { s = Number(t.section), e.has(s) ? e.get(s).push(t) : e.set(s, [t]) }), this.dropout.sections.forEach(t => { s = Number(t.sectionid), t.sectionid = s, t.modules = e.has(s) ? e.get(s) : [] }) }, change_cluster(e) { let s = []; if (this.dropout.users.forEach(t => { e.includes(t.id) && s.push(t) }), s.length) { this.cluster_users = s; let e = this.cluster_users[0]; isNaN(parseInt(this.selected_cluster.number)) || this.addLogsIntoDB("viewed", "group_" + parseInt(this.selected_cluster.number) + 1, "group", "Viewed a group"), this.change_user(e) } else this.cluster_users = [], this.selected_user = null }, change_user(e) { let s = this.selected_user; this.selected_user = e, this.calculate_week_modules_access(), this.calculate_sessions_evolution(), this.calculate_user_grades(), null != s && s.username != this.selected_user.username && this.addLogsIntoDB("viewed", "user_" + e.username, "user_details", "Viewed the " + e.username + " details (charts, statistics, etc.)") }, calculate_week_modules_access() { let e, s = 0, t = 0, i = 0, o = 0, r = [], l = [], n = [], a = []; this.dropout.weeks.forEach(d => { i = 0, o = 0, d.sections.forEach(l => { s = Number(l.sectionid), l.sectionid = s, (r = this.sections_modules(s)).forEach(s => { t = Number(s.id), s.id = t, (e = this.selected_user.cms.modules[`cm${s.id}`]) && (e.complete && i++, e.viewed && o++) }) }), l.push(i), n.push(o), a.push(`${d.name} ${d.position + 1}`) }), this.week_modules_chart_categories = a, this.week_modules_chart_data = [{ name: this.strings.modules_access_chart_series_viewed, data: n }, { name: this.strings.modules_access_chart_series_complete, data: l }] }, calculate_sessions_evolution() { let e = [], s = [], t = 0, i = 0, o = 0, r = 0; this.selected_user.sessions.forEach(l => { r = 1e3 * Number(l.start), o = Number(l.duration) / 60, t += o, i++, e.push({ x: r, y: i }), s.push({ x: r, y: t }) }), this.sessions_evolution_data = [{ name: this.strings.sessions_evolution_chart_legend1, yAxis: 0, data: e }, { name: this.strings.sessions_evolution_chart_legend2, yAxis: 1, data: s }] }, calculate_user_grades() { let e = [], s = [], t = [], i = 0, o = this.selected_user.firstname; this.selected_user.gradeitems && (this.selected_user.gradeitems.forEach(o => { i = 100 * Number(o.finalgrade) / Number(o.grademax), e.push(o.itemname), s.push(o.average_percentage), t.push(i) }), this.user_grades_data = [{ name: o, data: t }, { name: this.strings.user_grades_chart_legend, data: s }], this.user_grades_categories = e) }, build_modules_access_chart() { let e = new Object; return e.chart = { type: "bar", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.modules_access_colors, e.xAxis = { type: "category" }, e.yAxis = { allowDecimals: !1, title: { enabled: !0, text: this.strings.modules_amount } }, e.tooltip = { shared: !0, formatter: function () { let e = 1 == this.y ? c.strings.module_label : c.strings.modules_label; return "<b>" + this.points[0].key + "</b>: " + this.y + " " + e + "<br/><i>" + c.strings.modules_details + "<i/>" } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { c.open_modules_modal(this.x), c.addLogsIntoDB("viewed", c.selected_user.username + "_module_access", "chart_details", "Provide details informations about the consulted resources") } } } } }, e.legend = { enabled: !1 }, e.series = [{ colorByPoint: !0, data: [{ name: this.strings.modules_access_chart_series_viewed, y: this.selected_user.cms.viewed }, { name: this.strings.modules_access_chart_series_complete, y: this.selected_user.cms.complete }, { name: this.strings.modules_access_chart_series_total, y: this.selected_user.cms.total }] }], e }, build_week_modules_chart() { let e = new Object; return e.chart = { type: "column", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.week_modules_colors, e.xAxis = { categories: this.week_modules_chart_categories, title: { text: null }, crosshair: !0 }, e.yAxis = { allowDecimals: !1, title: { text: this.strings.modules_amount } }, e.tooltip = { shared: !0, useHTML: !0, formatter: function () { let e = "", s = ""; if (this.points[0]) { let s = 1 == this.points[0].y ? c.strings.module_label : c.strings.modules_label, t = this.points[0].series.name; e = `<b style="color: ${this.points[0].color}">${t}: </b>\n ${this.points[0].y} ${s}<br/>` } if (this.points[1]) { let e = 1 == this.points[1].y ? c.strings.module_label : c.strings.modules_label, t = this.points[1].series.name; s = `<b style="color: ${this.points[1].color}">${t}: </b>\n ${this.points[1].y} ${e}<br/>` } return `${this.x} <br/> ${e}${s} <i>${c.strings.modules_details}<i/>` } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { c.open_modules_modal(this.colorIndex, this.x), c.addLogsIntoDB("viewed", c.selected_user.username + "_week_modules", "chart_details", "Provide details informations about the consulted resources") } } } } }, e.series = this.week_modules_chart_data, e }, build_sessions_evolution_chart() { let e = new Object; return e.chart = { zoomType: "x", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.sessions_evolution_colors, e.xAxis = { type: "datetime" }, e.yAxis = [{ allowDecimals: !1, title: { text: this.strings.sessions_evolution_chart_xaxis1 } }, { title: { text: this.strings.sessions_evolution_chart_xaxis2 }, opposite: !0 }], e.tooltip = { shared: !0, useHTML: !0, formatter: function () { return `<small>${c.calculate_timezone_date_string(this.x)}</small><br/>${this.points[0] ? c.get_sessions_evolution_tooltip(this.points[0]) : ""}${this.points[1] ? c.get_sessions_evolution_tooltip(this.points[1]) : ""}` } }, e.series = this.sessions_evolution_data, e }, build_user_grades_chart() { let e = new Object; return e.chart = { type: "column", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.user_grades_colors, e.xAxis = { crosshair: !0, categories: this.user_grades_categories }, e.yAxis = { allowDecimals: !1, max: 100, labels: { format: "{value} %" }, title: { text: this.strings.user_grades_chart_yaxis } }, e.tooltip = { shared: !0, useHTML: !0, formatter: function () { let e = this.x, s = this.points[0].point.x, t = c.selected_user.gradeitems[s], i = `<small>${e}</small><br/>`, o = `<i>(${c.strings.user_grades_chart_view_activity})</i><br/>`, r = ""; return r = 0 == t.gradecount ? c.strings.user_grades_chart_tooltip_no_graded : `${this.points[0] ? c.get_user_grades_tooltip(this.points[0], t) : ""}${this.points[1] ? c.get_user_grades_tooltip(this.points[1], t) : ""}${o}`, `${i}${r}` } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { let e = this.x, s = c.selected_user.gradeitems[e], t = `${M.cfg.wwwroot}/mod/${s.itemmodule}/view.php?id=${s.coursemoduleid}`; window.open(t, "_blank"), c.addLogsIntoDB("viewed", c.selected_user.username + "_user_grades", "chart_details", "Provide informations about a certain test") } } } } }, e.series = this.user_grades_data, e }, get_sessions_evolution_tooltip(e) { let s, t, i, o, r, l = ""; return 0 == e.colorIndex ? (t = 1 == (s = e.y) ? c.strings.session_text : c.strings.sessions_text, i = e.series.name, l = `<b style="color: ${e.color}">${i}: </b>\n ${s} ${t}<br/>`) : (o = e.series.name, r = this.convert_time(60 * e.y), l = `<b style="color: ${e.color}">${o}: </b>\n ${r}<br/>`), l }, get_user_grades_tooltip(e, s) { let t = e.series.name, i = 0, o = Number(s.finalgrade), r = Number(s.average), l = Number(s.grademax); return l = this.isInt(l) ? l : l.toFixed(2), i = 0 == e.colorIndex ? this.isInt(o) ? o : o.toFixed(2) : this.isInt(r) ? r : r.toFixed(2), `<b style="color: ${e.color}">${t}: </b>\n ${i}/${l}<br/>` }, calculate_timezone_date_string(e) { let s, t, o, r, l; if (i.tz.zone(this.timezone)) t = (s = i(e).tz(this.timezone)).day(), o = s.date(), r = s.month(), l = s.format("HH:mm:ss"); else { let i = Intl.DateTimeFormat().resolvedOptions().timeZone; t = (s = new Date(e)).getDay(), o = s.getDate(), r = s.getMonth(), l = `${s.getHours()}:${s.getMinutes()}:${s.getSeconds()} (${i})` } return `${t = this.strings.chart.weekdays[t]}, ${r = this.strings.chart.shortMonths[r]} ${o}, ${l}` }, convert_time(e) { e *= 60; let s, t = this.strings.hours_short, i = this.strings.minutes_short, o = this.strings.seconds_short, r = Math.floor(e / 3600), l = Math.floor(e % 3600 / 60), n = Math.floor(e % 60); return s = r >= 1 ? l >= 1 ? `${r}${t} ${l}${i}` : `${r}${t}` : l >= 1 ? n >= 1 ? `${l}${i} ${n}${o}` : `${l}${i}` : `${n}${o}` }, open_modules_modal(e, s) { let t = this.dropout.sections; if (Number.isInteger(s)) { let e; t = [], this.dropout.weeks[s].sections.forEach(s => { e = { sectionid: s.sectionid, name: s.name, modules: this.sections_modules(s.sectionid) }, t.push(e) }) } t.forEach(e => { e.modules.forEach(e => { e.complete = !1, e.viewed = !1, e.interactions = 0; let s = this.selected_user.cms.modules[`cm${e.id}`]; s && (e.complete = s.complete, e.viewed = s.viewed, e.interactions = s.interactions) }) }), this.selected_sections = t, this.modules_dialog = !0 }, sections_modules(e) { let s = [], t = this.dropout.sections; for (let i = 0; i < t.length; i++)if (t[i].sectionid == e) { t[i].modules && (s = t[i].modules); break } return s }, get_user_module(e) { let s, t = this.selected_user.cms.modules; for (let i = 0; i < t.length; i++)if (t[i].id = Number(t[i].id), t[i].id == e) { s = t[i]; break } return s }, table_headers() { return [{ text: "", value: "id", align: "center", sortable: !1 }, { text: this.strings.thead_name, value: "firstname" }, { text: this.strings.thead_lastname, value: "lastname" }, { text: this.strings.thead_progress, value: "progress_percentage" }] }, get_picture_url: e => `${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`, get_user_fullname() { return `${this.selected_user.firstname} ${this.selected_user.lastname}` }, get_username() { return `@${this.selected_user.username}` }, see_profile() { let e = this.selected_user.id, s = M.cfg.wwwroot + "/user/view.php?id=" + e + "&course=" + c.courseid; window.open(s) }, get_progress_message() { let e = this.strings.modules_label, s = this.strings.finisheds_label; return 1 == this.selected_user.cms.complete && (e = this.strings.module_label, s = this.strings.finished_label), `${this.selected_user.cms.complete} ${e} ${s} ${this.strings.of_conector} ${this.dropout.total_cms}` }, get_progress_percentage() { return `${this.selected_user.progress_percentage} %` }, get_student_grade() { let e = this.selected_user.coursegrade; return e.finalgrade = Number(e.finalgrade), e.maxgrade = Number(e.maxgrade), `${this.isInt(e.finalgrade) ? e.finalgrade : e.finalgrade.toFixed(2)}/${this.isInt(e.maxgrade) ? e.maxgrade : e.maxgrade.toFixed(2)}` }, get_sendmail_user_text() { return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}` }, sendmail(e) { this.strings.email_strings.subject = this.strings.email_strings.subject_prefix, this.modulename = "course", this.moduleid = this.courseid, 1 == e ? (this.email_object_name = this.selected_user.username, this.email_users = [this.selected_user], this.email_dialog = !0) : 2 == e && (isNaN(parseInt(this.selected_cluster.number)) ? this.email_object_name = "unknown" : this.email_object_name = parseInt(this.selected_cluster.number) + 1, this.email_users = this.cluster_users, this.email_dialog = !0) }, update_email_dialog(e) { this.email_dialog = e }, update_modules_dialog(e) { this.modules_dialog = e }, isInt: e => e % 1 == 0, generate_dropout_data() { this.loading = !0, this.errors = []; let e = { action: "dropoutdata", userid: this.userid, courseid: this.courseid, profile: this.render_has }; return t({ method: "get", url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", params: e }).then(e => { 200 == e.status && e.data.ok ? location.reload() : this.error_messages.push(this.strings.error_network) }).catch(e => { this.errors.push(this.strings.api_error_network) }).finally(() => { this.loading = !1 }), this.data }, open_chart_help(e) { let s = [], t = "", i = "", o = "", r = ""; "group_students" == e ? (s.push({ title: this.strings.group_students_help_title, description: this.strings.group_students_help_description_p1 }), s.push({ description: this.strings.group_students_help_description_p2 }), t = "viewed", i = "help", o = "group_student", r = "Help section that provides information about the group students section", this.addLogsIntoDB(t, o, i, r)) : "modules_access" == e ? (s.push({ title: this.strings.modules_access_help_title, description: this.strings.modules_access_help_description_p1 }), s.push({ description: this.strings.modules_access_help_description_p2 }), s.push({ description: this.strings.modules_access_help_description_p3 }), t = "viewed", i = "help", o = "modules_access", r = "Help section that provides information about the modules access chart", this.addLogsIntoDB(t, o, i, r)) : "week_modules" == e ? (s.push({ title: this.strings.week_modules_help_title, description: this.strings.week_modules_help_description_p1 }), s.push({ description: this.strings.week_modules_help_description_p2 }), s.push({ description: this.strings.week_modules_help_description_p3 }), t = "viewed", i = "help", o = "week_modules", r = "Help section that provides information about the week modules chart", this.addLogsIntoDB(t, o, i, r)) : "sessions_evolution" == e ? (s.push({ title: this.strings.sessions_evolution_help_title, description: this.strings.sessions_evolution_help_description_p1 }), s.push({ description: this.strings.sessions_evolution_help_description_p2 }), s.push({ description: this.strings.sessions_evolution_help_description_p3 }), t = "viewed", i = "help", o = "sessions_evolution", r = "Help section that provides information about the sessions evolution chart", this.addLogsIntoDB(t, o, i, r)) : "user_grades" == e && (s.push({ title: this.strings.user_grades_help_title, description: this.strings.user_grades_help_description_p1 }), s.push({ description: this.strings.user_grades_help_description_p2 }), s.push({ description: this.strings.user_grades_help_description_p3 }), t = "viewed", i = "help", o = "user_grades", r = "Help section that provides information about the user grades chart", this.addLogsIntoDB(t, o, i, r)), this.help_contents = s, this.help_contents.length && (this.help_dialog = !0) }, update_help_dialog(e) { this.help_dialog = e }, get_timezone() { return `${this.strings.ss_change_timezone} ${this.timezone}` }, setGraphicsEventListeners() { let e = document.querySelectorAll(".highcharts-container"); e[0].id = "courseRessources", e[1].id = "weekRessources", e[2].id = "sessionsAndInvestedTime", e[3].id = "qualifications", e.forEach(e => { e.addEventListener("mouseenter", c.addLogsViewGraphic) }) }, addLogsViewGraphic(e) { event.stopPropagation(); var s = "", t = "", i = "", o = ""; switch (e.target.id) { case "courseRessources": s = "viewed", t = c.selected_user.username + "_modules_access", i = "chart", o = "Bar chart that shows"; break; case "weekRessources": s = "viewed", t = c.selected_user.username + "_week_modules", i = "chart", o = "Chart showing"; break; case "sessionsAndInvestedTime": s = "viewed", t = c.selected_user.username + "_sessions_evolution", i = "chart", o = "Chart showing "; break; case "qualifications": s = "viewed", t = c.selected_user.username + "_user_grades", i = "chart", o = "Chart showing "; break; default: s = "viewed", t = "", i = "chart", o = "A chart" }c.addLogsIntoDB(s, t, i, o) }, addLogsIntoDB(e, s, i, r) { let l = { courseid: o.courseid, userid: o.userid, action: "addLogs", sectionname: "DROPOUT", actiontype: e, objectType: i, objectName: s, currentUrl: document.location.href, objectDescription: r }; t({ method: "get", url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", params: l }).then(e => { 200 == e.status && e.data.ok }).catch(e => { }) } } }) } } }); //# sourceMappingURL=dropout.min.js.map diff --git a/notemyprogress/amd/build/gamification.js b/notemyprogress/amd/build/gamification.js deleted file mode 100644 index 6ea61821ea35cb567c78967024a563acf5d5e764..0000000000000000000000000000000000000000 --- a/notemyprogress/amd/build/gamification.js +++ /dev/null @@ -1,225 +0,0 @@ -define([ - "local_notemyprogress/vue", - "local_notemyprogress/vuetify", - "local_notemyprogress/axios", - "local_notemyprogress/alertify", - "local_notemyprogress/pageheader", -], function (Vue, Vuetify, Axios, Alertify, PageHeader) { - "use strict"; - - function init(content) { - //console.log(content); - Vue.use(Vuetify); - Vue.component("pageheader", PageHeader); - const app = new Vue({ - delimiters: ["[[", "]]"], - el: "#gamification", - vuetify: new Vuetify(), - data: { - strings: content.strings, - token: content.token, - render_has: content.profile_render, - ranking: content.ranking, - notifications: [], - loading: false, - tab: null, - levelsData: content.levels_data.levelsdata, - settings: content.levels_data.settings, - rulesData: content.levels_data.rules, - courseid: content.levels_data.courseid, - userid: content.levels_data.created_by, - //enable: content.levels_data.enable, - events: content.events, - setPointsOption: "calculated", - pointsBase: 0, - pointsBaseOri: 0, - swDisableEnable: "", - }, - - beforeMount() {}, - mounted() { - this.pointsBase = +this.settings.pointsbase; - this.pointsBaseOri = +this.settings.pointsbase; - }, - computed: {}, - methods: { - get_help_content() { - let help_contents = []; - let help = new Object(); - help.title = this.strings.help_title; - help.description = this.strings.help_description; - help_contents.push(help); - return help_contents; - }, - update_dialog(value) { - this.dialog = value; - }, - update_help_dialog(value) { - this.help_dialog = value; - }, - openHelpSectionModalEvent() { - this.saveInteraction( - this.pluginSectionName, - "viewed", - "section_help_dialog", - 3 - ); - }, - get_timezone() { - let information = `${this.strings.change_timezone} ${this.timezone}`; - return information; - }, - saveInteraction(component, interaction, target, interactiontype) { - let data = { - action: "saveinteraction", - pluginsection: this.pluginSectionName, - component, - interaction, - target, - url: window.location.href, - interactiontype, - token: this.token, - }; - Axios({ - method: "post", - url: `${M.cfg.wwwroot}/local/notemyprogress/ajax.php`, - data: data, - }) - .then((r) => {}) - .catch((e) => {}); - }, - addLevel() { - let newLevel = this.levelsData.length + 1; - this.levelsData.push({ - lvl: newLevel, - nam: `${this.strings.level} ${newLevel}`, - des: ``, - points: this.pointsBase * (newLevel - 1), - }); - }, - removeLevel() { - if (this.levelsData.length > 2) { - this.levelsData.pop(); - } - }, - calculatePoints(index) { - let points = this.isNumber(this.pointsBase) * index; - this.levelsData[index].points = points; - return points; - }, - isNumber(x) { - if (x === "" || isNaN(x) || x == 0) { - return this.pointsBaseOri; - } - return parseInt(x); - }, - save_changes() { - this.notifications = ["Do you want to save the changes"]; - Alertify.confirm(this.strings.save_warning_content, () => { - this.saveGamificationConfig(); - }) // ON CONFIRM - .set({ title: this.strings.save_warning_title }) - .set({ - labels: { - cancel: this.strings.confirm_cancel, - ok: this.strings.confirm_ok, - }, - }); - }, - saveGamificationConfig() { - this.loading = true; - let settings = { - tit: this.settings.tit, - des: this.settings.des, - pointsbase: this.pointsBase, - }; - let data = { - courseid: this.courseid, - userid: this.userid, - action: "savegamification", - levels: JSON.stringify(this.levelsData), - settings: JSON.stringify(settings), - rules: JSON.stringify(this.rulesData), - token: this.token, - }; - let url = { url: window.location.href }; - Axios({ - ///! try resolve that with a listener - method: "post", - url: - M.cfg.wwwroot + - "/local/notemyprogress/ajax.php?courseid=" + - this.courseid + - "&userid=" + - this.userid + - "&action=savegamification&levels=" + - data.levels + - "&settings=" + - data.settings + - "&rules=" + - data.rules + - "&url=" + - url.url, - data: data, - }) - .then((response) => { - console.log(response); - console.log(response.status); - console.log(url.url); - if (response.status == 200 && response.data.ok) { - this.showNotifications(response.data.data[0], "success"); - } else { - let message = - response.data.error || this.strings.api_error_network; - this.showNotifications(message, "error"); //in this line "error" define the kind of message send - } - }) - .catch((e) => { - let message = e.response.data || this.strings.api_error_network; - this.showNotifications(message, "error"); - }) - .finally(() => { - this.loading = false; - }); - }, - showNotifications(message, type, alert = true, notify = true) { - if (alert) this.notifications.push({ message, type }); - if (notify) Alertify.notify(message, type); - }, - table_headers() { - let headers = [ - { text: this.strings.ranking_text, value: "ranking" }, - { text: this.strings.level, value: "level" }, - { text: this.strings.student, value: "student" }, - { text: this.strings.total, value: "total" }, - { text: this.strings.progress, value: "progress_percentage" }, - ]; - return headers; - }, - addRule() { - this.rulesData.push({ - rule: "", - points: 0, - }); - }, - removeRule(index) { - if (this.rulesData.length > 2) { - this.rulesData.splice(index, 1); - } - }, - disableEnable(swDisableEnable) { - //traitement - console.log(swDisableEnable); - if (swDisableEnable == true) { - //mets a jour la bdd - } else if (swDisableEnable == false) { - //mets a jour la bdd - } - }, - }, - }); - } - return { - init: init, - }; -}); diff --git a/notemyprogress/amd/build/student_gamification.js b/notemyprogress/amd/build/student_gamification.js deleted file mode 100644 index f346c5749559397b98563684f4a765a263e70401..0000000000000000000000000000000000000000 --- a/notemyprogress/amd/build/student_gamification.js +++ /dev/null @@ -1,96 +0,0 @@ -define([ - "local_notemyprogress/vue", - "local_notemyprogress/vuetify", - "local_notemyprogress/axios", - "local_notemyprogress/alertify", - "local_notemyprogress/pageheader", -], function (Vue, Vuetify, Axios, Alertify, PageHeader) { - "use strict"; - - function init(content) { - console.log(content); - Vue.use(Vuetify); - Vue.component("pageheader", PageHeader); - const app = new Vue({ - delimiters: ["[[", "]]"], - el: "#student_gamification", - vuetify: new Vuetify(), - data: { - strings: content.strings, - token: content.token, - render_has: content.profile_render, - indicators: content.indicators, - levelInfo: content.indicators.levelInfo, - activity: content.indicators.activity, - ranking: content.ranking, - tab: null, - levelsData: content.levels_data.levelsdata, - settings: content.levels_data.settings, - error_messages: [], - save_successful: false, - }, - beforeMount() {}, - computed: {}, - methods: { - get_help_content() { - let help_contents = []; - let help = new Object(); - help.title = this.strings.help_title; - help.description = this.strings.help_description; - help_contents.push(help); - return help_contents; - }, - update_dialog(value) { - this.dialog = value; - }, - update_help_dialog(value) { - this.help_dialog = value; - }, - openHelpSectionModalEvent() { - this.saveInteraction( - this.pluginSectionName, - "viewed", - "section_help_dialog", - 3 - ); - }, - get_timezone() { - let information = `${this.strings.change_timezone} ${this.timezone}`; - return information; - }, - saveInteraction(component, interaction, target, interactiontype) { - let data = { - action: "saveinteraction", - pluginsection: this.pluginSectionName, - component, - interaction, - target, - url: window.location.href, - interactiontype, - token: content.token, - }; - Axios({ - method: "post", - url: `${M.cfg.wwwroot}/local/notemyprogress/ajax.php`, - data: data, - }) - .then((r) => {}) - .catch((e) => {}); - }, - table_headers() { - let headers = [ - { text: this.strings.ranking_text, value: "ranking" }, - { text: this.strings.level, value: "level" }, - { text: this.strings.student, value: "student" }, - { text: this.strings.total, value: "total" }, - { text: this.strings.progress, value: "progress_percentage" }, - ]; - return headers; - }, - }, - }); - } - return { - init: init, - }; -}); diff --git a/notemyprogress/amd/src/quiz.js b/notemyprogress/amd/src/quiz.js index 47a73949bbe7f25b1afeba55b5ebad849576eaa4..81ff09f41b75e3c00e4f90e8ac8374c334806983 100644 --- a/notemyprogress/amd/src/quiz.js +++ b/notemyprogress/amd/src/quiz.js @@ -1,664 +1,527 @@ -define([ - "local_notemyprogress/vue", - "local_notemyprogress/vuetify", - "local_notemyprogress/axios", - "local_notemyprogress/moment", - "local_notemyprogress/pagination", - "local_notemyprogress/chartdynamic", - "local_notemyprogress/pageheader", - "local_notemyprogress/helpdialog", -], function ( - Vue, - Vuetify, - Axios, - Moment, - Pagination, - ChartDynamic, - PageHeader, - HelpDialog -) { - "use strict"; +define(["local_notemyprogress/vue", + "local_notemyprogress/vuetify", + "local_notemyprogress/axios", + "local_notemyprogress/moment", + "local_notemyprogress/pagination", + "local_notemyprogress/chartdynamic", + "local_notemyprogress/pageheader", + "local_notemyprogress/helpdialog", + ], + function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, HelpDialog) { + "use strict"; - function init(content) { - // console.log(content); - Vue.use(Vuetify); - Vue.component("pagination", Pagination); - Vue.component("chart", ChartDynamic); - Vue.component("pageheader", PageHeader); - Vue.component("helpdialog", HelpDialog); - let vue = new Vue({ - delimiters: ["[[", "]]"], - el: "#quiz", - vuetify: new Vuetify(), - data() { - return { - strings: content.strings, - groups: content.groups, - userid: content.userid, - courseid: content.courseid, - timezone: content.timezone, - render_has: content.profile_render, - loading: false, - errors: [], - pages: content.pages, + function init(content) { + // console.log(content); + Vue.use(Vuetify); + Vue.component('pagination', Pagination); + Vue.component('chart', ChartDynamic); + Vue.component('pageheader', PageHeader); + Vue.component('helpdialog', HelpDialog); + let vue = new Vue({ + delimiters: ["[[", "]]"], + el: "#quiz", + vuetify: new Vuetify(), + data() { + return { + strings : content.strings, + groups : content.groups, + userid : content.userid, + courseid : content.courseid, + timezone : content.timezone, + render_has : content.profile_render, + loading : false, + errors : [], + pages : content.pages, - quiz: content.quiz, - questions_attempts_colors: content.questions_attempts_colors, - hardest_questions_colors: content.hardest_questions_colors, - default_quiz: null, - attempts_categories: [], - attempts_series: [], - attempts_questions: [], - hardest_categories: [], - hardest_series: [], - hardest_questions: [], + quiz : content.quiz, + questions_attempts_colors: content.questions_attempts_colors, + hardest_questions_colors: content.hardest_questions_colors, + default_quiz: null, + attempts_categories: [], + attempts_series: [], + attempts_questions: [], + hardest_categories: [], + hardest_series: [], + hardest_questions: [], - help_dialog: false, - help_contents: [], + help_dialog: false, + help_contents: [], - quiz_name: "", - }; - }, - beforeMount() { - if (this.quiz.length) { - this.default_quiz = this.quiz[0].attempts; - this.calculate_questions_attempts(this.default_quiz); - this.quiz_name = this.quiz[0].name.replace(/ /g, "_"); - } - }, - mounted() { - document.querySelector("#sessions-loader").style.display = "none"; - document.querySelector("#quiz").style.display = "block"; - setTimeout(function () { - vue.setGraphicsEventListeners(); - vue.addListenersQuiz(); - }, 500); - }, + quiz_name : "", + } + }, + beforeMount(){ + if (this.quiz.length) { + this.default_quiz = this.quiz[0].attempts; + this.calculate_questions_attempts(this.default_quiz); + this.quiz_name = this.quiz[0].name.replace(/ /g, "_"); + }; + }, + mounted(){ + document.querySelector("#sessions-loader").style.display = "none"; + document.querySelector("#quiz").style.display = "block"; + setTimeout(function() { + vue.setGraphicsEventListeners(); + vue.addListenersQuiz(); + }, 500); + }, - methods: { - get_help_content() { - let contents = []; - contents.push({ - title: this.strings.section_help_title, - description: this.strings.section_help_description, - }); - return contents; - }, + methods : { + get_help_content(){ + let contents = []; + contents.push({ + title: this.strings.section_help_title, + description: this.strings.section_help_description, + }); + return contents; + }, - get_quiz_info_text1() { - let text = ""; - if (this.default_quiz) { - let questions_number = this.default_quiz.details.questions; - let questions_label = this.strings.questions_text; - if (questions_number == 1) { - questions_label = this.strings.question_text; - } - text = `* ${this.strings.quiz_info_text} ${questions_number} ${questions_label}`; - } - return text; - }, + get_quiz_info_text1() { + let text = ''; + if (this.default_quiz) { + let questions_number = this.default_quiz.details.questions; + let questions_label = this.strings.questions_text; + if (questions_number == 1) { + questions_label = this.strings.question_text; + } + text = `* ${this.strings.quiz_info_text} ${questions_number} ${questions_label}`; + } + return text; + }, - get_quiz_info_text2() { - let text = ""; - if (this.default_quiz) { - let attempts_number = this.default_quiz.details.attempts; - let doing_text = this.strings.doing_text_plural; - if (attempts_number == 1) { - doing_text = this.strings.doing_text_singular; - } - let students_number = this.default_quiz.details.users; - let students_label = this.strings.students_text; - if (students_number == 1) { - students_label = this.strings.student_text; - } - text = `* ${attempts_number} ${doing_text} ${students_number} ${students_label}`; - } - return text; - }, + get_quiz_info_text2() { + let text = ''; + if (this.default_quiz) { + let attempts_number = this.default_quiz.details.attempts; + let doing_text = this.strings.doing_text_plural; + if (attempts_number == 1) { + doing_text = this.strings.doing_text_singular; + } + let students_number = this.default_quiz.details.users; + let students_label = this.strings.students_text; + if (students_number == 1) { + students_label = this.strings.student_text; + } + text = `* ${attempts_number} ${doing_text} ${students_number} ${students_label}`; + } + return text; + }, - build_questions_attempts_chart() { - let chart = new Object(); - chart.chart = { - type: "column", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }; - chart.title = { - text: null, - }; - chart.colors = this.questions_attempts_colors; - chart.xAxis = { - categories: this.attempts_categories, - }; - chart.yAxis = [ - { - min: 0, - allowDecimals: false, - title: { - text: this.strings.questions_attempts_yaxis_title, - }, - }, - ]; - chart.tooltip = { - formatter: function () { - let question_name = this.x; - let attemps = this.y; - let total_attemps = this.total; - let percentage = Math.round(Number(this.percentage)); - let series_name = this.series.name; - let attempt_preffix = vue.strings.attempts_text; - attempt_preffix = - attempt_preffix.charAt(0).toUpperCase() + - attempt_preffix.slice(1); - let attempt_label = vue.strings.attempts_text; - let of_conector = vue.strings.of_conector; - let review_question = vue.strings.review_question; - if (attemps == 1) { - attempt_label = vue.strings.attempt_text; - } - let text = - "<b>" + - question_name + - ": </b>" + - attempt_preffix + - " " + - series_name + - "<br/>" + - attemps + - " " + - attempt_label + - " " + - of_conector + - " " + - total_attemps + - " (" + - percentage + - "%)" + - "<br/>" + - review_question; + build_questions_attempts_chart() { + let chart = new Object(); + chart.chart = { + type: 'column', + backgroundColor: null, + style: {fontFamily: 'poppins'}, + }; + chart.title = { + text: null + }; + chart.colors = this.questions_attempts_colors; + chart.xAxis = { + categories: this.attempts_categories + }; + chart.yAxis = [{ + min: 0, + allowDecimals: false, + title: { + text: this.strings.questions_attempts_yaxis_title + } + }]; + chart.tooltip = { + formatter: function() { + let question_name = this.x; + let attemps = this.y; + let total_attemps = this.total; + let percentage = Math.round(Number(this.percentage)); + let series_name = this.series.name; + let attempt_preffix = vue.strings.attempts_text; + attempt_preffix = attempt_preffix.charAt(0).toUpperCase() + attempt_preffix.slice(1); + let attempt_label = vue.strings.attempts_text; + let of_conector = vue.strings.of_conector; + let review_question = vue.strings.review_question; + if (attemps == 1) { + attempt_label = vue.strings.attempt_text; + } + let text = '<b>' + question_name + ': </b>' + attempt_preffix + ' ' + series_name + '<br/>' + + attemps + ' ' + attempt_label + ' ' + of_conector + ' ' + total_attemps + + ' (' + percentage + '%)' + '<br/>' + review_question; - return text; - }, - }; - chart.plotOptions = { - column: { - stacking: "normal", - }, - series: { - cursor: "pointer", - point: { - events: { - click: function () { - vue.addLogsIntoDB( - "viewed", - vue.quiz_name + "_questions_attempts", - "chart_details", - "Viewed details about the questions attempts chart" - ); - let question = vue.attempts_questions[this.x]; - let id = question.id; - let url = - M.cfg.wwwroot + - "/question/preview.php?id=" + - id + - "&courseid=" + - vue.courseid; - window.open( - url, - "_blank", - "top=50,left=50,width=900,height=600" - ); - }, - }, - }, - }, - }; - chart.series = this.attempts_series; - return chart; - }, + return text; + } + }; + chart.plotOptions = { + column: { + stacking: 'normal' + }, + series: { + cursor: 'pointer', + point: { + events: { + click: function () { + vue.addLogsIntoDB("viewed", vue.quiz_name+"_questions_attempts", "chart_details", "Viewed details about the questions attempts chart"); + let question = vue.attempts_questions[this.x]; + let id = question.id; + let url = M.cfg.wwwroot + '/question/preview.php?id='+id+'&courseid='+vue.courseid; + window.open(url, '_blank', 'top=50,left=50,width=900,height=600'); + } + } + } + } + }; + chart.series = this.attempts_series; + return chart; + }, - build_hardest_questions_chart() { - let chart = new Object(); - chart.chart = { - type: "column", - backgroundColor: null, - style: { fontFamily: "poppins" }, - }; - chart.title = { - text: null, - }; - chart.colors = this.hardest_questions_colors; - chart.xAxis = { - categories: this.hardest_categories, - }; - chart.legend = { - enabled: false, - }; - chart.tooltip = { - formatter: function () { - let position = this.point.x; - let question_info = vue.hardest_questions[position]; - let question_name = this.x; - let serie_name = this.series.name; - let value = this.y; - let attempt_label = vue.strings.attempts_text; - let of_conector = vue.strings.of_conector; - let review_question = vue.strings.review_question; - if (question_info.ha == 1) { - attempt_label = vue.strings.attempt_text; - } - let text = - "<b>" + - question_name + - ": </b>" + - serie_name + - "<br/>" + - question_info.ha + - " " + - attempt_label + - " " + - of_conector + - " " + - question_info.to + - " (" + - value + - "%)" + - "<br/>" + - review_question; - return text; - }, - }; - chart.yAxis = [ - { - min: 0, - allowDecimals: false, - title: { - text: this.strings.hardest_questions_yaxis_title, - }, - labels: { - format: "{value} %", - }, - }, - ]; - chart.plotOptions = { - series: { - cursor: "pointer", - point: { - events: { - click: function () { - vue.addLogsIntoDB( - "viewed", - vue.quiz_name + "_hardest_questions", - "chart_details", - "Viewed details about the hardest questions chart" - ); - let question = vue.hardest_questions[this.x]; - let id = question.id; - let url = - M.cfg.wwwroot + - "/question/preview.php?id=" + - id + - "&courseid=" + - vue.courseid; - window.open( - url, - "_blank", - "top=50,left=50,width=900,height=600" - ); - }, - }, - }, - }, - }; - chart.series = this.hardest_series; - return chart; - }, + build_hardest_questions_chart() { + let chart = new Object(); + chart.chart = { + type: 'column', + backgroundColor: null, + style: {fontFamily: 'poppins'}, + }; + chart.title = { + text: null, + }; + chart.colors = this.hardest_questions_colors; + chart.xAxis = { + categories: this.hardest_categories, + }; + chart.legend = { + enabled: false + }; + chart.tooltip = { + formatter: function() { + let position = this.point.x; + let question_info = vue.hardest_questions[position]; + let question_name = this.x; + let serie_name = this.series.name; + let value = this.y; + let attempt_label = vue.strings.attempts_text; + let of_conector = vue.strings.of_conector; + let review_question = vue.strings.review_question; + if (question_info.ha == 1) { + attempt_label = vue.strings.attempt_text; + } + let text = '<b>' + question_name + ': </b>' + serie_name + '<br/>' + + question_info.ha + ' ' + attempt_label + ' ' + of_conector + ' ' + + question_info.to + ' (' + value + '%)' + '<br/>' + review_question; + return text; + } + }; + chart.yAxis = [{ + min: 0, + allowDecimals: false, + title: { + text: this.strings.hardest_questions_yaxis_title + }, + labels: { + format: '{value} %', + }, + }]; + chart.plotOptions = { + series: { + cursor: 'pointer', + point: { + events: { + click: function () { + vue.addLogsIntoDB("viewed", vue.quiz_name+"_hardest_questions", "chart_details", "Viewed details about the hardest questions chart"); + let question = vue.hardest_questions[this.x]; + let id = question.id; + let url = M.cfg.wwwroot + '/question/preview.php?id='+id+'&courseid='+vue.courseid; + window.open( url, '_blank', 'top=50,left=50,width=900,height=600'); + } + } + } + } + }; + chart.series = this.hardest_series; + return chart; + }, - calculate_questions_attempts(quiz) { - let questions = quiz.questions; - let attempts_categories = []; - let cont = 1, - ql = ""; + calculate_questions_attempts(quiz) { + let questions = quiz.questions; + let attempts_categories = []; + let cont = 1, ql = ""; - let correct = [], - partcorrect = [], - incorr = [], - gaveup = [], - needgrade = [], - hardest = [], - attempts_questions = []; - let co, - pc, - ic, - ga, - ng, - to, - ha = 0; + let correct = [], partcorrect = [], incorr = [], gaveup = [], needgrade = [], hardest = [], + attempts_questions = []; + let co, pc, ic, ga, ng, to, ha = 0; - questions.forEach((question) => { - co, pc, ic, ga, ng, (to = 0); - co = (question.gradedright || 0) + (question.mangrright || 0); - pc = (question.gradedpartial || 0) + (question.mangrpartial || 0); - ic = (question.gradedwrong || 0) + (question.mangrwrong || 0); - ga = (question.gaveup || 0) + (question.mangaveup || 0); - ng = - (question.needsgrading || 0) + - (question.mangaveup || 0) + - (question.finished || 0) + - (question.manfinished || 0); + questions.forEach(question => { + co, pc, ic, ga, ng, to = 0; + co = (question.gradedright || 0) + (question.mangrright || 0); + pc = (question.gradedpartial || 0) + (question.mangrpartial || 0); + ic = (question.gradedwrong || 0) + (question.mangrwrong || 0); + ga = (question.gaveup || 0) + (question.mangaveup || 0); + ng = (question.needsgrading || 0) + (question.mangaveup || 0) + + (question.finished || 0) + (question.manfinished || 0); - correct.push(co); - partcorrect.push(pc); - incorr.push(ic); - gaveup.push(ga); - needgrade.push(ng); + correct.push(co); + partcorrect.push(pc); + incorr.push(ic); + gaveup.push(ga); + needgrade.push(ng); - ql = "P" + cont; - ha = pc + ic + ga; - to = co + pc + ic + ga + ng; - hardest.push({ - id: question.id, - qu: ql, - ha: ha, - to: to, - pe: Math.round((ha * 100) / to), - }); - attempts_categories.push(ql); - attempts_questions.push(question); - cont++; - }); + ql = 'P' + cont; + ha = pc + ic + ga; + to = co + pc + ic + ga + ng; + hardest.push({ id: question.id, qu: ql, ha: ha, to: to, pe: Math.round((ha * 100) / to), }); + attempts_categories.push(ql); + attempts_questions.push(question); + cont++; + }); - let attempts_series = []; - attempts_series.push({ - name: this.strings.correct_attempt, - data: correct, - }); - attempts_series.push({ - name: this.strings.partcorrect_attempt, - data: partcorrect, - }); - attempts_series.push({ - name: this.strings.incorrect_attempt, - data: incorr, - }); - attempts_series.push({ - name: this.strings.blank_attempt, - data: gaveup, - }); - attempts_series.push({ - name: this.strings.needgraded_attempt, - data: needgrade, - }); + let attempts_series = []; + attempts_series.push({ + name: this.strings.correct_attempt, + data: correct + }); + attempts_series.push({ + name: this.strings.partcorrect_attempt, + data: partcorrect + }); + attempts_series.push({ + name: this.strings.incorrect_attempt, + data: incorr + }); + attempts_series.push({ + name: this.strings.blank_attempt, + data: gaveup + }); + attempts_series.push({ + name: this.strings.needgraded_attempt, + data: needgrade + }); - let hardest_categories = [], - hardest_data = [], - hardest_questions = []; - hardest.sort(this.compare_hardest); - hardest.forEach((element) => { - if (element.pe) { - hardest_categories.push(element.qu); - hardest_data.push(element.pe); - hardest_questions.push(element); - } - }); + let hardest_categories = [], hardest_data = [], hardest_questions = []; + hardest.sort(this.compare_hardest); + hardest.forEach(element => { + if (element.pe) { + hardest_categories.push(element.qu); + hardest_data.push(element.pe); + hardest_questions.push(element); + } + }); - let hardest_series = [ - { - name: this.strings.hardest_questions_yaxis_title, - data: hardest_data, - }, - ]; + let hardest_series = [{ + name: this.strings.hardest_questions_yaxis_title, + data: hardest_data + }]; - this.attempts_categories = attempts_categories; - this.attempts_series = attempts_series; - this.attempts_questions = attempts_questions; - this.hardest_categories = hardest_categories; - this.hardest_series = hardest_series; - this.hardest_questions = hardest_questions; - }, + this.attempts_categories = attempts_categories; + this.attempts_series = attempts_series; + this.attempts_questions = attempts_questions; + this.hardest_categories = hardest_categories; + this.hardest_series = hardest_series; + this.hardest_questions = hardest_questions; + }, - addLogsChangeQuizz(quiz) { - this.calculate_questions_attempts(quiz); - setTimeout(function () { - vue.addLogsIntoDB( - "viewed", - vue.quiz_name, - "quiz", - "Selected a quiz" - ); - }, 500); - }, + addLogsChangeQuizz(quiz) { + this.calculate_questions_attempts(quiz); + setTimeout(function() { + vue.addLogsIntoDB("viewed", vue.quiz_name, "quiz", "Selected a quiz"); + },500); + }, - addListenersQuiz() { - let select = document.getElementsByClassName("v-input__slot"); - if (select.length > 1) { - select[1].addEventListener("click", function () { - let childs = document.getElementsByClassName( - "v-list v-select-list v-sheet theme--light theme--light" - )[0].children; - for (let i = 0; i < childs.length; i++) { - childs[i].addEventListener( - "click", - function () { - vue.quiz_name = this.children[0].innerText.replace( - / /g, - "_" - ); - }, - { once: true } - ); - } - }); - } else { - setTimeout(vue.addListenersQuiz, 500); - } - }, + addListenersQuiz() { + let select = document.getElementsByClassName('v-input__slot'); + if(select.length>1) { + select[1].addEventListener('click', function() { + let childs = document.getElementsByClassName('v-list v-select-list v-sheet theme--light theme--light')[0].children; + for(let i=0; i<childs.length;i++) { + childs[i].addEventListener('click', function() { + vue.quiz_name = this.children[0].innerText.replace(/ /g, "_"); + }, {once: true}); + } + }) + } else { + setTimeout(vue.addListenersQuiz, 500); + } + }, - update_interactions(week) { - this.loading = true; - this.errors = []; - let data = { - action: "quiz", - userid: this.userid, - courseid: this.courseid, - weekcode: week.weekcode, - profile: this.render_has, - }; - Axios({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - data: data, - }) - .then((response) => { - if (response.status == 200 && response.data.ok) { - this.quiz = response.data.data.quiz; - if (this.quiz.length) { - this.default_quiz = this.quiz[0].attempts; - this.calculate_questions_attempts(this.default_quiz); - } else { - this.reset_graphs(); - } - } else { - this.error_messages.push(this.strings.error_network); - } - }) - .catch((e) => { - this.errors.push(this.strings.api_error_network); - }) - .finally(() => { - this.loading = false; - //Ici, la page a fini de charger - vue.addLogsIntoDB( - "viewed", - "week_" + week.weekcode, - "week_section", - "Week section that allows you to obtain information on a specific week" - ); - vue.setGraphicsEventListeners(); - vue.addListenersQuiz(); - }); - return this.data; - }, + update_interactions(week){ + this.loading = true; + this.errors = []; + let data = { + action : "quiz", + userid : this.userid, + courseid : this.courseid, + weekcode : week.weekcode, + profile : this.render_has, + } + Axios({ + method:'get', + url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", + params : data, + }).then((response) => { + if (response.status == 200 && response.data.ok) { + this.quiz = response.data.data.quiz; + if (this.quiz.length) { + this.default_quiz = this.quiz[0].attempts; + this.calculate_questions_attempts(this.default_quiz); + } else { + this.reset_graphs(); + }; + } else { + this.error_messages.push(this.strings.error_network); + } + }).catch((e) => { + this.errors.push(this.strings.api_error_network); + }).finally(() => { + this.loading = false; + //Ici, la page a fini de charger + vue.addLogsIntoDB("viewed", "week_"+week.weekcode, "week_section", "Week section that allows you to obtain information on a specific week"); + vue.setGraphicsEventListeners(); + vue.addListenersQuiz(); + }); + return this.data; + }, - reset_graphs() { - this.default_quiz = null; - this.attempts_categories = []; - this.attempts_series = []; - this.attempts_questions = []; - this.hardest_categories = []; - this.hardest_series = []; - this.hardest_questions = []; - }, + reset_graphs () { + this.default_quiz = null; + this.attempts_categories = []; + this.attempts_series = []; + this.attempts_questions = []; + this.hardest_categories = []; + this.hardest_series = []; + this.hardest_questions = []; + }, - compare_hardest(a, b) { - if (a.pe > b.pe) { - return -1; - } - if (a.pe < b.pe) { - return 1; - } - return 0; - }, + compare_hardest(a, b) { + if (a.pe > b.pe) { + return -1; + } + if (a.pe < b.pe) { + return 1; + } + return 0; + }, - open_chart_help(chart) { - let contents = []; - let action = ""; - let objectDescription = ""; - let objectName = ""; - let objectType = ""; - if (chart == "questions_attempts") { - contents.push({ - title: this.strings.questions_attempts_help_title, - description: this.strings.questions_attempts_help_description_p1, - }); - contents.push({ - description: this.strings.questions_attempts_help_description_p2, - }); - contents.push({ - description: this.strings.questions_attempts_help_description_p3, - }); - action = "viewed"; - objectType = "help"; - objectName = "questions_attempts"; - objectDescription = - "Help section that provides information about the attempted questions chart"; - vue.addLogsIntoDB( - action, - objectName, - objectType, - objectDescription - ); - } else if (chart == "hardest_questions") { - contents.push({ - title: this.strings.hardest_questions_help_title, - description: this.strings.hardest_questions_help_description_p1, - }); - contents.push({ - description: this.strings.hardest_questions_help_description_p2, - }); - contents.push({ - description: this.strings.hardest_questions_help_description_p3, - }); - action = "viewed"; - objectType = "help"; - objectName = "hardest_questions"; - objectDescription = - "Help section that provides information about the difficult questions chart"; - vue.addLogsIntoDB( - action, - objectName, - objectType, - objectDescription - ); - } - this.help_contents = contents; - if (this.help_contents.length) { - this.help_dialog = true; - } - }, + open_chart_help(chart) { + let contents = []; + let action = ""; + let objectDescription = ""; + let objectName = ""; + let objectType = ""; + if (chart == "questions_attempts") { + contents.push({ + title: this.strings.questions_attempts_help_title, + description: this.strings.questions_attempts_help_description_p1, + }); + contents.push({ + description: this.strings.questions_attempts_help_description_p2, + }); + contents.push({ + description: this.strings.questions_attempts_help_description_p3, + }); + action = "viewed"; + objectType = "help"; + objectName = "questions_attempts" + objectDescription = "Help section that provides information about the attempted questions chart"; + vue.addLogsIntoDB(action, objectName, objectType, objectDescription); + } else if (chart == "hardest_questions") { + contents.push({ + title: this.strings.hardest_questions_help_title, + description: this.strings.hardest_questions_help_description_p1, + }); + contents.push({ + description: this.strings.hardest_questions_help_description_p2, + }); + contents.push({ + description: this.strings.hardest_questions_help_description_p3, + }); + action = "viewed"; + objectType = "help"; + objectName = "hardest_questions"; + objectDescription = "Help section that provides information about the difficult questions chart"; + vue.addLogsIntoDB(action, objectName, objectType, objectDescription); + } + this.help_contents = contents; + if (this.help_contents.length) { + this.help_dialog = true; + } + }, - update_help_dialog(value) { - this.help_dialog = value; - }, + update_help_dialog (value) { + this.help_dialog = value; + }, - get_timezone() { - let information = `${this.strings.ss_change_timezone} ${this.timezone}`; - return information; - }, + get_timezone(){ + let information = `${this.strings.ss_change_timezone} ${this.timezone}` + return information; + }, - setGraphicsEventListeners() { - //Ajoute les sondes pour lorsque l'utilisateur entre sur les différents graphiques - let graphics = document.querySelectorAll(".highcharts-container"); - if (graphics.length < 1) { - setTimeout(vue.setGraphicsEventListeners, 500); - } else { - graphics[0].id = "attemptedQuestions"; - graphics[1].id = "difficultQuestions"; - graphics.forEach((graph) => { - graph.addEventListener("mouseenter", vue.addLogsViewGraphic); - }); - } - }, + setGraphicsEventListeners() { + //Ajoute les sondes pour lorsque l'utilisateur entre sur les différents graphiques + let graphics = document.querySelectorAll('.highcharts-container'); + if(graphics.length<1) { + setTimeout(vue.setGraphicsEventListeners, 500); + } else { + graphics[0].id="attemptedQuestions"; + graphics[1].id="difficultQuestions"; + graphics.forEach((graph) => { + graph.addEventListener('mouseenter', vue.addLogsViewGraphic); + }) + } + }, - addLogsViewGraphic(e) { - event.stopPropagation(); - var action = ""; - var objectName = ""; - var objectType = ""; - var objectDescription = ""; - switch (e.target.id) { - case "attemptedQuestions": - action = "viewed"; - objectName = this.quiz_name + "_questions_attempts"; - objectType = "chart"; - objectDescription = - "Bar chart that shows the attempted questions"; - break; - case "difficultQuestions": - action = "viewed"; - objectName = this.quiz_name + "_hardest_questions"; - objectType = "chart"; - objectDescription = - "Chart showing the most difficult questions answered"; - break; - default: - action = "viewed"; - objectName = ""; - objectType = "chart"; - objectDescription = "A chart"; - break; - } - this.addLogsIntoDB(action, objectName, objectType, objectDescription); - }, + addLogsViewGraphic(e) { + event.stopPropagation(); + var action = ""; + var objectName = ""; + var objectType = ""; + var objectDescription = ""; + switch(e.target.id) { + case "attemptedQuestions": + action = "viewed"; + objectName = this.quiz_name+"_questions_attempts"; + objectType = "chart"; + objectDescription = "Bar chart that shows the attempted questions"; + break; + case "difficultQuestions": + action = "viewed"; + objectName = this.quiz_name+"_hardest_questions"; + objectType = "chart"; + objectDescription = "Chart showing the most difficult questions answered"; + break; + default: + action = "viewed"; + objectName = ""; + objectType = "chart"; + objectDescription = "A chart"; + break; + } + this.addLogsIntoDB(action, objectName, objectType, objectDescription); + }, - addLogsIntoDB(action, objectName, objectType, objectDescription) { - let data = { - courseid: content.courseid, - userid: content.userid, - action: "addLogs", - sectionname: "ASSESSMENT_MONITORING", - actiontype: action, - objectType: objectType, - objectName: objectName, - currentUrl: document.location.href, - objectDescription: objectDescription, - }; - Axios({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - params: data, - }) - .then((response) => { - if (response.status == 200 && response.data.ok) { - } + addLogsIntoDB(action, objectName, objectType, objectDescription) { + let data = { + courseid: content.courseid, + userid: content.userid, + action: "addLogs", + sectionname: "ASSESSMENT_MONITORING", + actiontype: action, + objectType: objectType, + objectName: objectName, + currentUrl: document.location.href, + objectDescription: objectDescription, + }; + Axios({ + method:'get', + url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", + params : data, + }).then((response) => { + if (response.status == 200 && response.data.ok) { + } + }).catch((e) => { + }); + }, + } }) - .catch((e) => {}); - }, - }, - }); - } + } - return { - init: init, - }; -}); + return { + init : init + }; + }); \ No newline at end of file diff --git a/notemyprogress/amd/src/setweeks.js b/notemyprogress/amd/src/setweeks.js index 97747ff54aaaec5c2f70c023b3278d342eb12f20..5401fd8bb28972c09080156960d973296b95f984 100644 --- a/notemyprogress/amd/src/setweeks.js +++ b/notemyprogress/amd/src/setweeks.js @@ -1,405 +1,350 @@ -define([ - "local_notemyprogress/vue", - "local_notemyprogress/vuetify", - "local_notemyprogress/axios", - "local_notemyprogress/sortablejs", - "local_notemyprogress/draggable", - "local_notemyprogress/datepicker", - "local_notemyprogress/moment", - "local_notemyprogress/alertify", - "local_notemyprogress/pageheader", -], function ( - Vue, - Vuetify, - Axios, - Sortable, - Draggable, - Datepicker, - Moment, - Alertify, - Pageheader -) { - "use strict"; +define(["local_notemyprogress/vue", + "local_notemyprogress/vuetify", + "local_notemyprogress/axios", + "local_notemyprogress/sortablejs", + "local_notemyprogress/draggable", + "local_notemyprogress/datepicker", + "local_notemyprogress/moment", + "local_notemyprogress/alertify", + "local_notemyprogress/pageheader", + ], + function(Vue, Vuetify, Axios, Sortable, Draggable, Datepicker, Moment, Alertify, Pageheader) { + "use strict"; - function init(content) { - content = add_collapsabled_property_to_weeks(content); - Vue.use(Vuetify); - Vue.component("draggable", Draggable); - Vue.component("datepicker", Datepicker); - Vue.component("pageheader", Pageheader); - const app = new Vue({ - delimiters: ["[[", "]]"], - el: "#setweeks", - vuetify: new Vuetify(), - data: { - display_settings: false, - settings: content.settings, - new_group: false, - scroll_mode: false, - weeks_started_at: new Date( - Moment(Number(content.weeks[0].weekstart) * 1000) - ), - strings: content.strings, - sections: content.sections, - courseid: content.courseid, - userid: content.userid, - raw_weeks: content.weeks, - disabled_dates: { - days: [0, 2, 3, 4, 5, 6], - }, - saving_loader: false, - error_messages: [], - save_successful: false, - }, - mounted() { - document.querySelector("#setweeks-loader").style.display = "none"; - document.querySelector("#setweeks").style.display = "block"; - }, - computed: { - weeks() { - for (let i = 0; i < this.raw_weeks.length; i++) { - let week = this.raw_weeks[i]; - if (i == 0) { - let start_weeks = this.weeks_started_at; - week.weekstart = start_weeks; - week.weekend = this.get_end_week(this.weeks_started_at); - } else { - week.weekstart = this.get_start_week( - this.raw_weeks[i - 1].weekend - ); - week.weekend = this.get_end_week(week.weekstart); - } - } - return this.raw_weeks; - }, - }, - methods: { - section_name(section) { - let name = null; - if ( - typeof section.section_name != "undefined" && - section.section_name.length > 0 - ) { - name = section.section_name; - } else { - name = section.name; - } - return name; - }, + function init(content) { + content = add_collapsabled_property_to_weeks(content); + Vue.use(Vuetify); + Vue.component('draggable', Draggable); + Vue.component('datepicker', Datepicker); + Vue.component('pageheader', Pageheader); + const app = new Vue({ + delimiters: ["[[", "]]"], + el: "#setweeks", + vuetify: new Vuetify(), + data: { + display_settings: false, + settings: content.settings, + new_group: false, + scroll_mode: false, + weeks_started_at: new Date(Moment(Number(content.weeks[0].weekstart)*1000)), + strings: content.strings, + sections: content.sections, + courseid: content.courseid, + userid: content.userid, + raw_weeks: content.weeks, + disabled_dates: { + days: [0, 2, 3, 4, 5, 6] + }, + saving_loader: false, + error_messages: [], + save_successful: false + }, + mounted() { + document.querySelector("#setweeks-loader").style.display = "none"; + document.querySelector("#setweeks").style.display = "block"; + }, + computed: { + weeks() { + for (let i = 0; i < this.raw_weeks.length; i++) { + let week = this.raw_weeks[i]; + if (i == 0) { + let start_weeks = this.weeks_started_at; + week.weekstart = start_weeks; + week.weekend = this.get_end_week(this.weeks_started_at); + } else { + week.weekstart = this.get_start_week(this.raw_weeks[i - 1].weekend); + week.weekend = this.get_end_week(week.weekstart); + } + } + return this.raw_weeks; + } + }, + methods: { + section_name(section) { + let name = null; + if (typeof (section.section_name) != 'undefined' && section.section_name.length > 0) { + name = section.section_name; + } else { + name = section.name; + } + return name; + }, - section_exist(section) { - let exist = true; - if ( - typeof section != "undefined" && - typeof section.exists != "undefined" && - section.exists == false - ) { - exist = false; - } - return exist; - }, + section_exist(section) { + let exist = true; + if (typeof (section) != 'undefined' && typeof (section.exists) != 'undefined' && section.exists == false) { + exist = false; + } + return exist; + }, - format_name(name, position) { - return name + " " + (position + 1); - }, + format_name(name, position) { + return name + " " + (position + 1); + }, - customFormatter(date) { - let weeks_start_at = Moment(date).format("YYYY-MM-DD"); - return weeks_start_at; - }, + customFormatter(date) { + let weeks_start_at = Moment(date).format('YYYY-MM-DD'); + return weeks_start_at; + }, - add_week() { - this.raw_weeks.push({ - name: this.strings.week, - position: this.weeks.length + 1, - weekstart: null, - weekend: null, - collapsabled: false, - hours_dedications: 0, - removable: true, - sections: [], - }); - }, + add_week() { + this.raw_weeks.push({ + name: this.strings.week, + position: (this.weeks.length + 1), + weekstart: null, + weekend: null, + collapsabled: false, + hours_dedications: 0, + removable: true, + sections: [] + }); + }, - has_items(array) { - return array.length > 0; - }, + has_items(array) { + return array.length > 0; + }, - remove_week(week, index) { - if (index == 0) { - return null; - } - this.close_delete_confirm(); - for (let i = 0; i < week.sections.length; i++) { - this.sections.push(week.sections[i]); - } - let element_index = this.raw_weeks.indexOf(week); - this.raw_weeks.splice(element_index, 1); - }, + remove_week(week, index) { + if (index == 0) { + return null; + } + this.close_delete_confirm(); + for (let i = 0; i < week.sections.length; i++) { + this.sections.push(week.sections[i]); + } + let element_index = this.raw_weeks.indexOf(week); + this.raw_weeks.splice(element_index, 1); + }, - ask_delete_confirm() { - this.delete_confirm = true; - }, + ask_delete_confirm() { + this.delete_confirm = true; + }, - close_delete_confirm() { - this.delete_confirm = false; - }, + close_delete_confirm() { + this.delete_confirm = false; + }, - get_start_week(pass_week) { - let start_date = Moment(Moment(pass_week).add(1, "days")).format( - "YYYY-MM-DD" - ); - return start_date; - }, + get_start_week(pass_week) { + let start_date = Moment(Moment(pass_week).add(1, 'days')).format('YYYY-MM-DD'); + return start_date; + }, - get_end_week(start_week) { - let end_date = Moment(Moment(start_week).add(6, "days")).format( - "YYYY-MM-DD" - ); - return end_date; - }, + get_end_week(start_week) { + let end_date = Moment(Moment(start_week).add(6, 'days')).format('YYYY-MM-DD'); + return end_date; + }, - get_date_next_day(requested_day, date, output_format = null) { - requested_day = requested_day.toLowerCase(); - let current_day = Moment(date).format("dddd").toLowerCase(); - while (current_day != requested_day) { - date = Moment(date).add(1, "days"); - current_day = Moment(date).format("dddd").toLowerCase(); - } - if (output_format) { - date = date.format(output_format); - } else { - if (typeof date != "number") { - date = parseInt(date.format("x")); - } - } - return date; - }, + get_date_next_day(requested_day, date, output_format = null) { + requested_day = requested_day.toLowerCase(); + let current_day = Moment(date).format('dddd').toLowerCase(); + while (current_day != requested_day) { + date = Moment(date).add(1, 'days'); + current_day = Moment(date).format('dddd').toLowerCase(); + } + if (output_format) { + date = date.format(output_format); + } else { + if (typeof (date) != 'number') { + date = parseInt(date.format("x")); + } + } + return date; + }, - position(index) { - index++; - return `${index} - `; - }, + position(index) { + index++; + return `${index} - `; + }, - save_changes() { - this.save_successful = false; - this.error_messages = []; - if (this.empty_weeks()) { - this.saving_loader = false; - Alertify.error(this.strings.error_empty_week); - this.error_messages.push(this.strings.error_empty_week); - return false; - } - if (this.weeks_deleted_from_course()) { - this.saving_loader = false; - this.error_messages.push(this.strings.error_section_removed); - return false; - } + save_changes() { + this.save_successful = false; + this.error_messages = []; + if (this.empty_weeks()) { + this.saving_loader = false; + Alertify.error(this.strings.error_empty_week); + this.error_messages.push(this.strings.error_empty_week); + return false; + } + if (this.weeks_deleted_from_course()) { + this.saving_loader = false; + this.error_messages.push(this.strings.error_section_removed); + return false; + } - Alertify.confirm( - this.strings.save_warning_content, - () => { - this.saving_loader = true; - var weeks = this.weeks; - weeks[0].weekstart = Moment(weeks[0].weekstart).format( - "YYYY-MM-DD" - ); - var data = { - action: "saveconfigweek", - userid: this.userid, - courseid: this.courseid, - newinstance: this.new_group, - weeks: this.minify_query(weeks), // Stringify is a hack to clone object :D - }; + Alertify.confirm(this.strings.save_warning_content, + ()=>{ + this.saving_loader = true; + var weeks = this.weeks; + weeks[0].weekstart = Moment(weeks[0].weekstart).format("YYYY-MM-DD"); + var data = { + action: "saveconfigweek", + userid: this.userid, + courseid: this.courseid, + newinstance: this.new_group, + weeks: this.minify_query(weeks), // Stringify is a hack to clone object :D + }; - Axios({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - params: data, - }) - .then((response) => { - console.log("then1"); - if (response.status == 200 && response.data.ok) { - console.log("then1.2"); - this.settings = response.data.data.settings; - console.log("then1.3"); - Alertify.success(this.strings.save_successful); - console.log("then1.4"); - this.save_successful = true; - console.log("then1.5"); - } else { - console.log("then1.6"); - Alertify.error(this.strings.error_network); - console.log("then1.7"); - this.error_messages.push(this.strings.error_network); - console.log("then1.8"); - } - }) - .catch((e) => { - console.log("catch1"); - Alertify.error(this.strings.error_network); - console.log("catch2"); - this.error_messages.push(this.strings.error_network); - console.log("catch3"); - }) - .finally(() => { - console.log("finally1"); - this.saving_loader = false; - console.log("finally2"); - //this.addLogsIntoDB("saved", "configuration", "weeks", "Saved a new configuration for the weeks !"); - }); - }, - () => { - // ON CANCEL - this.saving_loader = false; - Alertify.warning(this.strings.cancel_action); - } - ) - .set({ title: this.strings.save_warning_title }) - .set({ - labels: { - cancel: this.strings.confirm_cancel, - ok: this.strings.confirm_ok, - }, - }); - }, + Axios({ + method: 'get', + url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", + params: data, + }).then((response) => { + console.log("then1"); + if (response.status == 200 && response.data.ok) { + console.log("then1.2"); + this.settings = response.data.data.settings; + console.log("then1.3"); + Alertify.success(this.strings.save_successful); + console.log("then1.4"); + this.save_successful = true; + console.log("then1.5"); + } else { + console.log("then1.6"); + Alertify.error(this.strings.error_network); + console.log("then1.7"); + this.error_messages.push(this.strings.error_network); + console.log("then1.8"); + } + }).catch((e) => { + console.log("catch1"); + Alertify.error(this.strings.error_network); + console.log("catch2"); + this.error_messages.push(this.strings.error_network); + console.log("catch3"); + }).finally(() => { + console.log("finally1"); + this.saving_loader = false; + console.log("finally2"); + //this.addLogsIntoDB("saved", "configuration", "weeks", "Saved a new configuration for the weeks !"); + }); + }, + ()=>{ // ON CANCEL + this.saving_loader = false; + Alertify.warning(this.strings.cancel_action); + }).set({title: this.strings.save_warning_title}) + .set({labels: {cancel: this.strings.confirm_cancel, ok: this.strings.confirm_ok}}); + }, - minify_query(weeks) { - var minify = []; - weeks.forEach((week) => { - var wk = new Object(); - wk.h = week.hours_dedications; - wk.s = week.weekstart; - wk.e = week.weekend; - wk.sections = []; - week.sections.forEach((section) => { - var s = new Object(); - s.sid = section.sectionid; - wk.sections.push(s); - }); - minify.push(wk); - }); - return JSON.stringify(minify); - }, + minify_query(weeks) { + var minify = []; + weeks.forEach(week => { + var wk = new Object(); + wk.h = week.hours_dedications; + wk.s = week.weekstart; + wk.e = week.weekend; + wk.sections = []; + week.sections.forEach(section => { + var s = new Object(); + s.sid = section.sectionid; + wk.sections.push(s); + }); + minify.push(wk); + }); + return JSON.stringify(minify); + }, - empty_weeks() { - if (this.weeks.length >= 2 && this.weeks[0].sections.length < 1) { - return true; - } - for (let i = 0; i < this.weeks.length; i++) { - if (i > 0 && this.weeks[i].sections.length <= 0) { - return true; - } - } - return false; - }, + empty_weeks() { + if (this.weeks.length >= 2 && this.weeks[0].sections.length < 1) { + return true; + } + for (let i = 0; i < this.weeks.length; i++) { + if (i > 0 && this.weeks[i].sections.length <= 0) { + return true; + } + } + return false; + }, - weeks_deleted_from_course() { - for ( - var week_position = 0; - week_position < this.weeks.length; - week_position++ - ) { - for ( - var section_position = 0; - section_position < this.weeks[week_position].sections.length; - section_position++ - ) { - if ( - !this.section_exist( - this.weeks[week_position].sections[section_position] - ) - ) { - return true; - } - } - } - return false; - }, + weeks_deleted_from_course() { + for (var week_position = 0; week_position < this.weeks.length; week_position++) { + for (var section_position = 0; section_position < this.weeks[week_position].sections.length; section_position++) { + if (!this.section_exist(this.weeks[week_position].sections[section_position])) { + return true; + } + } + } + return false; + }, - exists_mistakes() { - let exists_mistakes = this.error_messages.length > 0; - return exists_mistakes; - }, + exists_mistakes() { + let exists_mistakes = this.error_messages.length > 0; + return exists_mistakes; + }, - change_collapsabled(index) { - this.raw_weeks[index].collapsabled = - !this.raw_weeks[index].collapsabled; - }, + change_collapsabled(index) { + this.raw_weeks[index].collapsabled = !this.raw_weeks[index].collapsabled; + }, - course_finished() { - let finished = false; - let last = this.weeks.length - 1; - let end = Moment(this.weeks[last].weekend).format("X"); - let now = Moment().format("X"); - if (now > end) { - finished = true; - } else { - finished = false; - } - return finished; - }, + course_finished() { + let finished = false; + let last = this.weeks.length - 1; + let end = Moment(this.weeks[last].weekend).format("X"); + let now = Moment().format("X"); + if (now > end) { + finished = true; + } else { + finished = false; + } + return finished; + }, - get_settings_status() { - let visible = true; - Object.keys(this.settings).map((key) => { - if (!this.settings[key]) { - visible = false; - } - }); - let status = visible - ? this.strings.plugin_visible - : this.strings.plugin_hidden; - return status; - }, + get_settings_status() { + let visible = true; + Object.keys(this.settings).map(key => { + if (!this.settings[key]) { + visible = false; + } + }); + let status = visible ? this.strings.plugin_visible : this.strings.plugin_hidden; + return status; + }, - get_help_content() { - var help_contents = []; - var help = new Object(); - help.title = this.strings.title; - help.description = this.strings.description; - help_contents.push(help); - return help_contents; - }, + get_help_content() { + var help_contents = []; + var help = new Object(); + help.title = this.strings.title; + help.description = this.strings.description; + help_contents.push(help); + return help_contents; + }, - addLogsIntoDB(action, objectName, objectType, objectDescription) { - let data = { - courseid: content.courseid, - userid: content.userid, - action: "addLogs", - sectionname: "CONFIGURATION_COURSE_WEEK", - actiontype: action, - objectType: objectType, - objectName: objectName, - currentUrl: document.location.href, - objectDescription: objectDescription, - }; - Axios({ - method: "get", - url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", - params: data, - }) - .then((response) => { - if (response.status == 200 && response.data.ok) { - } - }) - .catch((e) => {}); - }, - }, - }); - } + addLogsIntoDB(action, objectName, objectType, objectDescription) { + let data = { + courseid: content.courseid, + userid: content.userid, + action: "addLogs", + sectionname: "CONFIGURATION_COURSE_WEEK", + actiontype: action, + objectType: objectType, + objectName: objectName, + currentUrl: document.location.href, + objectDescription: objectDescription, + }; + Axios({ + method:'get', + url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", + params : data, + }).then((response) => { + if (response.status == 200 && response.data.ok) { + } + }).catch((e) => { + }); + }, + } + }); + } - function add_collapsabled_property_to_weeks(content) { - for (let i = 0; i < content.weeks.length; i++) { - let week = content.weeks[i]; - if (typeof week.collapsabled == "undefined") { - week.collapsabled = false; - } - } - return content; - } + function add_collapsabled_property_to_weeks(content) { + for (let i = 0; i < content.weeks.length; i++) { + let week = content.weeks[i]; + if (typeof (week.collapsabled) == "undefined") { + week.collapsabled = false; + } + } + return content; + } - return { - init: init, - }; -}); + return { + init: init + }; + }); \ No newline at end of file diff --git a/notemyprogress/classes/configgamification.php b/notemyprogress/classes/configgamification.php deleted file mode 100644 index 0f1f21ef20f8ffe718e761bd35008ac74a0e94c4..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/configgamification.php +++ /dev/null @@ -1,382 +0,0 @@ -<?php - -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * Config Gamification - * - * @package local_notemyprogress - * @autor Edisson Sigua, Bryan Aguilar - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -namespace local_notemyprogress; - -require_once("lib_trait.php"); - -use stdClass; -use DirectoryIterator; -use core_collator; -use core_component; -use core_plugin_manager; - -class configgamification { - - use \lib_trait; - - public $course; - public $user; - public $levelsData; - - function __construct($course, $userid){ - $this->course = self::get_course($course); - $this->user = self::get_user($userid); - $this->levelsData = self::get_levels_data(); - $this->levelsData = self::get_first_levels(); - } - - /** - *verify That There Are Levels,If There Are No Creation ByDefault - * - * @return array A list with gaming levels of the course - * @throws coding_exception | dml_exception - */ - public function get_first_levels(){ - $levelsData = $this->levelsData; - - if(!$levelsData){ - $levelsData = self::create_first_levels(); - $this->levelsData = $levelsData; - } - return $levelsData; - } - - /** - * Create the first two levels (default levels) of NoteMyProgress in a course.This function is executed - * automatically for each course. - * - * @return stdClass An object with the levels created - * @throws dml_exception - */ - private function create_first_levels(){ - global $DB; - - $levelsInfo[] = array('lvl' => 1, 'name' => 'Level 1', 'des' => '', 'points' => 0); - $levelsInfo[] = array('lvl' => 2, 'name' => 'Level 2', 'des' => '', 'points' => 120); - - $settings = array( - 'pointsbase' => 120, - 'tit' => 'Raise your level while learning', - 'des' => 'Interact with your course make you stronger' - ); - - $levelsData = new stdClass(); - $levelsData->levelsdata = json_encode($levelsInfo); - $levelsData->settings = json_encode($settings); - $levelsData->rules = json_encode(self::default_rules()); - $levelsData->courseid = $this->course->id; - $levelsData->created_by = $this->user->id; - $levelsData->modified_by = $this->user->id; - $levelsData->timecreated = self::now_timestamp(); - $levelsData->timemodified = self::now_timestamp(); - - $id = $DB->insert_record("notemyprogress_levels_data", $levelsData, true); - $levelsData->id = $id; - return $levelsData; - } - - /** - * Gets information about the level configuration - * - * @return array a list with the weeks configured in a course - */ - public function get_levels_data(){ - global $DB; - $levelsData = $DB->get_record_select( - "notemyprogress_levels_data", - 'courseid = ? AND timedeleted IS NULL', - array($this->course->id)); - - if($levelsData){ - $levelsData->levelsdata = json_decode($levelsData->levelsdata); - $levelsData->settings = json_decode($levelsData->settings); - $levelsData->rules = json_decode($levelsData->rules); - } - - return $levelsData; - } - - /** - * Save the Gaming Levels of NotemyProgress configured in a course - * - * @param array $ Levels Levels to Save - * - * @return void - * @throws Exception - */ - public function save_levels($levelsInfo, $settings, $rules){ - global $DB; - self::delete_levels(); - $levelsData = new stdClass(); - $levelsData->levelsdata = ($levelsInfo); - $levelsData->settings = ($settings); - $levelsData->rules = ($rules); - $levelsData->courseid = $this->course->id; - $levelsData->created_by = $this->user->id; - $levelsData->modified_by = $this->user->id; - $levelsData->timecreated = self::now_timestamp(); - $levelsData->timemodified = self::now_timestamp(); - $id = $DB->insert_record("notemyprogress_levels_data", $levelsData, true); - $levelsData->id = $id; - return $levelsData; - } - - /** - * Eliminates the Gaming Levels of NoteMyProgress configured in a course - * - * @return void - * @throws dml_exception - */ - public function delete_levels(){ - global $DB; - $levelsData = $this->levelsData; - $id = $levelsData->id; - $sql = "update {notemyprogress_levels_data} set timedeleted = ? where id = ?"; - $DB->execute($sql, array(self::now_timestamp() , $id)); - } - - /** - * Get the default gamification rules - * - * @return array a list of rules configured in a course - */ - public function default_rules() { - $ruleset[] = array('rule' => '\mod_book\event\course_module_viewed', 'points' => 5); - $ruleset[] = array('rule' => '\mod_page\event\course_module_viewed', 'points' => 10); - $ruleset[] = array('rule' => '\mod_forum\event\discussion_subscription_created', 'points' => 20); - $ruleset[] = array('rule' => '\core\event\course_viewed', 'points' => 2); - return $ruleset; - } - - /** - * Get a list of events. - */ - public final function events_list() { - $list = []; - - $coreevents = $this->get_core_events(); -// $list[] = [get_string('coresystem') => array_reduce(array_keys($coreevents), function($carry, $prefix) use ($coreevents) { -// return array_merge($carry, array_reduce($coreevents[$prefix], function($carry, $eventclass) use ($prefix) { -// $infos = self::get_event_infos($eventclass); -// if ($infos) { -// $carry[$infos['eventname']] = get_string('tg_colon', 'local_notemyprogress', (object) [ -// 'a' => $prefix, -// 'b' => $infos['name'] -// ]); -// } -// return $carry; -// }, [])); -// }, [])]; - - $coreevents = [get_string('coresystem') => array_reduce(array_keys($coreevents), function($carry, $prefix) use ($coreevents) { - return array_merge($carry, array_reduce($coreevents[$prefix], function($carry, $eventclass) use ($prefix) { - $infos = self::get_event_infos($eventclass); - if ($infos) { - $name = get_string('tg_colon', 'local_notemyprogress', [ - 'a' => $prefix, - 'b' => $infos['name'] - ]); - $carry = array('name' => $name, 'event' => $infos['eventname']); - } - return $carry; - }, [])); - }, [])]; - - foreach ($coreevents as $event) { - $list[] = $event; - } - - // Get module events. - $list = array_merge($list, self::get_events_list_from_plugintype('mod')); - - return $list; - } - - /** - * Get the core events. - * - * @return array The keys are translated subsystem names, the values are the classes. - */ - protected function get_core_events() { - // Add some system events. - return [get_string('course') => [ - '\\core\\event\\course_viewed', - ]]; - } - - - /** - * Return the info about an event. - * - * The key 'name' is added to contain the readable name of the event. - * It is done here because debugging is turned off and some events use - * deprecated strings. - * - * We also add the key 'isdeprecated' which indicates whether the event - * is obsolete or not. - * - * @param string $class The name of the event class. - * @return array|false - */ - public static function get_event_infos($class) { - global $CFG; - $infos = false; - - // We need to disable debugging as some events can be deprecated. - $debuglevel = $CFG->debug; - $debugdisplay = $CFG->debugdisplay; - set_debugging(0, false); - - // Check that the event exists, and is not an abstract event. - if (method_exists($class, 'get_static_info')) { - $ref = new \ReflectionClass($class); - if (!$ref->isAbstract()) { - $infos = $class::get_static_info(); - $infos['name'] = method_exists($class, 'get_name_with_info') ? $class::get_name_with_info() : $class::get_name(); - $infos['isdeprecated'] = method_exists($class, 'is_deprecated') ? $class::is_deprecated() : false; - } - } - - // Restore debugging. - set_debugging($debuglevel, $debugdisplay); - - return $infos; - } - - /** - * Get events from plugin type. - * - * @param string $plugintype Plugin type. - * @return array - */ - protected static function get_events_list_from_plugintype($plugintype) { - $list = []; - - // Loop over each plugin of the type. - $pluginlist = core_component::get_plugin_list($plugintype); - foreach ($pluginlist as $plugin => $directory) { - $component = $plugintype . '_' . $plugin; - $events = self::get_events_list_from_plugin($component); - - // If we found events for this plugin, we add them to the list. - if (!empty($events)) { - //$pluginmanager = core_plugin_manager::instance(); - //$plugininfo = $pluginmanager->get_plugin_info($component); - foreach ($events as $event) { - $list[] = $event; - } - } - } - - return $list; - } - - /** - * Get the events list from a plugin. - * - * From 3.1 we could be using core_component::get_component_classes_in_namespace(). - * - * @param string $component The plugin's component name. - * @return array - */ - protected static function get_events_list_from_plugin($component) { - $directory = core_component::get_component_directory($component); - $plugindirectory = $directory . '/classes/event'; - if (!is_dir($plugindirectory)) { - return []; - } - - // Get the plugin's events. - $eventclasses = static::get_event_classes_from_component($component); - - $pluginmanager = core_plugin_manager::instance(); - $plugininfo = $pluginmanager->get_plugin_info($component); - - // Reduce to the participating, non-deprecated event. - $events = array_reduce($eventclasses, function($carry, $class) use ($plugininfo) { - $infos = self::get_event_infos($class); - if (empty($infos)) { - // Skip rare case where infos aren't found. - return $carry; - } else if ($infos['edulevel'] != \core\event\base::LEVEL_PARTICIPATING) { - // Skip events that are not of level 'participating'. - return $carry; - } - -// $carry[$infos['eventname']] = get_string('tg_colon', 'local_notemyprogress', [ -// 'a' => $plugininfo->displayname, -// 'b' => $infos['name'] -// ]); - - $name = get_string('tg_colon', 'local_notemyprogress', [ - 'a' => $plugininfo->displayname, - 'b' => $infos['name'] - ]); - - $carry[] = array('name' => $name, 'event' => $infos['eventname']); - - return $carry; - }, []); - - // Order alphabetically. - //core_collator::asort($events, core_collator::SORT_NATURAL); - - return $events; - } - - /** - * Get the events classes from a component. - * - * @param string $component The component. - * @return Array of classes. Those may not be relevant (abstract, invalid, ...) - */ - public static function get_event_classes_from_component($component) { - $directory = core_component::get_component_directory($component); - $plugindirectory = $directory . '/classes/event'; - if (!is_dir($plugindirectory)) { - return []; - } - - $eventclasses = []; - $diriter = new DirectoryIterator($plugindirectory); - foreach ($diriter as $file) { - if ($file->isDot() || $file->isDir()) { - continue; - } - - // It's a good idea to use the leading slashes because the event's property - // 'eventname' includes them as well, so for consistency sake... Also we do - // not check if the class exists because that would cause the class to be - // autoloaded which would potentially trigger debugging messages when - // it is deprecated. - $name = substr($file->getFileName(), 0, -4); - $classname = '\\' . $component . '\\event\\' . $name; - $eventclasses[] = $classname; - } - return $eventclasses; - } -} \ No newline at end of file diff --git a/notemyprogress/classes/configweeks.php b/notemyprogress/classes/configweeks.php index 6812ff9fdff215a7c9f322f14290a4d6569c7ea6..bba9194255e18e10196b91edd9f2d08453d3f955 100644 --- a/notemyprogress/classes/configweeks.php +++ b/notemyprogress/classes/configweeks.php @@ -51,10 +51,10 @@ class configweeks { } /** - * Gets the last instance configured for the weeks of Note My Progress.If you have not yet been - * Configured weeks in a course, the last instance is the one that creates the plugin by default. + * Obtiene la última instancia configurada para las semanas de Note My Progress. Si aun no se han + * configurado semanas en un curso, la última instacia es la que crea por defecto el plugin. * - * @return mixed A FieldSet object that contains the first record that Match makes with the query + * @return mixed un objeto fieldset que contiene el primer registro que hace match con la consulta */ public function last_instance(){ global $DB; @@ -67,10 +67,10 @@ class configweeks { } /** - * Create a new instance for the setting of weeks of Note My Progress.This is the instance - * That is created by default. + * Crea una nueva instancia para la configuración de semanas de Note My Progress. Esta es la instancia + * que se crea por defecto. * - * @return mixed A FieldSet object that contains the created record + * @return mixed un objeto fieldset que contiene el registro creado */ public function create_instance(){ global $DB; @@ -84,10 +84,10 @@ class configweeks { } /** - * Obtain the weeks configured in Note My progress based on the IDs of class attributes - * $ Course and $ INTANCE.It can be specified + * Obtiene las semanas configuradas en Note My Progress en base a los ids de los atributos de clase + * $course e $intance. Se puede especificar * - * @return Array a list with the weeks configured in a course + * @return array una lista con las semanas configuradas en un curso */ public function get_weeks(){ global $DB; @@ -99,10 +99,10 @@ class configweeks { } /** - * Add the Sections field to the class variable weeks to store the sections assigned to each week. + * Agrega el campo sections a la variable de clase semanas para almacenar las secciones asignadas a cada semana. * - * @return Array a list with the weeks of the course and sections assigned to each - * @throws Coding_Exception |DML_EXCEPTION. + * @return array una lista con las semanas del curso y las secciones asignadas a cada una + * @throws coding_exception | dml_exception */ public function get_weeks_with_sections(){ $weeks = $this->weeks; @@ -139,10 +139,10 @@ class configweeks { } /** - * Create the first week (default week) of Note My progress in a course.This function is executed - * automatically for each course. + * Crea la primera semana (semana por defecto) de Note My Progress en un curso. Esta funcion se ejecuta + * de manera automática para cada curso. * - * @return stdClass An object with the week created + * @return stdClass un objeto con la semana creada * @throws dml_exception */ private function create_first_week(){ @@ -336,7 +336,7 @@ class configweeks { } /** - * Eliminates the weeks of Note My Progress configured in a course + * Elimina las semanas de Note My Progress configuradas en un curso * * @return void * @throws dml_exception @@ -352,9 +352,9 @@ class configweeks { } /** - * Eliminates sections assigned to a week of Note My Progress + * Elimina las secciones asignadas a una semana de Note My Progress * - * @param string $weekcode ID of the week to eliminate + * @param string $weekcode id de la semana a eliminar * * @return void * @throws dml_exception @@ -366,10 +366,10 @@ class configweeks { } /** - * Save a week of Note My Progress configured in a course + * Guarda una semana de Note My Progress configurada en un curso * - * @param Object $Week week to save - * @param int $Position position of the week + * @param object $week semana a guardar + * @param int $position posicion de la semana * * @return void * @throws Exception @@ -393,10 +393,10 @@ class configweeks { } /** - * Save the sections assigned to a week of Note My Progress + * Guarda las secciones asignadas a una semana de Note My Progress * - * @param string $Weekcode ID of the week to which the sections belong - * @param array $sections List of Sections to Save + * @param string $weekcode id de la semana a la que pertenece las secciones + * @param array $sections lista de secciones a guardar * * @return void * @throws dml_exception @@ -409,11 +409,11 @@ class configweeks { } /** - * Save a SECTION ASSIGNED A A WEEK OF NOTE MY PROGRAMS + * Guarda una seccion asignada a una semana de Note My Progress * - * @param object $section Save section - * @param int $weekcode ID of the week to which the section belongs - * @param int $position Position of the section + * @param object $section sección a guardar + * @param int $weekcode id de la semana a la que pertenece la sección + * @param int $position posición de la sección * * @return void */ @@ -431,10 +431,10 @@ class configweeks { } /** - * Gets the name of a given section your ID + * Obtiene el nombre de una sección dado su id * - * @param int $sectionid Section ID. - * @param int $position Position of the section + * @param int $sectionid id de sección + * @param int $position posición de la sección * * @return void */ @@ -446,13 +446,13 @@ class configweeks { } /** - * Returns the current week of the scheduled weeks of Note My progress.In case the consultation - * It is done after the course is over, the last week is returned + * Devuelve la semana actual de las semanas configuradas de Note My Progress. En caso de que la consulta + * se realice despues de que el curso haya terminado, se retorna la última semana configurada * - * @param int $last_if_course_finished Optional whole parameter to return the last week configured - * In case the course has finished + * @param int $last_if_course_finished parámetro entero opcional para devolver la última semana configurada + * en caso de que el curso haya terminado * - * @return Object object with the current week at the last week + * @return object objeto con la semana actual a la última semana */ public function get_current_week($last_if_course_finished = true){ $current = null; @@ -472,12 +472,12 @@ class configweeks { } /** - * Take the current date at the time of making the call to the function and it has 7 days to get - * On the day of the past week.If the day obtained is within some of the weeks - * Configured Note My Progress then returns that week, of the contracted Null returns + * Toma la fecha actual al momento de hacer la llamada a la funcion y le resta 7 días para obtener + * el día de la peticion de la semana pasada. Si el día obtenido esta dentro de alguna de las semanas + * configuradas de Note My Progress entonces se retorna esa semana, de lo contratio se retorna null * - * @return object Object with the week to which the current date corresponds less 7 days.In case of - * Do not find it Returns NULL + * @return object objeto con la semana a la que corresponde la fecha actual menos 7 días. En caso de + * no encontrarlo se retorna null */ public function get_past_week(){ $past = null; diff --git a/notemyprogress/classes/event_strategy.php b/notemyprogress/classes/event_strategy.php deleted file mode 100644 index d83abdbdb0a7143706d24cc38d5e51f93d915a72..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/event_strategy.php +++ /dev/null @@ -1,488 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * Event Collector Observer - * - * @package local_notemyprogress - * @autor Edisson Sigua, Bryan Aguilar - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -namespace local_notemyprogress; - -defined('MOODLE_INTERNAL') || die(); - -require_once("lib_trait.php"); - -use stdClass; -use DateTime; -use dml_exception; -use lang_string; - -class event_strategy { - - use \lib_trait; - - protected $table_xp = 'notemyprogress_xp'; - protected $table_log = 'notemyprogress_xp_log'; - public $course; - public $user; - public $configgamification; - - public function __construct($course, $userid) { - $this->course = self::get_course($course); - $this->user = self::get_user($userid); - $this->configgamification = new \local_notemyprogress\configgamification($course, $userid); - } - - /** - * Manejador de eventos. - * - * @param \core\event\base $event The event. - * @return void - */ - public function collect_event(\core\event\base $event) { - - if (!self::can_capture_event($event)) { - return; - } - - $points = self::get_points_for_event($event); - if ($points === null) { - return; - } - - if ($points > 0) { - self::increase($this->user->id, $this->course->id, $points); - self::save_log($this->user->id, $this->course->id, $points, $event->eventname); - } - } - - /** - * Compruebe si el usuario puede capturar este evento. - * - * @param \core\event\base $event El evento. - * @return bool True cuando el evento es permitido. - */ - protected function can_capture_event(\core\event\base $event) { - global $SESSION; - - $now = time(); - $maxcount = 64; - - /* - * El número máximo de acciones que contarán como puntos durante el período de tiempo dado. - * Cualquier acción posterior será ignorada. Cuando este valor está vacío o es igual a cero, no se aplica.*/ - $maxactions = 10; - - /* El período de tiempo (segundos) durante el cual el usuario no debe exceder un número máximo de acciones.*/ - $maxtime = 60; - - /* - * Se acepta nuevamente el tiempo mínimo requerido antes de que una acción que ya sucedió anteriormente. - * Una acción se considera idéntica si se colocó en el mismo contexto y objeto. - * Cuando este valor está vacío o es igual a cero, no se aplica.*/ - $actiontime = 180; - - $actionkey = $event->eventname . ':' . $event->contextid . ':' . $event->objectid . ':' . $event->relateduserid; - - if (!isset($SESSION->local_notemyprogress_cheatguard)) { - // Init the session variable. - $SESSION->local_notemyprogress_cheatguard = []; - } else { - // Ensure that all entries are arrays, they may not be when we just upgraded the plugin. - $SESSION->local_notemyprogress_cheatguard = array_map(function($entry) { - return is_array($entry) ? $entry : [$entry]; - }, $SESSION->local_notemyprogress_cheatguard); - } - - // Perform the check. - if (!static::is_action_accepted($actionkey, $now, $SESSION->local_notemyprogress_cheatguard, $maxactions, $maxtime, $actiontime)) { - return false; - } - - // Move the action at the end of the array. - $times = isset($SESSION->local_notemyprogress_cheatguard[$actionkey]) ? $SESSION->local_notemyprogress_cheatguard[$actionkey] : []; - unset($SESSION->local_notemyprogress_cheatguard[$actionkey]); - $SESSION->local_notemyprogress_cheatguard[$actionkey] = $times; - - // Log the time at which this event happened. - $SESSION->local_notemyprogress_cheatguard[$actionkey][] = time(); - - // Limit the timestamps of each action to a maximum of $maxcount within the timeframe desired or - // the last 15min. We want to keep at least 15 min so that when teachers are testing changes, - // they do not get confused because actions they had just performed no longer gets blocked. - $timethreshold = $now - max([$maxtime, $actiontime, 900]); - $SESSION->local_notemyprogress_cheatguard = array_filter(array_map(function($times) use ($maxcount, $timethreshold) { - return array_slice(array_filter($times, function($time) use ($timethreshold) { - return $time > $timethreshold; - }), -$maxcount); - }, $SESSION->local_notemyprogress_cheatguard)); - - // Limit the array of events to $maxcount, we do not want to flood the session for no reason. - $SESSION->local_notemyprogress_cheatguard = array_slice($SESSION->local_notemyprogress_cheatguard, -$maxcount, null, true); - - return true; - } - - /** - * Comprueba si la acción es aceptada. - * - * @param string $action Clave de la acción. - * @param int $now Timestamp. - * @param array $log Array where keys are actions, and values are timestamp arrays. - * @param int $maxactions El máximo número de acciones. - * @param int $maxintime Tiempo durante el cual el máximo número de acciones es permitido. - * @param int $timebetweenrepeats Tiempo entre acciones repetidas. - * @return bool - */ - public static function is_action_accepted($action, $now, array $log, $maxactions, $maxintime, $timebetweenrepeats) { - - if ($maxactions > 0 && $maxintime > 0) { - $timethreshold = $now - $maxintime; - $actionsintimeframe = array_reduce($log, function($carry, $times) use ($timethreshold) { - return $carry + array_reduce($times, function($carry, $time) use ($timethreshold) { - return $carry + ($time > $timethreshold ? 1 : 0); - }); - }, 0); - if ($actionsintimeframe >= $maxactions) { - return false; - } - } - - if ($timebetweenrepeats > 0) { - $timethreshold = $now - $timebetweenrepeats; - $times = isset($log[$action]) ? $log[$action] : []; - if (!empty($times) && max($times) > $timethreshold) { - return false; - } - } - - return true; - } - - /** - * Obtiene los puntos para un evento. - * - * @param \core\event\base $event event. - * @return int Points, or null. - */ - public function get_points_for_event(\core\event\base $event) { - $ruleset = $this->configgamification->get_levels_data()->rules; - foreach ($ruleset as $rule) { - if ($rule->rule == $event->eventname) { - return $rule->points; - } - } - return null; - } - - /** - * Agregar puntos de experiencia. - * - * @param int $id The receiver. - * @param int $amount The amount. - */ - public function increase($userid, $courseid, $amount) { - global $DB; - $prexp = 0; - $postxp = $amount; - - if ($record = self::get_user_data($userid, $courseid)) { - $prexp = (int)$record->points; - $postxp = $prexp + $amount; - - $sql = "UPDATE {{$this->table_xp}} - SET points = points + :points - WHERE courseid = :courseid - AND userid = :userid"; - $params = [ - 'points' => $amount, - 'courseid' => $courseid, - 'userid' => $userid - ]; - $DB->execute($sql, $params); - - $newxp = (int)$record->points + $amount; - $newlevel = self::get_level_from_xp($newxp)->lvl; - if ($record->level != $newlevel) { - $DB->set_field($this->table_xp, 'level', $newlevel, ['courseid' => $courseid, 'userid' => $userid]); - } - } else { - self::insert($userid, $courseid, $amount); - } - } - - /** - * Log a thing. - * - * @param int $userid The target. - * @param int $courseid The target. - * @param int $points The points. - * @param reason $reason The reason. - * @param DateTime|null $time When that happened. - * @return void - */ - public function save_log($userid, $courseid, $points, $eventName) { - global $DB; - $time = new DateTime(); - $record = new stdClass(); - $record->courseid = $courseid; - $record->userid = $userid; - $record->event = $eventName; - $record->points = $points; - $record->timecreated = $time->getTimestamp(); - try { - $DB->insert_record($this->table_log, $record); - } catch (dml_exception $e) {} - - } - - /** - * Agregar puntos de experiencia a un usuario en la tabla notemyprogress_xp. - * - * @param int $id The receiver. - * @param int $amount The amount. - */ - public function insert($userid, $courseid, $amount) { - global $DB; - $record = new stdClass(); - $record->courseid = $courseid; - $record->userid = $userid; - $record->points = $amount; - $record->level = self::get_level_from_xp($amount)->lvl; - try { - $DB->insert_record($this->table_xp, $record); - } catch (dml_exception $e) {} - } - - /** - * Give the level from the xp points. - * - * @param int $xp The xp points. - * @return level - */ - public function get_level_from_xp($points) { - $levels = $this->configgamification->get_levels_data()->levelsdata; - for ($i = count($levels)-1; $i >= 0; $i--) { - $level = $levels[$i]; - if ($level->points <= $points) { - return $level; - } - } - return $level; - } - - /** - * Obtiene el próximo nivel de un usuario - * - * @return null|level - */ - public function get_next_level($userid) { - - $levels = $this->configgamification->get_levels_data()->levelsdata; - $userData = self::get_user_data($userid, $this->course->id); - $levelnum = $userData->level; - - if ($levelnum > count($levels)-1) { - $nextlevel = false; - } else { - $nextlevel = $levels[$levelnum]; - } - - // TODO: validar que pasa cuando supera el ultimo nivel - if ($nextlevel === false) { - return null; - } - - return $nextlevel; - } - - /** - * Obtiene la información de puntos de experiencia de un usuario - * - * @return null|response - */ - public function get_user_info() { - - $response = new stdClass(); - $recentCount = 3; - //* $response->framboise ="fraise"; this line is working so the probléme comme fro the if under - //if (self::get_user_data($this->user->id, $this->course->id)) { - - $userData = self::get_user_data($this->user->id, $this->course->id); - $nextlevel = self::get_next_level($this->user->id); - $activity = self::get_user_recent_activity($this->user->id, $this->course->id, $recentCount); - $levelInfo = self::get_level_from_xp($userData->points); - - $response->points = $userData->points; - $response->level = $userData->level; - $response->activity = $activity; - $response->levelInfo = $levelInfo; - - // $response->points = 1; - // $response->level = 2; - // $response->activity = 3; - // $response->levelInfo = 4; - - if(is_null($nextlevel)) { - // Si no existe un siguiente nivel - $response->pointsToNext = 0; - $response->progress = 100; - }else{ - $response->pointsToNext = $nextlevel->points - $userData->points; - $response->progress = ($userData->points*100)/$nextlevel->points; - } - // } - return $response; - } - - /** - * Obtiene un ranking con los puntos de experiencia de los usuarios - * - * @return users - */ - public function get_ranking() { - global $DB; - - $users = array(); - $sql = "SELECT * FROM {{$this->table_xp}} WHERE courseid = {$this->course->id} ORDER BY points DESC"; - $rank = $DB->get_recordset_sql($sql); - $index = 1; - - foreach($rank as $user){ - - $completeUser = self::get_user_from_id($user->userid); - $nextlevel = self::get_next_level($user->userid); - - $aux = new stdClass(); - $aux->ranking = $index; - $aux->level = $user->level; - $aux->student = $completeUser->firstname.' '.$completeUser->lastname; - $aux->total = $user->points; - - if(is_null($nextlevel)) { - // Si no existe un siguiente nivel - $aux->progress_percentage = 100; - }else{ - $aux->progress_percentage = ($user->points*100)/$nextlevel->points; - } - - $users[] = $aux; - - $index++; - } - $rank->close(); - return $users; - } - - /** - * Verifica si el usuario existe en la tabla de puntos de experiencia. - * - * @param int $id The receiver. - * @return stdClass|false - */ - public function get_user_data($userid, $courseid) { - global $DB; - $params = []; - $params['userid'] = $userid; - $params['courseid'] = $courseid; - return $DB->get_record($this->table_xp, $params); - } - - /** - * Obtener la actividad reciente del usuario de la tabla notemyprogress_xp_log. - * - * @param int $userid El identificador del usuario. - * @param int $courseid El identificador del curso. - * @param int $count El número de registros a recuperar. - * @return activity - */ - public function get_user_recent_activity($userid, $courseid, $count = 0) { - global $DB; - $results = $DB->get_records_select($this->table_log, 'courseid = :courseid AND userid = :userid AND points > 0', [ - 'courseid' => $courseid, - 'userid' => $userid, - ], 'timecreated DESC, id DESC', '*', 0, $count); - - $activities = array(); - foreach($results as $row){ - $desc = ''; - $class = $row->event; - if (class_exists($class) && is_subclass_of($class, 'core\event\base')) { - $desc = $class::get_name(); - } else { - $desc = new lang_string('somethinghappened', 'local_notemyprogress'); - } - $activity = new stdClass(); - $activity->timeago = self::time_ago(new DateTime('@' . $row->timecreated)); - $activity->description = $desc; - $activity->points = $row->points; - $activities[] = $activity; - } - -// return array_map(function($row) { -// $desc = ''; -// $class = $row->event; -// if (class_exists($class) && is_subclass_of($class, 'core\event\base')) { -// $desc = $class::get_name(); -// } else { -// $desc = new lang_string('somethinghappened', 'local_notemyprogress'); -// } -// $activity = new stdClass(); -// $activity->timeago = self::time_ago(new DateTime('@' . $row->timecreated)); -// $activity->description = $desc; -// $activity->points = $row->points; -// return $activity; -// }, $results); - - return $activities; - } - - /** - * Obtener un timestamp de la forma hace 5 min. - * - * @param DateTime $dt Objeto de tipo DateTime. - * @return string - */ - public function time_ago(DateTime $dt) { - $now = new \DateTime(); - $diff = $now->getTimestamp() - $dt->getTimestamp(); - $ago = '?'; - - if ($diff < 15) { - $ago = get_string('tg_timenow', 'local_notemyprogress'); - } else if ($diff < 45) { - $ago = get_string('tg_timeseconds', 'local_notemyprogress', $diff); - } else if ($diff < HOURSECS * 0.7) { - $ago = get_string('tg_timeminutes', 'local_notemyprogress', round($diff / 60)); - } else if ($diff < DAYSECS * 0.7) { - $ago = get_string('tg_timehours', 'local_notemyprogress', round($diff / HOURSECS)); - } else if ($diff < DAYSECS * 7 * 0.7) { - $ago = get_string('tg_timedays', 'local_notemyprogress', round($diff / DAYSECS)); - } else if ($diff < DAYSECS * 30 * 0.7) { - $ago = get_string('tg_timeweeks', 'local_notemyprogress', round($diff / (DAYSECS * 7))); - } else if ($diff < DAYSECS * 365) { - $ago = userdate($dt->getTimestamp(), get_string('tg_timewithinayearformat', 'local_notemyprogress')); - } else { - $ago = userdate($dt->getTimestamp(), get_string('tg_timeolderyearformat', 'local_notemyprogress')); - } - - return $ago; - } -} \ No newline at end of file diff --git a/notemyprogress/classes/external/external.php b/notemyprogress/classes/external/external.php deleted file mode 100644 index 009182f43543c082660691198c8aee37b05bfd51..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/external/external.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -namespace local_notemyprogress\external; - -use coding_exception; -use dml_exception; -use function end; -use external_api; -use external_function_parameters; -use external_multiple_structure; -use external_single_structure; -use external_value; -use invalid_parameter_exception; -use moodle_exception; -use restricted_context_exception; -use stdClass; - -defined('MOODLE_INTERNAL') || die(); - -/** - * Class levels - * - * @package mod_millionaire\external - * @copyright 2019 Benedikt Kulmann <b@kulmann.biz> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class external extends external_api { - - /** - * Definition of parameters for {@see get_levels}. - * - * @return external_function_parameters - */ - public static function get_levels_parameters() { - return new external_function_parameters([ - 'courseid' => new external_value(PARAM_INT, 'course id'), - ]); - } - - /** - * Definition of return type for {@see get_levels}. - * - * @return external_multiple_structure - */ - public static function get_levels_returns() { - return new external_multiple_structure( - level_dto::get_read_structure() - ); - } - - /** - * Get all levels. - * - * @param int $courseid - * - * @return array - * @throws coding_exception - * @throws dml_exception - * @throws invalid_parameter_exception - * @throws moodle_exception - * @throws restricted_context_exception - */ - public static function get_levels($courseid) { - $params = ['courseid' => $courseid]; - self::validate_parameters(self::get_levels_parameters(), $params); - global $DB; - $levelsData = $DB->get_record_select( - "notemyprogress_levels_data", - 'courseid = ? AND timedeleted IS NULL', $params); - - if($levelsData){ - $levelsData->levelsdata = json_decode($levelsData->levelsdata); - $levelsData->settings = json_decode($levelsData->settings); - $levelsData->rules = json_decode($levelsData->rules); - } - - return $levelsData; - } -} \ No newline at end of file diff --git a/notemyprogress/classes/jwt/BeforeValidException.php b/notemyprogress/classes/jwt/BeforeValidException.php deleted file mode 100644 index e71d2bfc09e2cc0e6315cc59ebb81669bf69cabd..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/jwt/BeforeValidException.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -namespace local_notemyprogress\jwt; - -class BeforeValidException extends \UnexpectedValueException -{ -} diff --git a/notemyprogress/classes/jwt/ExpiredException.php b/notemyprogress/classes/jwt/ExpiredException.php deleted file mode 100644 index 90347ca97d421883a37536c0463e622433f8183c..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/jwt/ExpiredException.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -namespace local_notemyprogress\jwt; - -class ExpiredException extends \UnexpectedValueException -{ -} diff --git a/notemyprogress/classes/jwt/JWK.php b/notemyprogress/classes/jwt/JWK.php deleted file mode 100644 index 831e6b70d42d74e4608aefeca650192e691150c9..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/jwt/JWK.php +++ /dev/null @@ -1,172 +0,0 @@ -<?php - -namespace local_notemyprogress\jwt; - -use DomainException; -use InvalidArgumentException; -use UnexpectedValueException; - -/** - * JSON Web Key implementation, based on this spec: - * https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41 - * - * PHP version 5 - * - * @category Authentication - * @package Authentication_JWT - * @author Bui Sy Nguyen <nguyenbs@gmail.com> - * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD - * @link https://github.com/firebase/php-jwt - */ -class JWK -{ - /** - * Parse a set of JWK keys - * - * @param array $jwks The JSON Web Key Set as an associative array - * - * @return array An associative array that represents the set of keys - * - * @throws InvalidArgumentException Provided JWK Set is empty - * @throws UnexpectedValueException Provided JWK Set was invalid - * @throws DomainException OpenSSL failure - * - * @uses parseKey - */ - public static function parseKeySet(array $jwks) - { - $keys = array(); - - if (!isset($jwks['keys'])) { - throw new UnexpectedValueException('"keys" member must exist in the JWK Set'); - } - if (empty($jwks['keys'])) { - throw new InvalidArgumentException('JWK Set did not contain any keys'); - } - - foreach ($jwks['keys'] as $k => $v) { - $kid = isset($v['kid']) ? $v['kid'] : $k; - if ($key = self::parseKey($v)) { - $keys[$kid] = $key; - } - } - - if (0 === \count($keys)) { - throw new UnexpectedValueException('No supported algorithms found in JWK Set'); - } - - return $keys; - } - - /** - * Parse a JWK key - * - * @param array $jwk An individual JWK - * - * @return resource|array An associative array that represents the key - * - * @throws InvalidArgumentException Provided JWK is empty - * @throws UnexpectedValueException Provided JWK was invalid - * @throws DomainException OpenSSL failure - * - * @uses createPemFromModulusAndExponent - */ - public static function parseKey(array $jwk) - { - if (empty($jwk)) { - throw new InvalidArgumentException('JWK must not be empty'); - } - if (!isset($jwk['kty'])) { - throw new UnexpectedValueException('JWK must contain a "kty" parameter'); - } - - switch ($jwk['kty']) { - case 'RSA': - if (!empty($jwk['d'])) { - throw new UnexpectedValueException('RSA private keys are not supported'); - } - if (!isset($jwk['n']) || !isset($jwk['e'])) { - throw new UnexpectedValueException('RSA keys must contain values for both "n" and "e"'); - } - - $pem = self::createPemFromModulusAndExponent($jwk['n'], $jwk['e']); - $publicKey = \openssl_pkey_get_public($pem); - if (false === $publicKey) { - throw new DomainException( - 'OpenSSL error: ' . \openssl_error_string() - ); - } - return $publicKey; - default: - // Currently only RSA is supported - break; - } - } - - /** - * Create a public key represented in PEM format from RSA modulus and exponent information - * - * @param string $n The RSA modulus encoded in Base64 - * @param string $e The RSA exponent encoded in Base64 - * - * @return string The RSA public key represented in PEM format - * - * @uses encodeLength - */ - private static function createPemFromModulusAndExponent($n, $e) - { - $modulus = JWT::urlsafeB64Decode($n); - $publicExponent = JWT::urlsafeB64Decode($e); - - $components = array( - 'modulus' => \pack('Ca*a*', 2, self::encodeLength(\strlen($modulus)), $modulus), - 'publicExponent' => \pack('Ca*a*', 2, self::encodeLength(\strlen($publicExponent)), $publicExponent) - ); - - $rsaPublicKey = \pack( - 'Ca*a*a*', - 48, - self::encodeLength(\strlen($components['modulus']) + \strlen($components['publicExponent'])), - $components['modulus'], - $components['publicExponent'] - ); - - // sequence(oid(1.2.840.113549.1.1.1), null)) = rsaEncryption. - $rsaOID = \pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA - $rsaPublicKey = \chr(0) . $rsaPublicKey; - $rsaPublicKey = \chr(3) . self::encodeLength(\strlen($rsaPublicKey)) . $rsaPublicKey; - - $rsaPublicKey = \pack( - 'Ca*a*', - 48, - self::encodeLength(\strlen($rsaOID . $rsaPublicKey)), - $rsaOID . $rsaPublicKey - ); - - $rsaPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . - \chunk_split(\base64_encode($rsaPublicKey), 64) . - '-----END PUBLIC KEY-----'; - - return $rsaPublicKey; - } - - /** - * DER-encode the length - * - * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See - * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. - * - * @param int $length - * @return string - */ - private static function encodeLength($length) - { - if ($length <= 0x7F) { - return \chr($length); - } - - $temp = \ltrim(\pack('N', $length), \chr(0)); - - return \pack('Ca*', 0x80 | \strlen($temp), $temp); - } -} diff --git a/notemyprogress/classes/jwt/JWT.php b/notemyprogress/classes/jwt/JWT.php deleted file mode 100644 index 41b06de07c179aad27e84560b9f3b0db4b60f5a8..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/jwt/JWT.php +++ /dev/null @@ -1,547 +0,0 @@ -<?php - -namespace local_notemyprogress\jwt; - - - -use DomainException; -use Exception; -use InvalidArgumentException; -use UnexpectedValueException; -use DateTime; - - -/** - * JSON Web Token implementation, based on this spec: - * https://tools.ietf.org/html/rfc7519 - * - * PHP version 5 - * - * @category Authentication - * @package Authentication_JWT - * @author Neuman Vong <neuman@twilio.com> - * @author Anant Narayanan <anant@php.net> - * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD - * @link https://github.com/firebase/php-jwt - */ -class JWT -{ - const ASN1_INTEGER = 0x02; - const ASN1_SEQUENCE = 0x10; - const ASN1_BIT_STRING = 0x03; - - /** - * When checking nbf, iat or expiration times, - * we want to provide some extra leeway time to - * account for clock skew. - */ - public static $leeway = 0; - - /** - * Allow the current timestamp to be specified. - * Useful for fixing a value within unit testing. - * - * Will default to PHP time() value if null. - */ - public static $timestamp = null; - - public static $supported_algs = array( - 'ES384' => array('openssl', 'SHA384'), - 'ES256' => array('openssl', 'SHA256'), - 'HS256' => array('hash_hmac', 'SHA256'), - 'HS384' => array('hash_hmac', 'SHA384'), - 'HS512' => array('hash_hmac', 'SHA512'), - 'RS256' => array('openssl', 'SHA256'), - 'RS384' => array('openssl', 'SHA384'), - 'RS512' => array('openssl', 'SHA512'), - 'EdDSA' => array('sodium_crypto', 'EdDSA'), - ); - - /** - * Decodes a JWT string into a PHP object. - * - * @param string $jwt The JWT - * @param string|array|resource $key The key, or map of keys. - * If the algorithm used is asymmetric, this is the public key - * @param array $allowed_algs List of supported verification algorithms - * Supported algorithms are 'ES384','ES256', 'HS256', 'HS384', - * 'HS512', 'RS256', 'RS384', and 'RS512' - * - * @return object The JWT's payload as a PHP object - * - * @throws InvalidArgumentException Provided JWT was empty - * @throws UnexpectedValueException Provided JWT was invalid - * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed - * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf' - * @throws BeforeValidException Provided JWT is trying to be used before it's been created as defined by 'iat' - * @throws ExpiredException Provided JWT has since expired, as defined by the 'exp' claim - * - * @uses jsonDecode - * @uses urlsafeB64Decode - */ - public static function decode($jwt, $key, array $allowed_algs = array()) - { - $timestamp = \is_null(static::$timestamp) ? \time() : static::$timestamp; - - if (empty($key)) { - throw new InvalidArgumentException('Key may not be empty'); - } - $tks = \explode('.', $jwt); - if (\count($tks) != 3) { - throw new UnexpectedValueException('Wrong number of segments'); - } - list($headb64, $bodyb64, $cryptob64) = $tks; - if (null === ($header = static::jsonDecode(static::urlsafeB64Decode($headb64)))) { - throw new UnexpectedValueException('Invalid header encoding'); - } - if (null === $payload = static::jsonDecode(static::urlsafeB64Decode($bodyb64))) { - throw new UnexpectedValueException('Invalid claims encoding'); - } - if (false === ($sig = static::urlsafeB64Decode($cryptob64))) { - throw new UnexpectedValueException('Invalid signature encoding'); - } - if (empty($header->alg)) { - throw new UnexpectedValueException('Empty algorithm'); - } - if (empty(static::$supported_algs[$header->alg])) { - throw new UnexpectedValueException('Algorithm not supported'); - } - if (!\in_array($header->alg, $allowed_algs)) { - throw new UnexpectedValueException('Algorithm not allowed'); - } - if ($header->alg === 'ES256' || $header->alg === 'ES384') { - // OpenSSL expects an ASN.1 DER sequence for ES256/ES384 signatures - $sig = self::signatureToDER($sig); - } - - if (\is_array($key) || $key instanceof \ArrayAccess) { - if (isset($header->kid)) { - if (!isset($key[$header->kid])) { - throw new UnexpectedValueException('"kid" invalid, unable to lookup correct key'); - } - $key = $key[$header->kid]; - } else { - throw new UnexpectedValueException('"kid" empty, unable to lookup correct key'); - } - } - - // Check the signature - if (!static::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) { - throw new SignatureInvalidException('Signature verification failed'); - } - - // Check the nbf if it is defined. This is the time that the - // token can actually be used. If it's not yet that time, abort. - if (isset($payload->nbf) && $payload->nbf > ($timestamp + static::$leeway)) { - throw new BeforeValidException( - 'Cannot handle token prior to ' . \date(DateTime::ISO8601, $payload->nbf) - ); - } - - // Check that this token has been created before 'now'. This prevents - // using tokens that have been created for later use (and haven't - // correctly used the nbf claim). - if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) { - throw new BeforeValidException( - 'Cannot handle token prior to ' . \date(DateTime::ISO8601, $payload->iat) - ); - } - - // Check if this token has expired. - if (isset($payload->exp) && ($timestamp - static::$leeway) >= $payload->exp) { - throw new ExpiredException('Expired token'); - } - - return $payload; - } - - /** - * Converts and signs a PHP object or array into a JWT string. - * - * @param object|array $payload PHP object or array - * @param string|resource $key The secret key. - * If the algorithm used is asymmetric, this is the private key - * @param string $alg The signing algorithm. - * Supported algorithms are 'ES384','ES256', 'HS256', 'HS384', - * 'HS512', 'RS256', 'RS384', and 'RS512' - * @param mixed $keyId - * @param array $head An array with header elements to attach - * - * @return string A signed JWT - * - * @uses jsonEncode - * @uses urlsafeB64Encode - */ - public static function encode($payload, $key, $alg = 'HS256', $keyId = null, $head = null) - { - $header = array('typ' => 'JWT', 'alg' => $alg); - if ($keyId !== null) { - $header['kid'] = $keyId; - } - if (isset($head) && \is_array($head)) { - $header = \array_merge($head, $header); - } - $segments = array(); - $segments[] = static::urlsafeB64Encode(static::jsonEncode($header)); - $segments[] = static::urlsafeB64Encode(static::jsonEncode($payload)); - $signing_input = \implode('.', $segments); - - $signature = static::sign($signing_input, $key, $alg); - $segments[] = static::urlsafeB64Encode($signature); - - return \implode('.', $segments); - } - - /** - * Sign a string with a given key and algorithm. - * - * @param string $msg The message to sign - * @param string|resource $key The secret key - * @param string $alg The signing algorithm. - * Supported algorithms are 'ES384','ES256', 'HS256', 'HS384', - * 'HS512', 'RS256', 'RS384', and 'RS512' - * - * @return string An encrypted message - * - * @throws DomainException Unsupported algorithm or bad key was specified - */ - public static function sign($msg, $key, $alg = 'HS256') - { - if (empty(static::$supported_algs[$alg])) { - throw new DomainException('Algorithm not supported'); - } - list($function, $algorithm) = static::$supported_algs[$alg]; - switch ($function) { - case 'hash_hmac': - return \hash_hmac($algorithm, $msg, $key, true); - case 'openssl': - $signature = ''; - $success = \openssl_sign($msg, $signature, $key, $algorithm); - if (!$success) { - throw new DomainException("OpenSSL unable to sign data"); - } - if ($alg === 'ES256') { - $signature = self::signatureFromDER($signature, 256); - } elseif ($alg === 'ES384') { - $signature = self::signatureFromDER($signature, 384); - } - return $signature; - case 'sodium_crypto': - if (!function_exists('sodium_crypto_sign_detached')) { - throw new DomainException('libsodium is not available'); - } - try { - // The last non-empty line is used as the key. - $lines = array_filter(explode("\n", $key)); - $key = base64_decode(end($lines)); - return sodium_crypto_sign_detached($msg, $key); - } catch (Exception $e) { - throw new DomainException($e->getMessage(), 0, $e); - } - } - } - - /** - * Verify a signature with the message, key and method. Not all methods - * are symmetric, so we must have a separate verify and sign method. - * - * @param string $msg The original message (header and body) - * @param string $signature The original signature - * @param string|resource $key For HS*, a string key works. for RS*, must be a resource of an openssl public key - * @param string $alg The algorithm - * - * @return bool - * - * @throws DomainException Invalid Algorithm, bad key, or OpenSSL failure - */ - private static function verify($msg, $signature, $key, $alg) - { - if (empty(static::$supported_algs[$alg])) { - throw new DomainException('Algorithm not supported'); - } - - list($function, $algorithm) = static::$supported_algs[$alg]; - switch ($function) { - case 'openssl': - $success = \openssl_verify($msg, $signature, $key, $algorithm); - if ($success === 1) { - return true; - } elseif ($success === 0) { - return false; - } - // returns 1 on success, 0 on failure, -1 on error. - throw new DomainException( - 'OpenSSL error: ' . \openssl_error_string() - ); - case 'sodium_crypto': - if (!function_exists('sodium_crypto_sign_verify_detached')) { - throw new DomainException('libsodium is not available'); - } - try { - // The last non-empty line is used as the key. - $lines = array_filter(explode("\n", $key)); - $key = base64_decode(end($lines)); - return sodium_crypto_sign_verify_detached($signature, $msg, $key); - } catch (Exception $e) { - throw new DomainException($e->getMessage(), 0, $e); - } - case 'hash_hmac': - default: - $hash = \hash_hmac($algorithm, $msg, $key, true); - if (\function_exists('hash_equals')) { - return \hash_equals($signature, $hash); - } - $len = \min(static::safeStrlen($signature), static::safeStrlen($hash)); - - $status = 0; - for ($i = 0; $i < $len; $i++) { - $status |= (\ord($signature[$i]) ^ \ord($hash[$i])); - } - $status |= (static::safeStrlen($signature) ^ static::safeStrlen($hash)); - - return ($status === 0); - } - } - - /** - * Decode a JSON string into a PHP object. - * - * @param string $input JSON string - * - * @return object Object representation of JSON string - * - * @throws DomainException Provided string was invalid JSON - */ - public static function jsonDecode($input) - { - if (\version_compare(PHP_VERSION, '5.4.0', '>=') && !(\defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)) { - /** In PHP >=5.4.0, json_decode() accepts an options parameter, that allows you - * to specify that large ints (like Steam Transaction IDs) should be treated as - * strings, rather than the PHP default behaviour of converting them to floats. - */ - $obj = \json_decode($input, false, 512, JSON_BIGINT_AS_STRING); - } else { - /** Not all servers will support that, however, so for older versions we must - * manually detect large ints in the JSON string and quote them (thus converting - *them to strings) before decoding, hence the preg_replace() call. - */ - $max_int_length = \strlen((string) PHP_INT_MAX) - 1; - $json_without_bigints = \preg_replace('/:\s*(-?\d{'.$max_int_length.',})/', ': "$1"', $input); - $obj = \json_decode($json_without_bigints); - } - - if ($errno = \json_last_error()) { - static::handleJsonError($errno); - } elseif ($obj === null && $input !== 'null') { - throw new DomainException('Null result with non-null input'); - } - return $obj; - } - - /** - * Encode a PHP object into a JSON string. - * - * @param object|array $input A PHP object or array - * - * @return string JSON representation of the PHP object or array - * - * @throws DomainException Provided object could not be encoded to valid JSON - */ - public static function jsonEncode($input) - { - $json = \json_encode($input); - if ($errno = \json_last_error()) { - static::handleJsonError($errno); - } elseif ($json === 'null' && $input !== null) { - throw new DomainException('Null result with non-null input'); - } - return $json; - } - - /** - * Decode a string with URL-safe Base64. - * - * @param string $input A Base64 encoded string - * - * @return string A decoded string - */ - public static function urlsafeB64Decode($input) - { - $remainder = \strlen($input) % 4; - if ($remainder) { - $padlen = 4 - $remainder; - $input .= \str_repeat('=', $padlen); - } - return \base64_decode(\strtr($input, '-_', '+/')); - } - - /** - * Encode a string with URL-safe Base64. - * - * @param string $input The string you want encoded - * - * @return string The base64 encode of what you passed in - */ - public static function urlsafeB64Encode($input) - { - return \str_replace('=', '', \strtr(\base64_encode($input), '+/', '-_')); - } - - /** - * Helper method to create a JSON error. - * - * @param int $errno An error number from json_last_error() - * - * @return void - */ - private static function handleJsonError($errno) - { - $messages = array( - JSON_ERROR_DEPTH => 'Maximum stack depth exceeded', - JSON_ERROR_STATE_MISMATCH => 'Invalid or malformed JSON', - JSON_ERROR_CTRL_CHAR => 'Unexpected control character found', - JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON', - JSON_ERROR_UTF8 => 'Malformed UTF-8 characters' //PHP >= 5.3.3 - ); - throw new DomainException( - isset($messages[$errno]) - ? $messages[$errno] - : 'Unknown JSON error: ' . $errno - ); - } - - /** - * Get the number of bytes in cryptographic strings. - * - * @param string $str - * - * @return int - */ - private static function safeStrlen($str) - { - if (\function_exists('mb_strlen')) { - return \mb_strlen($str, '8bit'); - } - return \strlen($str); - } - - /** - * Convert an ECDSA signature to an ASN.1 DER sequence - * - * @param string $sig The ECDSA signature to convert - * @return string The encoded DER object - */ - private static function signatureToDER($sig) - { - // Separate the signature into r-value and s-value - list($r, $s) = \str_split($sig, (int) (\strlen($sig) / 2)); - - // Trim leading zeros - $r = \ltrim($r, "\x00"); - $s = \ltrim($s, "\x00"); - - // Convert r-value and s-value from unsigned big-endian integers to - // signed two's complement - if (\ord($r[0]) > 0x7f) { - $r = "\x00" . $r; - } - if (\ord($s[0]) > 0x7f) { - $s = "\x00" . $s; - } - - return self::encodeDER( - self::ASN1_SEQUENCE, - self::encodeDER(self::ASN1_INTEGER, $r) . - self::encodeDER(self::ASN1_INTEGER, $s) - ); - } - - /** - * Encodes a value into a DER object. - * - * @param int $type DER tag - * @param string $value the value to encode - * @return string the encoded object - */ - private static function encodeDER($type, $value) - { - $tag_header = 0; - if ($type === self::ASN1_SEQUENCE) { - $tag_header |= 0x20; - } - - // Type - $der = \chr($tag_header | $type); - - // Length - $der .= \chr(\strlen($value)); - - return $der . $value; - } - - /** - * Encodes signature from a DER object. - * - * @param string $der binary signature in DER format - * @param int $keySize the number of bits in the key - * @return string the signature - */ - private static function signatureFromDER($der, $keySize) - { - // OpenSSL returns the ECDSA signatures as a binary ASN.1 DER SEQUENCE - list($offset, $_) = self::readDER($der); - list($offset, $r) = self::readDER($der, $offset); - list($offset, $s) = self::readDER($der, $offset); - - // Convert r-value and s-value from signed two's compliment to unsigned - // big-endian integers - $r = \ltrim($r, "\x00"); - $s = \ltrim($s, "\x00"); - - // Pad out r and s so that they are $keySize bits long - $r = \str_pad($r, $keySize / 8, "\x00", STR_PAD_LEFT); - $s = \str_pad($s, $keySize / 8, "\x00", STR_PAD_LEFT); - - return $r . $s; - } - - /** - * Reads binary DER-encoded data and decodes into a single object - * - * @param string $der the binary data in DER format - * @param int $offset the offset of the data stream containing the object - * to decode - * @return array [$offset, $data] the new offset and the decoded object - */ - private static function readDER($der, $offset = 0) - { - $pos = $offset; - $size = \strlen($der); - $constructed = (\ord($der[$pos]) >> 5) & 0x01; - $type = \ord($der[$pos++]) & 0x1f; - - // Length - $len = \ord($der[$pos++]); - if ($len & 0x80) { - $n = $len & 0x1f; - $len = 0; - while ($n-- && $pos < $size) { - $len = ($len << 8) | \ord($der[$pos++]); - } - } - - // Value - if ($type == self::ASN1_BIT_STRING) { - $pos++; // Skip the first contents octet (padding indicator) - $data = \substr($der, $pos, $len - 1); - $pos += $len - 1; - } elseif (!$constructed) { - $data = \substr($der, $pos, $len); - $pos += $len; - } else { - $data = null; - } - - return array($pos, $data); - } -} diff --git a/notemyprogress/classes/jwt/SignatureInvalidException.php b/notemyprogress/classes/jwt/SignatureInvalidException.php deleted file mode 100644 index bbf4bdb9b12eab65cfc55a27e18c45fb626a6ff9..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/jwt/SignatureInvalidException.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -namespace local_notemyprogress\jwt; - -class SignatureInvalidException extends \UnexpectedValueException -{ -} diff --git a/notemyprogress/classes/lib_trait.php b/notemyprogress/classes/lib_trait.php index 955570d89badbd4c8183d523037d643d46b8d27c..cbcd195bc94bba4d37cd8f11a174728e0b81f46b 100644 --- a/notemyprogress/classes/lib_trait.php +++ b/notemyprogress/classes/lib_trait.php @@ -270,9 +270,9 @@ trait lib_trait { } /** - * A integer returns that represents the amount of seconds since the UNIX era (January 1 1970 00:00:00 GMT) - * Until now.The current date is calculated based on the time zone obtained with the function - * 'Get_timezone'. + * Retorna un entero que representa la cantidad de segundos desde la Época Unix (January 1 1970 00:00:00 GMT) + * hasta la fecha actual. La fecha actual se calcula en base a la zona horaria obtenida con la función + * 'get_timezone'. * * @return int entero que representa la cantidad de segundos desde la Época Unix hasta la fecha actual */ diff --git a/notemyprogress/classes/observer/observer.php b/notemyprogress/classes/observer/observer.php deleted file mode 100644 index 459183c26ec143fabaab8385dac7118fa5b9a021..0000000000000000000000000000000000000000 --- a/notemyprogress/classes/observer/observer.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * notemyprogress Observer - * - * @package local_notemyprogress - * @autor Edisson Sigua, Bryan Aguilar - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -namespace local_notemyprogress\observer; -defined('MOODLE_INTERNAL') || die(); - -/** - * notemyprogress observer class. - * - * @package local_notemyprogress - * @autor Edisson Sigua, Bryan Aguilar - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class observer -{ - - /** - * When a course is deleted. - * - * @param \core\event\course_deleted $event The event. - * @return void - */ - public static function course_deleted(\core\event\course_deleted $event) - { - global $DB; - - $courseid = $event->objectid; - - // Clean up the data that could be left behind. - $conditions = array('courseid' => $courseid); -// $DB->delete_records('block_xp', $conditions); -// $DB->delete_records('block_xp_config', $conditions); -// $DB->delete_records('block_xp_filters', $conditions); -// $DB->delete_records('block_xp_log', $conditions); - - // Flags. Note that this is based on the actually implementation. -// $sql = $DB->sql_like('name', ':name'); -// $DB->delete_records_select('user_preferences', $sql, [ -// 'name' => 'block_xp-notice-block_intro_' . $courseid -// ]); -// $DB->delete_records_select('user_preferences', $sql, [ -// 'name' => 'block_xp_notify_level_up_' . $courseid -// ]); - - // Delete the files. -// $fs = get_file_storage(); -// $fs->delete_area_files($event->contextid, 'block_xp', 'badges'); - } - - /** - * Observe all events. - * - * @param \core\event\base $event The event. - * @return void - */ - public static function catch_all(\core\event\base $event) { - - global $COURSE, $USER; - $userid = $event->userid; - - if ($event->component === 'local_notemyprogress') { - // Omitir eventos propios. - return; - } else if (!$userid || isguestuser($userid) || is_siteadmin($userid)) { - // Omitir usuarios e invitados que no hayan iniciado sesión. - return; - } - else if ($event->anonymous) { - // Omitir todos los eventos marcados como anónimos. - return; - } - else if (!in_array($event->contextlevel, array(CONTEXT_COURSE, CONTEXT_MODULE))) { - // Omitir eventos que no estén en el contexto correcto. - return; - } else if ($event->edulevel !== \core\event\base::LEVEL_PARTICIPATING) { - // Ignorar eventos que no están participando. - return; - } else if (!$event->get_context()) { - // Si por alguna razón el contexto no existe ... - return; - } - - try { - // Se ha informado que esto puede generar una excepción cuando falta el contexto... - $canearn = has_capability('local/notemyprogress:earnxp', $event->get_context(), $userid); - } catch (moodle_exception $e) { - return; - } - - // Omitir eventos si el usuario no tiene la capacidad de ganar puntos. - if (!$canearn) { - return; - } - - $cs = new \local_notemyprogress\event_strategy($COURSE, $USER); - $cs->collect_event($event); - } - -} \ No newline at end of file diff --git a/notemyprogress/css/materialdesignicons.css b/notemyprogress/css/materialdesignicons.css index 68dee157359be6849d0d775b378e087b1851ec07..ed9afe17a2126e23ac18d703285c1bc72aa03a02 100644 --- a/notemyprogress/css/materialdesignicons.css +++ b/notemyprogress/css/materialdesignicons.css @@ -1,12117 +1,3 @@ -@font-face { - font-family: "Material Design Icons"; - src: url("../fonts/materialdesignicons-webfont.eot?v=3.9.97"); - src: url("../fonts/materialdesignicons-webfont.eot?#iefix&v=3.9.97") - format("embedded-opentype"), - url("../fonts/materialdesignicons-webfont.woff2?v=3.9.97") format("woff2"), - url("../fonts/materialdesignicons-webfont.woff?v=3.9.97") format("woff"), - url("../fonts/materialdesignicons-webfont.ttf?v=3.9.97") format("truetype"); - font-weight: normal; - font-style: normal; -} -.mdi:before, -.mdi-set { - display: inline-block; - font: normal normal normal 24px/1 "Material Design Icons"; - font-size: inherit; - text-rendering: auto; - line-height: inherit; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.mdi-access-point::before { - content: "\F002"; -} -.mdi-access-point-network::before { - content: "\F003"; -} -.mdi-access-point-network-off::before { - content: "\FBBD"; -} -.mdi-account::before { - content: "\F004"; -} -.mdi-account-alert::before { - content: "\F005"; -} -.mdi-account-alert-outline::before { - content: "\FB2C"; -} -.mdi-account-arrow-left::before { - content: "\FB2D"; -} -.mdi-account-arrow-left-outline::before { - content: "\FB2E"; -} -.mdi-account-arrow-right::before { - content: "\FB2F"; -} -.mdi-account-arrow-right-outline::before { - content: "\FB30"; -} -.mdi-account-badge::before { - content: "\FD83"; -} -.mdi-account-badge-alert::before { - content: "\FD84"; -} -.mdi-account-badge-alert-outline::before { - content: "\FD85"; -} -.mdi-account-badge-horizontal::before { - content: "\FDF0"; -} -.mdi-account-badge-horizontal-outline::before { - content: "\FDF1"; -} -.mdi-account-badge-outline::before { - content: "\FD86"; -} -.mdi-account-box::before { - content: "\F006"; -} -.mdi-account-box-multiple::before { - content: "\F933"; -} -.mdi-account-box-outline::before { - content: "\F007"; -} -.mdi-account-card-details::before { - content: "\F5D2"; -} -.mdi-account-card-details-outline::before { - content: "\FD87"; -} -.mdi-account-check::before { - content: "\F008"; -} -.mdi-account-check-outline::before { - content: "\FBBE"; -} -.mdi-account-child::before { - content: "\FA88"; -} -.mdi-account-child-circle::before { - content: "\FA89"; -} -.mdi-account-circle::before { - content: "\F009"; -} -.mdi-account-circle-outline::before { - content: "\FB31"; -} -.mdi-account-clock::before { - content: "\FB32"; -} -.mdi-account-clock-outline::before { - content: "\FB33"; -} -.mdi-account-convert::before { - content: "\F00A"; -} -.mdi-account-details::before { - content: "\F631"; -} -.mdi-account-edit::before { - content: "\F6BB"; -} -.mdi-account-group::before { - content: "\F848"; -} -.mdi-account-group-outline::before { - content: "\FB34"; -} -.mdi-account-heart::before { - content: "\F898"; -} -.mdi-account-heart-outline::before { - content: "\FBBF"; -} -.mdi-account-key::before { - content: "\F00B"; -} -.mdi-account-key-outline::before { - content: "\FBC0"; -} -.mdi-account-minus::before { - content: "\F00D"; -} -.mdi-account-minus-outline::before { - content: "\FAEB"; -} -.mdi-account-multiple::before { - content: "\F00E"; -} -.mdi-account-multiple-check::before { - content: "\F8C4"; -} -.mdi-account-multiple-minus::before { - content: "\F5D3"; -} -.mdi-account-multiple-minus-outline::before { - content: "\FBC1"; -} -.mdi-account-multiple-outline::before { - content: "\F00F"; -} -.mdi-account-multiple-plus::before { - content: "\F010"; -} -.mdi-account-multiple-plus-outline::before { - content: "\F7FF"; -} -.mdi-account-network::before { - content: "\F011"; -} -.mdi-account-network-outline::before { - content: "\FBC2"; -} -.mdi-account-off::before { - content: "\F012"; -} -.mdi-account-off-outline::before { - content: "\FBC3"; -} -.mdi-account-outline::before { - content: "\F013"; -} -.mdi-account-plus::before { - content: "\F014"; -} -.mdi-account-plus-outline::before { - content: "\F800"; -} -.mdi-account-question::before { - content: "\FB35"; -} -.mdi-account-question-outline::before { - content: "\FB36"; -} -.mdi-account-remove::before { - content: "\F015"; -} -.mdi-account-remove-outline::before { - content: "\FAEC"; -} -.mdi-account-search::before { - content: "\F016"; -} -.mdi-account-search-outline::before { - content: "\F934"; -} -.mdi-account-settings::before { - content: "\F630"; -} -.mdi-account-star::before { - content: "\F017"; -} -.mdi-account-star-outline::before { - content: "\FBC4"; -} -.mdi-account-supervisor::before { - content: "\FA8A"; -} -.mdi-account-supervisor-circle::before { - content: "\FA8B"; -} -.mdi-account-switch::before { - content: "\F019"; -} -.mdi-account-tie::before { - content: "\FCBF"; -} -.mdi-accusoft::before { - content: "\F849"; -} -.mdi-adchoices::before { - content: "\FD1E"; -} -.mdi-adjust::before { - content: "\F01A"; -} -.mdi-adobe::before { - content: "\F935"; -} -.mdi-air-conditioner::before { - content: "\F01B"; -} -.mdi-air-filter::before { - content: "\FD1F"; -} -.mdi-air-horn::before { - content: "\FD88"; -} -.mdi-air-purifier::before { - content: "\FD20"; -} -.mdi-airbag::before { - content: "\FBC5"; -} -.mdi-airballoon::before { - content: "\F01C"; -} -.mdi-airplane::before { - content: "\F01D"; -} -.mdi-airplane-landing::before { - content: "\F5D4"; -} -.mdi-airplane-off::before { - content: "\F01E"; -} -.mdi-airplane-takeoff::before { - content: "\F5D5"; -} -.mdi-airplay::before { - content: "\F01F"; -} -.mdi-airport::before { - content: "\F84A"; -} -.mdi-alarm::before { - content: "\F020"; -} -.mdi-alarm-bell::before { - content: "\F78D"; -} -.mdi-alarm-check::before { - content: "\F021"; -} -.mdi-alarm-light::before { - content: "\F78E"; -} -.mdi-alarm-light-outline::before { - content: "\FBC6"; -} -.mdi-alarm-multiple::before { - content: "\F022"; -} -.mdi-alarm-note::before { - content: "\FE8E"; -} -.mdi-alarm-note-off::before { - content: "\FE8F"; -} -.mdi-alarm-off::before { - content: "\F023"; -} -.mdi-alarm-plus::before { - content: "\F024"; -} -.mdi-alarm-snooze::before { - content: "\F68D"; -} -.mdi-album::before { - content: "\F025"; -} -.mdi-alert::before { - content: "\F026"; -} -.mdi-alert-box::before { - content: "\F027"; -} -.mdi-alert-box-outline::before { - content: "\FCC0"; -} -.mdi-alert-circle::before { - content: "\F028"; -} -.mdi-alert-circle-outline::before { - content: "\F5D6"; -} -.mdi-alert-decagram::before { - content: "\F6BC"; -} -.mdi-alert-decagram-outline::before { - content: "\FCC1"; -} -.mdi-alert-octagon::before { - content: "\F029"; -} -.mdi-alert-octagon-outline::before { - content: "\FCC2"; -} -.mdi-alert-octagram::before { - content: "\F766"; -} -.mdi-alert-octagram-outline::before { - content: "\FCC3"; -} -.mdi-alert-outline::before { - content: "\F02A"; -} -.mdi-alien::before { - content: "\F899"; -} -.mdi-all-inclusive::before { - content: "\F6BD"; -} -.mdi-alpha::before { - content: "\F02B"; -} -.mdi-alpha-a::before { - content: "\41"; -} -.mdi-alpha-a-box::before { - content: "\FAED"; -} -.mdi-alpha-a-box-outline::before { - content: "\FBC7"; -} -.mdi-alpha-a-circle::before { - content: "\FBC8"; -} -.mdi-alpha-a-circle-outline::before { - content: "\FBC9"; -} -.mdi-alpha-b::before { - content: "\42"; -} -.mdi-alpha-b-box::before { - content: "\FAEE"; -} -.mdi-alpha-b-box-outline::before { - content: "\FBCA"; -} -.mdi-alpha-b-circle::before { - content: "\FBCB"; -} -.mdi-alpha-b-circle-outline::before { - content: "\FBCC"; -} -.mdi-alpha-c::before { - content: "\43"; -} -.mdi-alpha-c-box::before { - content: "\FAEF"; -} -.mdi-alpha-c-box-outline::before { - content: "\FBCD"; -} -.mdi-alpha-c-circle::before { - content: "\FBCE"; -} -.mdi-alpha-c-circle-outline::before { - content: "\FBCF"; -} -.mdi-alpha-d::before { - content: "\44"; -} -.mdi-alpha-d-box::before { - content: "\FAF0"; -} -.mdi-alpha-d-box-outline::before { - content: "\FBD0"; -} -.mdi-alpha-d-circle::before { - content: "\FBD1"; -} -.mdi-alpha-d-circle-outline::before { - content: "\FBD2"; -} -.mdi-alpha-e::before { - content: "\45"; -} -.mdi-alpha-e-box::before { - content: "\FAF1"; -} -.mdi-alpha-e-box-outline::before { - content: "\FBD3"; -} -.mdi-alpha-e-circle::before { - content: "\FBD4"; -} -.mdi-alpha-e-circle-outline::before { - content: "\FBD5"; -} -.mdi-alpha-f::before { - content: "\46"; -} -.mdi-alpha-f-box::before { - content: "\FAF2"; -} -.mdi-alpha-f-box-outline::before { - content: "\FBD6"; -} -.mdi-alpha-f-circle::before { - content: "\FBD7"; -} -.mdi-alpha-f-circle-outline::before { - content: "\FBD8"; -} -.mdi-alpha-g::before { - content: "\47"; -} -.mdi-alpha-g-box::before { - content: "\FAF3"; -} -.mdi-alpha-g-box-outline::before { - content: "\FBD9"; -} -.mdi-alpha-g-circle::before { - content: "\FBDA"; -} -.mdi-alpha-g-circle-outline::before { - content: "\FBDB"; -} -.mdi-alpha-h::before { - content: "\48"; -} -.mdi-alpha-h-box::before { - content: "\FAF4"; -} -.mdi-alpha-h-box-outline::before { - content: "\FBDC"; -} -.mdi-alpha-h-circle::before { - content: "\FBDD"; -} -.mdi-alpha-h-circle-outline::before { - content: "\FBDE"; -} -.mdi-alpha-i::before { - content: "\49"; -} -.mdi-alpha-i-box::before { - content: "\FAF5"; -} -.mdi-alpha-i-box-outline::before { - content: "\FBDF"; -} -.mdi-alpha-i-circle::before { - content: "\FBE0"; -} -.mdi-alpha-i-circle-outline::before { - content: "\FBE1"; -} -.mdi-alpha-j::before { - content: "\4A"; -} -.mdi-alpha-j-box::before { - content: "\FAF6"; -} -.mdi-alpha-j-box-outline::before { - content: "\FBE2"; -} -.mdi-alpha-j-circle::before { - content: "\FBE3"; -} -.mdi-alpha-j-circle-outline::before { - content: "\FBE4"; -} -.mdi-alpha-k::before { - content: "\4B"; -} -.mdi-alpha-k-box::before { - content: "\FAF7"; -} -.mdi-alpha-k-box-outline::before { - content: "\FBE5"; -} -.mdi-alpha-k-circle::before { - content: "\FBE6"; -} -.mdi-alpha-k-circle-outline::before { - content: "\FBE7"; -} -.mdi-alpha-l::before { - content: "\4C"; -} -.mdi-alpha-l-box::before { - content: "\FAF8"; -} -.mdi-alpha-l-box-outline::before { - content: "\FBE8"; -} -.mdi-alpha-l-circle::before { - content: "\FBE9"; -} -.mdi-alpha-l-circle-outline::before { - content: "\FBEA"; -} -.mdi-alpha-m::before { - content: "\4D"; -} -.mdi-alpha-m-box::before { - content: "\FAF9"; -} -.mdi-alpha-m-box-outline::before { - content: "\FBEB"; -} -.mdi-alpha-m-circle::before { - content: "\FBEC"; -} -.mdi-alpha-m-circle-outline::before { - content: "\FBED"; -} -.mdi-alpha-n::before { - content: "\4E"; -} -.mdi-alpha-n-box::before { - content: "\FAFA"; -} -.mdi-alpha-n-box-outline::before { - content: "\FBEE"; -} -.mdi-alpha-n-circle::before { - content: "\FBEF"; -} -.mdi-alpha-n-circle-outline::before { - content: "\FBF0"; -} -.mdi-alpha-o::before { - content: "\4F"; -} -.mdi-alpha-o-box::before { - content: "\FAFB"; -} -.mdi-alpha-o-box-outline::before { - content: "\FBF1"; -} -.mdi-alpha-o-circle::before { - content: "\FBF2"; -} -.mdi-alpha-o-circle-outline::before { - content: "\FBF3"; -} -.mdi-alpha-p::before { - content: "\50"; -} -.mdi-alpha-p-box::before { - content: "\FAFC"; -} -.mdi-alpha-p-box-outline::before { - content: "\FBF4"; -} -.mdi-alpha-p-circle::before { - content: "\FBF5"; -} -.mdi-alpha-p-circle-outline::before { - content: "\FBF6"; -} -.mdi-alpha-q::before { - content: "\51"; -} -.mdi-alpha-q-box::before { - content: "\FAFD"; -} -.mdi-alpha-q-box-outline::before { - content: "\FBF7"; -} -.mdi-alpha-q-circle::before { - content: "\FBF8"; -} -.mdi-alpha-q-circle-outline::before { - content: "\FBF9"; -} -.mdi-alpha-r::before { - content: "\52"; -} -.mdi-alpha-r-box::before { - content: "\FAFE"; -} -.mdi-alpha-r-box-outline::before { - content: "\FBFA"; -} -.mdi-alpha-r-circle::before { - content: "\FBFB"; -} -.mdi-alpha-r-circle-outline::before { - content: "\FBFC"; -} -.mdi-alpha-s::before { - content: "\53"; -} -.mdi-alpha-s-box::before { - content: "\FAFF"; -} -.mdi-alpha-s-box-outline::before { - content: "\FBFD"; -} -.mdi-alpha-s-circle::before { - content: "\FBFE"; -} -.mdi-alpha-s-circle-outline::before { - content: "\FBFF"; -} -.mdi-alpha-t::before { - content: "\54"; -} -.mdi-alpha-t-box::before { - content: "\FB00"; -} -.mdi-alpha-t-box-outline::before { - content: "\FC00"; -} -.mdi-alpha-t-circle::before { - content: "\FC01"; -} -.mdi-alpha-t-circle-outline::before { - content: "\FC02"; -} -.mdi-alpha-u::before { - content: "\55"; -} -.mdi-alpha-u-box::before { - content: "\FB01"; -} -.mdi-alpha-u-box-outline::before { - content: "\FC03"; -} -.mdi-alpha-u-circle::before { - content: "\FC04"; -} -.mdi-alpha-u-circle-outline::before { - content: "\FC05"; -} -.mdi-alpha-v::before { - content: "\56"; -} -.mdi-alpha-v-box::before { - content: "\FB02"; -} -.mdi-alpha-v-box-outline::before { - content: "\FC06"; -} -.mdi-alpha-v-circle::before { - content: "\FC07"; -} -.mdi-alpha-v-circle-outline::before { - content: "\FC08"; -} -.mdi-alpha-w::before { - content: "\57"; -} -.mdi-alpha-w-box::before { - content: "\FB03"; -} -.mdi-alpha-w-box-outline::before { - content: "\FC09"; -} -.mdi-alpha-w-circle::before { - content: "\FC0A"; -} -.mdi-alpha-w-circle-outline::before { - content: "\FC0B"; -} -.mdi-alpha-x::before { - content: "\58"; -} -.mdi-alpha-x-box::before { - content: "\FB04"; -} -.mdi-alpha-x-box-outline::before { - content: "\FC0C"; -} -.mdi-alpha-x-circle::before { - content: "\FC0D"; -} -.mdi-alpha-x-circle-outline::before { - content: "\FC0E"; -} -.mdi-alpha-y::before { - content: "\59"; -} -.mdi-alpha-y-box::before { - content: "\FB05"; -} -.mdi-alpha-y-box-outline::before { - content: "\FC0F"; -} -.mdi-alpha-y-circle::before { - content: "\FC10"; -} -.mdi-alpha-y-circle-outline::before { - content: "\FC11"; -} -.mdi-alpha-z::before { - content: "\5A"; -} -.mdi-alpha-z-box::before { - content: "\FB06"; -} -.mdi-alpha-z-box-outline::before { - content: "\FC12"; -} -.mdi-alpha-z-circle::before { - content: "\FC13"; -} -.mdi-alpha-z-circle-outline::before { - content: "\FC14"; -} -.mdi-alphabetical::before { - content: "\F02C"; -} -.mdi-altimeter::before { - content: "\F5D7"; -} -.mdi-amazon::before { - content: "\F02D"; -} -.mdi-amazon-alexa::before { - content: "\F8C5"; -} -.mdi-amazon-drive::before { - content: "\F02E"; -} -.mdi-ambulance::before { - content: "\F02F"; -} -.mdi-ammunition::before { - content: "\FCC4"; -} -.mdi-ampersand::before { - content: "\FA8C"; -} -.mdi-amplifier::before { - content: "\F030"; -} -.mdi-anchor::before { - content: "\F031"; -} -.mdi-android::before { - content: "\F032"; -} -.mdi-android-auto::before { - content: "\FA8D"; -} -.mdi-android-debug-bridge::before { - content: "\F033"; -} -.mdi-android-head::before { - content: "\F78F"; -} -.mdi-android-messages::before { - content: "\FD21"; -} -.mdi-android-studio::before { - content: "\F034"; -} -.mdi-angle-acute::before { - content: "\F936"; -} -.mdi-angle-obtuse::before { - content: "\F937"; -} -.mdi-angle-right::before { - content: "\F938"; -} -.mdi-angular::before { - content: "\F6B1"; -} -.mdi-angularjs::before { - content: "\F6BE"; -} -.mdi-animation::before { - content: "\F5D8"; -} -.mdi-animation-outline::before { - content: "\FA8E"; -} -.mdi-animation-play::before { - content: "\F939"; -} -.mdi-animation-play-outline::before { - content: "\FA8F"; -} -.mdi-anvil::before { - content: "\F89A"; -} -.mdi-apple::before { - content: "\F035"; -} -.mdi-apple-finder::before { - content: "\F036"; -} -.mdi-apple-icloud::before { - content: "\F038"; -} -.mdi-apple-ios::before { - content: "\F037"; -} -.mdi-apple-keyboard-caps::before { - content: "\F632"; -} -.mdi-apple-keyboard-command::before { - content: "\F633"; -} -.mdi-apple-keyboard-control::before { - content: "\F634"; -} -.mdi-apple-keyboard-option::before { - content: "\F635"; -} -.mdi-apple-keyboard-shift::before { - content: "\F636"; -} -.mdi-apple-safari::before { - content: "\F039"; -} -.mdi-application::before { - content: "\F614"; -} -.mdi-application-export::before { - content: "\FD89"; -} -.mdi-application-import::before { - content: "\FD8A"; -} -.mdi-apps::before { - content: "\F03B"; -} -.mdi-apps-box::before { - content: "\FD22"; -} -.mdi-arch::before { - content: "\F8C6"; -} -.mdi-archive::before { - content: "\F03C"; -} -.mdi-arrange-bring-forward::before { - content: "\F03D"; -} -.mdi-arrange-bring-to-front::before { - content: "\F03E"; -} -.mdi-arrange-send-backward::before { - content: "\F03F"; -} -.mdi-arrange-send-to-back::before { - content: "\F040"; -} -.mdi-arrow-all::before { - content: "\F041"; -} -.mdi-arrow-bottom-left::before { - content: "\F042"; -} -.mdi-arrow-bottom-left-bold-outline::before { - content: "\F9B6"; -} -.mdi-arrow-bottom-left-thick::before { - content: "\F9B7"; -} -.mdi-arrow-bottom-right::before { - content: "\F043"; -} -.mdi-arrow-bottom-right-bold-outline::before { - content: "\F9B8"; -} -.mdi-arrow-bottom-right-thick::before { - content: "\F9B9"; -} -.mdi-arrow-collapse::before { - content: "\F615"; -} -.mdi-arrow-collapse-all::before { - content: "\F044"; -} -.mdi-arrow-collapse-down::before { - content: "\F791"; -} -.mdi-arrow-collapse-horizontal::before { - content: "\F84B"; -} -.mdi-arrow-collapse-left::before { - content: "\F792"; -} -.mdi-arrow-collapse-right::before { - content: "\F793"; -} -.mdi-arrow-collapse-up::before { - content: "\F794"; -} -.mdi-arrow-collapse-vertical::before { - content: "\F84C"; -} -.mdi-arrow-decision::before { - content: "\F9BA"; -} -.mdi-arrow-decision-auto::before { - content: "\F9BB"; -} -.mdi-arrow-decision-auto-outline::before { - content: "\F9BC"; -} -.mdi-arrow-decision-outline::before { - content: "\F9BD"; -} -.mdi-arrow-down::before { - content: "\F045"; -} -.mdi-arrow-down-bold::before { - content: "\F72D"; -} -.mdi-arrow-down-bold-box::before { - content: "\F72E"; -} -.mdi-arrow-down-bold-box-outline::before { - content: "\F72F"; -} -.mdi-arrow-down-bold-circle::before { - content: "\F047"; -} -.mdi-arrow-down-bold-circle-outline::before { - content: "\F048"; -} -.mdi-arrow-down-bold-hexagon-outline::before { - content: "\F049"; -} -.mdi-arrow-down-bold-outline::before { - content: "\F9BE"; -} -.mdi-arrow-down-box::before { - content: "\F6BF"; -} -.mdi-arrow-down-circle::before { - content: "\FCB7"; -} -.mdi-arrow-down-circle-outline::before { - content: "\FCB8"; -} -.mdi-arrow-down-drop-circle::before { - content: "\F04A"; -} -.mdi-arrow-down-drop-circle-outline::before { - content: "\F04B"; -} -.mdi-arrow-down-thick::before { - content: "\F046"; -} -.mdi-arrow-expand::before { - content: "\F616"; -} -.mdi-arrow-expand-all::before { - content: "\F04C"; -} -.mdi-arrow-expand-down::before { - content: "\F795"; -} -.mdi-arrow-expand-horizontal::before { - content: "\F84D"; -} -.mdi-arrow-expand-left::before { - content: "\F796"; -} -.mdi-arrow-expand-right::before { - content: "\F797"; -} -.mdi-arrow-expand-up::before { - content: "\F798"; -} -.mdi-arrow-expand-vertical::before { - content: "\F84E"; -} -.mdi-arrow-left::before { - content: "\F04D"; -} -.mdi-arrow-left-bold::before { - content: "\F730"; -} -.mdi-arrow-left-bold-box::before { - content: "\F731"; -} -.mdi-arrow-left-bold-box-outline::before { - content: "\F732"; -} -.mdi-arrow-left-bold-circle::before { - content: "\F04F"; -} -.mdi-arrow-left-bold-circle-outline::before { - content: "\F050"; -} -.mdi-arrow-left-bold-hexagon-outline::before { - content: "\F051"; -} -.mdi-arrow-left-bold-outline::before { - content: "\F9BF"; -} -.mdi-arrow-left-box::before { - content: "\F6C0"; -} -.mdi-arrow-left-circle::before { - content: "\FCB9"; -} -.mdi-arrow-left-circle-outline::before { - content: "\FCBA"; -} -.mdi-arrow-left-drop-circle::before { - content: "\F052"; -} -.mdi-arrow-left-drop-circle-outline::before { - content: "\F053"; -} -.mdi-arrow-left-right::before { - content: "\FE90"; -} -.mdi-arrow-left-right-bold::before { - content: "\FE91"; -} -.mdi-arrow-left-right-bold-outline::before { - content: "\F9C0"; -} -.mdi-arrow-left-thick::before { - content: "\F04E"; -} -.mdi-arrow-right::before { - content: "\F054"; -} -.mdi-arrow-right-bold::before { - content: "\F733"; -} -.mdi-arrow-right-bold-box::before { - content: "\F734"; -} -.mdi-arrow-right-bold-box-outline::before { - content: "\F735"; -} -.mdi-arrow-right-bold-circle::before { - content: "\F056"; -} -.mdi-arrow-right-bold-circle-outline::before { - content: "\F057"; -} -.mdi-arrow-right-bold-hexagon-outline::before { - content: "\F058"; -} -.mdi-arrow-right-bold-outline::before { - content: "\F9C1"; -} -.mdi-arrow-right-box::before { - content: "\F6C1"; -} -.mdi-arrow-right-circle::before { - content: "\FCBB"; -} -.mdi-arrow-right-circle-outline::before { - content: "\FCBC"; -} -.mdi-arrow-right-drop-circle::before { - content: "\F059"; -} -.mdi-arrow-right-drop-circle-outline::before { - content: "\F05A"; -} -.mdi-arrow-right-thick::before { - content: "\F055"; -} -.mdi-arrow-split-horizontal::before { - content: "\F93A"; -} -.mdi-arrow-split-vertical::before { - content: "\F93B"; -} -.mdi-arrow-top-left::before { - content: "\F05B"; -} -.mdi-arrow-top-left-bold-outline::before { - content: "\F9C2"; -} -.mdi-arrow-top-left-bottom-right::before { - content: "\FE92"; -} -.mdi-arrow-top-left-bottom-right-bold::before { - content: "\FE93"; -} -.mdi-arrow-top-left-thick::before { - content: "\F9C3"; -} -.mdi-arrow-top-right::before { - content: "\F05C"; -} -.mdi-arrow-top-right-bold-outline::before { - content: "\F9C4"; -} -.mdi-arrow-top-right-bottom-left::before { - content: "\FE94"; -} -.mdi-arrow-top-right-bottom-left-bold::before { - content: "\FE95"; -} -.mdi-arrow-top-right-thick::before { - content: "\F9C5"; -} -.mdi-arrow-up::before { - content: "\F05D"; -} -.mdi-arrow-up-bold::before { - content: "\F736"; -} -.mdi-arrow-up-bold-box::before { - content: "\F737"; -} -.mdi-arrow-up-bold-box-outline::before { - content: "\F738"; -} -.mdi-arrow-up-bold-circle::before { - content: "\F05F"; -} -.mdi-arrow-up-bold-circle-outline::before { - content: "\F060"; -} -.mdi-arrow-up-bold-hexagon-outline::before { - content: "\F061"; -} -.mdi-arrow-up-bold-outline::before { - content: "\F9C6"; -} -.mdi-arrow-up-box::before { - content: "\F6C2"; -} -.mdi-arrow-up-circle::before { - content: "\FCBD"; -} -.mdi-arrow-up-circle-outline::before { - content: "\FCBE"; -} -.mdi-arrow-up-down::before { - content: "\FE96"; -} -.mdi-arrow-up-down-bold::before { - content: "\FE97"; -} -.mdi-arrow-up-down-bold-outline::before { - content: "\F9C7"; -} -.mdi-arrow-up-drop-circle::before { - content: "\F062"; -} -.mdi-arrow-up-drop-circle-outline::before { - content: "\F063"; -} -.mdi-arrow-up-thick::before { - content: "\F05E"; -} -.mdi-artist::before { - content: "\F802"; -} -.mdi-artist-outline::before { - content: "\FCC5"; -} -.mdi-artstation::before { - content: "\FB37"; -} -.mdi-aspect-ratio::before { - content: "\FA23"; -} -.mdi-assistant::before { - content: "\F064"; -} -.mdi-asterisk::before { - content: "\F6C3"; -} -.mdi-at::before { - content: "\F065"; -} -.mdi-atlassian::before { - content: "\F803"; -} -.mdi-atm::before { - content: "\FD23"; -} -.mdi-atom::before { - content: "\F767"; -} -.mdi-atom-variant::before { - content: "\FE98"; -} -.mdi-attachment::before { - content: "\F066"; -} -.mdi-audio-video::before { - content: "\F93C"; -} -.mdi-audiobook::before { - content: "\F067"; -} -.mdi-augmented-reality::before { - content: "\F84F"; -} -.mdi-auto-fix::before { - content: "\F068"; -} -.mdi-auto-upload::before { - content: "\F069"; -} -.mdi-autorenew::before { - content: "\F06A"; -} -.mdi-av-timer::before { - content: "\F06B"; -} -.mdi-aws::before { - content: "\FDF2"; -} -.mdi-axe::before { - content: "\F8C7"; -} -.mdi-axis::before { - content: "\FD24"; -} -.mdi-axis-arrow::before { - content: "\FD25"; -} -.mdi-axis-arrow-lock::before { - content: "\FD26"; -} -.mdi-axis-lock::before { - content: "\FD27"; -} -.mdi-axis-x-arrow::before { - content: "\FD28"; -} -.mdi-axis-x-arrow-lock::before { - content: "\FD29"; -} -.mdi-axis-x-rotate-clockwise::before { - content: "\FD2A"; -} -.mdi-axis-x-rotate-counterclockwise::before { - content: "\FD2B"; -} -.mdi-axis-x-y-arrow-lock::before { - content: "\FD2C"; -} -.mdi-axis-y-arrow::before { - content: "\FD2D"; -} -.mdi-axis-y-arrow-lock::before { - content: "\FD2E"; -} -.mdi-axis-y-rotate-clockwise::before { - content: "\FD2F"; -} -.mdi-axis-y-rotate-counterclockwise::before { - content: "\FD30"; -} -.mdi-axis-z-arrow::before { - content: "\FD31"; -} -.mdi-axis-z-arrow-lock::before { - content: "\FD32"; -} -.mdi-axis-z-rotate-clockwise::before { - content: "\FD33"; -} -.mdi-axis-z-rotate-counterclockwise::before { - content: "\FD34"; -} -.mdi-azure::before { - content: "\F804"; -} -.mdi-babel::before { - content: "\FA24"; -} -.mdi-baby::before { - content: "\F06C"; -} -.mdi-baby-bottle::before { - content: "\FF56"; -} -.mdi-baby-bottle-outline::before { - content: "\FF57"; -} -.mdi-baby-buggy::before { - content: "\F68E"; -} -.mdi-baby-face::before { - content: "\FE99"; -} -.mdi-baby-face-outline::before { - content: "\FE9A"; -} -.mdi-backburger::before { - content: "\F06D"; -} -.mdi-backspace::before { - content: "\F06E"; -} -.mdi-backspace-outline::before { - content: "\FB38"; -} -.mdi-backspace-reverse::before { - content: "\FE9B"; -} -.mdi-backspace-reverse-outline::before { - content: "\FE9C"; -} -.mdi-backup-restore::before { - content: "\F06F"; -} -.mdi-bacteria::before { - content: "\FEF2"; -} -.mdi-bacteria-outline::before { - content: "\FEF3"; -} -.mdi-badminton::before { - content: "\F850"; -} -.mdi-bag-carry-on::before { - content: "\FF58"; -} -.mdi-bag-carry-on-check::before { - content: "\FD41"; -} -.mdi-bag-carry-on-off::before { - content: "\FF59"; -} -.mdi-bag-checked::before { - content: "\FF5A"; -} -.mdi-bag-personal::before { - content: "\FDF3"; -} -.mdi-bag-personal-off::before { - content: "\FDF4"; -} -.mdi-bag-personal-off-outline::before { - content: "\FDF5"; -} -.mdi-bag-personal-outline::before { - content: "\FDF6"; -} -.mdi-baguette::before { - content: "\FF5B"; -} -.mdi-balloon::before { - content: "\FA25"; -} -.mdi-ballot::before { - content: "\F9C8"; -} -.mdi-ballot-outline::before { - content: "\F9C9"; -} -.mdi-ballot-recount::before { - content: "\FC15"; -} -.mdi-ballot-recount-outline::before { - content: "\FC16"; -} -.mdi-bandage::before { - content: "\FD8B"; -} -.mdi-bandcamp::before { - content: "\F674"; -} -.mdi-bank::before { - content: "\F070"; -} -.mdi-bank-minus::before { - content: "\FD8C"; -} -.mdi-bank-outline::before { - content: "\FE9D"; -} -.mdi-bank-plus::before { - content: "\FD8D"; -} -.mdi-bank-remove::before { - content: "\FD8E"; -} -.mdi-bank-transfer::before { - content: "\FA26"; -} -.mdi-bank-transfer-in::before { - content: "\FA27"; -} -.mdi-bank-transfer-out::before { - content: "\FA28"; -} -.mdi-barcode::before { - content: "\F071"; -} -.mdi-barcode-scan::before { - content: "\F072"; -} -.mdi-barley::before { - content: "\F073"; -} -.mdi-barley-off::before { - content: "\FB39"; -} -.mdi-barn::before { - content: "\FB3A"; -} -.mdi-barrel::before { - content: "\F074"; -} -.mdi-baseball::before { - content: "\F851"; -} -.mdi-baseball-bat::before { - content: "\F852"; -} -.mdi-basecamp::before { - content: "\F075"; -} -.mdi-basket::before { - content: "\F076"; -} -.mdi-basket-fill::before { - content: "\F077"; -} -.mdi-basket-unfill::before { - content: "\F078"; -} -.mdi-basketball::before { - content: "\F805"; -} -.mdi-basketball-hoop::before { - content: "\FC17"; -} -.mdi-basketball-hoop-outline::before { - content: "\FC18"; -} -.mdi-bat::before { - content: "\FB3B"; -} -.mdi-battery::before { - content: "\F079"; -} -.mdi-battery-10::before { - content: "\F07A"; -} -.mdi-battery-10-bluetooth::before { - content: "\F93D"; -} -.mdi-battery-20::before { - content: "\F07B"; -} -.mdi-battery-20-bluetooth::before { - content: "\F93E"; -} -.mdi-battery-30::before { - content: "\F07C"; -} -.mdi-battery-30-bluetooth::before { - content: "\F93F"; -} -.mdi-battery-40::before { - content: "\F07D"; -} -.mdi-battery-40-bluetooth::before { - content: "\F940"; -} -.mdi-battery-50::before { - content: "\F07E"; -} -.mdi-battery-50-bluetooth::before { - content: "\F941"; -} -.mdi-battery-60::before { - content: "\F07F"; -} -.mdi-battery-60-bluetooth::before { - content: "\F942"; -} -.mdi-battery-70::before { - content: "\F080"; -} -.mdi-battery-70-bluetooth::before { - content: "\F943"; -} -.mdi-battery-80::before { - content: "\F081"; -} -.mdi-battery-80-bluetooth::before { - content: "\F944"; -} -.mdi-battery-90::before { - content: "\F082"; -} -.mdi-battery-90-bluetooth::before { - content: "\F945"; -} -.mdi-battery-alert::before { - content: "\F083"; -} -.mdi-battery-alert-bluetooth::before { - content: "\F946"; -} -.mdi-battery-bluetooth::before { - content: "\F947"; -} -.mdi-battery-bluetooth-variant::before { - content: "\F948"; -} -.mdi-battery-charging::before { - content: "\F084"; -} -.mdi-battery-charging-10::before { - content: "\F89B"; -} -.mdi-battery-charging-100::before { - content: "\F085"; -} -.mdi-battery-charging-20::before { - content: "\F086"; -} -.mdi-battery-charging-30::before { - content: "\F087"; -} -.mdi-battery-charging-40::before { - content: "\F088"; -} -.mdi-battery-charging-50::before { - content: "\F89C"; -} -.mdi-battery-charging-60::before { - content: "\F089"; -} -.mdi-battery-charging-70::before { - content: "\F89D"; -} -.mdi-battery-charging-80::before { - content: "\F08A"; -} -.mdi-battery-charging-90::before { - content: "\F08B"; -} -.mdi-battery-charging-outline::before { - content: "\F89E"; -} -.mdi-battery-charging-wireless::before { - content: "\F806"; -} -.mdi-battery-charging-wireless-10::before { - content: "\F807"; -} -.mdi-battery-charging-wireless-20::before { - content: "\F808"; -} -.mdi-battery-charging-wireless-30::before { - content: "\F809"; -} -.mdi-battery-charging-wireless-40::before { - content: "\F80A"; -} -.mdi-battery-charging-wireless-50::before { - content: "\F80B"; -} -.mdi-battery-charging-wireless-60::before { - content: "\F80C"; -} -.mdi-battery-charging-wireless-70::before { - content: "\F80D"; -} -.mdi-battery-charging-wireless-80::before { - content: "\F80E"; -} -.mdi-battery-charging-wireless-90::before { - content: "\F80F"; -} -.mdi-battery-charging-wireless-alert::before { - content: "\F810"; -} -.mdi-battery-charging-wireless-outline::before { - content: "\F811"; -} -.mdi-battery-minus::before { - content: "\F08C"; -} -.mdi-battery-negative::before { - content: "\F08D"; -} -.mdi-battery-outline::before { - content: "\F08E"; -} -.mdi-battery-plus::before { - content: "\F08F"; -} -.mdi-battery-positive::before { - content: "\F090"; -} -.mdi-battery-unknown::before { - content: "\F091"; -} -.mdi-battery-unknown-bluetooth::before { - content: "\F949"; -} -.mdi-battlenet::before { - content: "\FB3C"; -} -.mdi-beach::before { - content: "\F092"; -} -.mdi-beaker::before { - content: "\FCC6"; -} -.mdi-beaker-outline::before { - content: "\F68F"; -} -.mdi-beats::before { - content: "\F097"; -} -.mdi-bed-empty::before { - content: "\F89F"; -} -.mdi-beer::before { - content: "\F098"; -} -.mdi-behance::before { - content: "\F099"; -} -.mdi-bell::before { - content: "\F09A"; -} -.mdi-bell-alert::before { - content: "\FD35"; -} -.mdi-bell-alert-outline::before { - content: "\FE9E"; -} -.mdi-bell-circle::before { - content: "\FD36"; -} -.mdi-bell-circle-outline::before { - content: "\FD37"; -} -.mdi-bell-off::before { - content: "\F09B"; -} -.mdi-bell-off-outline::before { - content: "\FA90"; -} -.mdi-bell-outline::before { - content: "\F09C"; -} -.mdi-bell-plus::before { - content: "\F09D"; -} -.mdi-bell-plus-outline::before { - content: "\FA91"; -} -.mdi-bell-ring::before { - content: "\F09E"; -} -.mdi-bell-ring-outline::before { - content: "\F09F"; -} -.mdi-bell-sleep::before { - content: "\F0A0"; -} -.mdi-bell-sleep-outline::before { - content: "\FA92"; -} -.mdi-beta::before { - content: "\F0A1"; -} -.mdi-betamax::before { - content: "\F9CA"; -} -.mdi-biathlon::before { - content: "\FDF7"; -} -.mdi-bible::before { - content: "\F0A2"; -} -.mdi-bike::before { - content: "\F0A3"; -} -.mdi-billiards::before { - content: "\FB3D"; -} -.mdi-billiards-rack::before { - content: "\FB3E"; -} -.mdi-bing::before { - content: "\F0A4"; -} -.mdi-binoculars::before { - content: "\F0A5"; -} -.mdi-bio::before { - content: "\F0A6"; -} -.mdi-biohazard::before { - content: "\F0A7"; -} -.mdi-bitbucket::before { - content: "\F0A8"; -} -.mdi-bitcoin::before { - content: "\F812"; -} -.mdi-black-mesa::before { - content: "\F0A9"; -} -.mdi-blackberry::before { - content: "\F0AA"; -} -.mdi-blender::before { - content: "\FCC7"; -} -.mdi-blender-software::before { - content: "\F0AB"; -} -.mdi-blinds::before { - content: "\F0AC"; -} -.mdi-block-helper::before { - content: "\F0AD"; -} -.mdi-blogger::before { - content: "\F0AE"; -} -.mdi-blood-bag::before { - content: "\FCC8"; -} -.mdi-bluetooth::before { - content: "\F0AF"; -} -.mdi-bluetooth-audio::before { - content: "\F0B0"; -} -.mdi-bluetooth-connect::before { - content: "\F0B1"; -} -.mdi-bluetooth-off::before { - content: "\F0B2"; -} -.mdi-bluetooth-settings::before { - content: "\F0B3"; -} -.mdi-bluetooth-transfer::before { - content: "\F0B4"; -} -.mdi-blur::before { - content: "\F0B5"; -} -.mdi-blur-linear::before { - content: "\F0B6"; -} -.mdi-blur-off::before { - content: "\F0B7"; -} -.mdi-blur-radial::before { - content: "\F0B8"; -} -.mdi-bolnisi-cross::before { - content: "\FCC9"; -} -.mdi-bolt::before { - content: "\FD8F"; -} -.mdi-bomb::before { - content: "\F690"; -} -.mdi-bomb-off::before { - content: "\F6C4"; -} -.mdi-bone::before { - content: "\F0B9"; -} -.mdi-book::before { - content: "\F0BA"; -} -.mdi-book-lock::before { - content: "\F799"; -} -.mdi-book-lock-open::before { - content: "\F79A"; -} -.mdi-book-minus::before { - content: "\F5D9"; -} -.mdi-book-minus-multiple::before { - content: "\FA93"; -} -.mdi-book-multiple::before { - content: "\F0BB"; -} -.mdi-book-open::before { - content: "\F0BD"; -} -.mdi-book-open-outline::before { - content: "\FB3F"; -} -.mdi-book-open-page-variant::before { - content: "\F5DA"; -} -.mdi-book-open-variant::before { - content: "\F0BE"; -} -.mdi-book-outline::before { - content: "\FB40"; -} -.mdi-book-play::before { - content: "\FE9F"; -} -.mdi-book-play-outline::before { - content: "\FEA0"; -} -.mdi-book-plus::before { - content: "\F5DB"; -} -.mdi-book-plus-multiple::before { - content: "\FA94"; -} -.mdi-book-remove::before { - content: "\FA96"; -} -.mdi-book-remove-multiple::before { - content: "\FA95"; -} -.mdi-book-search::before { - content: "\FEA1"; -} -.mdi-book-search-outline::before { - content: "\FEA2"; -} -.mdi-book-variant::before { - content: "\F0BF"; -} -.mdi-book-variant-multiple::before { - content: "\F0BC"; -} -.mdi-bookmark::before { - content: "\F0C0"; -} -.mdi-bookmark-check::before { - content: "\F0C1"; -} -.mdi-bookmark-minus::before { - content: "\F9CB"; -} -.mdi-bookmark-minus-outline::before { - content: "\F9CC"; -} -.mdi-bookmark-multiple::before { - content: "\FDF8"; -} -.mdi-bookmark-multiple-outline::before { - content: "\FDF9"; -} -.mdi-bookmark-music::before { - content: "\F0C2"; -} -.mdi-bookmark-off::before { - content: "\F9CD"; -} -.mdi-bookmark-off-outline::before { - content: "\F9CE"; -} -.mdi-bookmark-outline::before { - content: "\F0C3"; -} -.mdi-bookmark-plus::before { - content: "\F0C5"; -} -.mdi-bookmark-plus-outline::before { - content: "\F0C4"; -} -.mdi-bookmark-remove::before { - content: "\F0C6"; -} -.mdi-boom-gate::before { - content: "\FEA3"; -} -.mdi-boom-gate-alert::before { - content: "\FEA4"; -} -.mdi-boom-gate-alert-outline::before { - content: "\FEA5"; -} -.mdi-boom-gate-down::before { - content: "\FEA6"; -} -.mdi-boom-gate-down-outline::before { - content: "\FEA7"; -} -.mdi-boom-gate-outline::before { - content: "\FEA8"; -} -.mdi-boom-gate-up::before { - content: "\FEA9"; -} -.mdi-boom-gate-up-outline::before { - content: "\FEAA"; -} -.mdi-boombox::before { - content: "\F5DC"; -} -.mdi-bootstrap::before { - content: "\F6C5"; -} -.mdi-border-all::before { - content: "\F0C7"; -} -.mdi-border-all-variant::before { - content: "\F8A0"; -} -.mdi-border-bottom::before { - content: "\F0C8"; -} -.mdi-border-bottom-variant::before { - content: "\F8A1"; -} -.mdi-border-color::before { - content: "\F0C9"; -} -.mdi-border-horizontal::before { - content: "\F0CA"; -} -.mdi-border-inside::before { - content: "\F0CB"; -} -.mdi-border-left::before { - content: "\F0CC"; -} -.mdi-border-left-variant::before { - content: "\F8A2"; -} -.mdi-border-none::before { - content: "\F0CD"; -} -.mdi-border-none-variant::before { - content: "\F8A3"; -} -.mdi-border-outside::before { - content: "\F0CE"; -} -.mdi-border-right::before { - content: "\F0CF"; -} -.mdi-border-right-variant::before { - content: "\F8A4"; -} -.mdi-border-style::before { - content: "\F0D0"; -} -.mdi-border-top::before { - content: "\F0D1"; -} -.mdi-border-top-variant::before { - content: "\F8A5"; -} -.mdi-border-vertical::before { - content: "\F0D2"; -} -.mdi-bottle-wine::before { - content: "\F853"; -} -.mdi-bow-tie::before { - content: "\F677"; -} -.mdi-bowl::before { - content: "\F617"; -} -.mdi-bowling::before { - content: "\F0D3"; -} -.mdi-box::before { - content: "\F0D4"; -} -.mdi-box-cutter::before { - content: "\F0D5"; -} -.mdi-box-shadow::before { - content: "\F637"; -} -.mdi-boxing-glove::before { - content: "\FB41"; -} -.mdi-braille::before { - content: "\F9CF"; -} -.mdi-brain::before { - content: "\F9D0"; -} -.mdi-bread-slice::before { - content: "\FCCA"; -} -.mdi-bread-slice-outline::before { - content: "\FCCB"; -} -.mdi-bridge::before { - content: "\F618"; -} -.mdi-briefcase::before { - content: "\F0D6"; -} -.mdi-briefcase-account::before { - content: "\FCCC"; -} -.mdi-briefcase-account-outline::before { - content: "\FCCD"; -} -.mdi-briefcase-check::before { - content: "\F0D7"; -} -.mdi-briefcase-download::before { - content: "\F0D8"; -} -.mdi-briefcase-download-outline::before { - content: "\FC19"; -} -.mdi-briefcase-edit::before { - content: "\FA97"; -} -.mdi-briefcase-edit-outline::before { - content: "\FC1A"; -} -.mdi-briefcase-minus::before { - content: "\FA29"; -} -.mdi-briefcase-minus-outline::before { - content: "\FC1B"; -} -.mdi-briefcase-outline::before { - content: "\F813"; -} -.mdi-briefcase-plus::before { - content: "\FA2A"; -} -.mdi-briefcase-plus-outline::before { - content: "\FC1C"; -} -.mdi-briefcase-remove::before { - content: "\FA2B"; -} -.mdi-briefcase-remove-outline::before { - content: "\FC1D"; -} -.mdi-briefcase-search::before { - content: "\FA2C"; -} -.mdi-briefcase-search-outline::before { - content: "\FC1E"; -} -.mdi-briefcase-upload::before { - content: "\F0D9"; -} -.mdi-briefcase-upload-outline::before { - content: "\FC1F"; -} -.mdi-brightness-1::before { - content: "\F0DA"; -} -.mdi-brightness-2::before { - content: "\F0DB"; -} -.mdi-brightness-3::before { - content: "\F0DC"; -} -.mdi-brightness-4::before { - content: "\F0DD"; -} -.mdi-brightness-5::before { - content: "\F0DE"; -} -.mdi-brightness-6::before { - content: "\F0DF"; -} -.mdi-brightness-7::before { - content: "\F0E0"; -} -.mdi-brightness-auto::before { - content: "\F0E1"; -} -.mdi-brightness-percent::before { - content: "\FCCE"; -} -.mdi-broom::before { - content: "\F0E2"; -} -.mdi-brush::before { - content: "\F0E3"; -} -.mdi-buddhism::before { - content: "\F94A"; -} -.mdi-buffer::before { - content: "\F619"; -} -.mdi-bug::before { - content: "\F0E4"; -} -.mdi-bug-check::before { - content: "\FA2D"; -} -.mdi-bug-check-outline::before { - content: "\FA2E"; -} -.mdi-bug-outline::before { - content: "\FA2F"; -} -.mdi-bugle::before { - content: "\FD90"; -} -.mdi-bulldozer::before { - content: "\FB07"; -} -.mdi-bullet::before { - content: "\FCCF"; -} -.mdi-bulletin-board::before { - content: "\F0E5"; -} -.mdi-bullhorn::before { - content: "\F0E6"; -} -.mdi-bullhorn-outline::before { - content: "\FB08"; -} -.mdi-bullseye::before { - content: "\F5DD"; -} -.mdi-bullseye-arrow::before { - content: "\F8C8"; -} -.mdi-bus::before { - content: "\F0E7"; -} -.mdi-bus-alert::before { - content: "\FA98"; -} -.mdi-bus-articulated-end::before { - content: "\F79B"; -} -.mdi-bus-articulated-front::before { - content: "\F79C"; -} -.mdi-bus-clock::before { - content: "\F8C9"; -} -.mdi-bus-double-decker::before { - content: "\F79D"; -} -.mdi-bus-multiple::before { - content: "\FF5C"; -} -.mdi-bus-school::before { - content: "\F79E"; -} -.mdi-bus-side::before { - content: "\F79F"; -} -.mdi-cached::before { - content: "\F0E8"; -} -.mdi-cactus::before { - content: "\FD91"; -} -.mdi-cake::before { - content: "\F0E9"; -} -.mdi-cake-layered::before { - content: "\F0EA"; -} -.mdi-cake-variant::before { - content: "\F0EB"; -} -.mdi-calculator::before { - content: "\F0EC"; -} -.mdi-calculator-variant::before { - content: "\FA99"; -} -.mdi-calendar::before { - content: "\F0ED"; -} -.mdi-calendar-account::before { - content: "\FEF4"; -} -.mdi-calendar-account-outline::before { - content: "\FEF5"; -} -.mdi-calendar-alert::before { - content: "\FA30"; -} -.mdi-calendar-blank::before { - content: "\F0EE"; -} -.mdi-calendar-blank-outline::before { - content: "\FB42"; -} -.mdi-calendar-check::before { - content: "\F0EF"; -} -.mdi-calendar-check-outline::before { - content: "\FC20"; -} -.mdi-calendar-clock::before { - content: "\F0F0"; -} -.mdi-calendar-edit::before { - content: "\F8A6"; -} -.mdi-calendar-export::before { - content: "\FB09"; -} -.mdi-calendar-heart::before { - content: "\F9D1"; -} -.mdi-calendar-import::before { - content: "\FB0A"; -} -.mdi-calendar-minus::before { - content: "\FD38"; -} -.mdi-calendar-month::before { - content: "\FDFA"; -} -.mdi-calendar-month-outline::before { - content: "\FDFB"; -} -.mdi-calendar-multiple::before { - content: "\F0F1"; -} -.mdi-calendar-multiple-check::before { - content: "\F0F2"; -} -.mdi-calendar-multiselect::before { - content: "\FA31"; -} -.mdi-calendar-outline::before { - content: "\FB43"; -} -.mdi-calendar-plus::before { - content: "\F0F3"; -} -.mdi-calendar-question::before { - content: "\F691"; -} -.mdi-calendar-range::before { - content: "\F678"; -} -.mdi-calendar-range-outline::before { - content: "\FB44"; -} -.mdi-calendar-remove::before { - content: "\F0F4"; -} -.mdi-calendar-remove-outline::before { - content: "\FC21"; -} -.mdi-calendar-repeat::before { - content: "\FEAB"; -} -.mdi-calendar-repeat-outline::before { - content: "\FEAC"; -} -.mdi-calendar-search::before { - content: "\F94B"; -} -.mdi-calendar-star::before { - content: "\F9D2"; -} -.mdi-calendar-text::before { - content: "\F0F5"; -} -.mdi-calendar-text-outline::before { - content: "\FC22"; -} -.mdi-calendar-today::before { - content: "\F0F6"; -} -.mdi-calendar-week::before { - content: "\FA32"; -} -.mdi-calendar-week-begin::before { - content: "\FA33"; -} -.mdi-calendar-weekend::before { - content: "\FEF6"; -} -.mdi-calendar-weekend-outline::before { - content: "\FEF7"; -} -.mdi-call-made::before { - content: "\F0F7"; -} -.mdi-call-merge::before { - content: "\F0F8"; -} -.mdi-call-missed::before { - content: "\F0F9"; -} -.mdi-call-received::before { - content: "\F0FA"; -} -.mdi-call-split::before { - content: "\F0FB"; -} -.mdi-camcorder::before { - content: "\F0FC"; -} -.mdi-camcorder-box::before { - content: "\F0FD"; -} -.mdi-camcorder-box-off::before { - content: "\F0FE"; -} -.mdi-camcorder-off::before { - content: "\F0FF"; -} -.mdi-camera::before { - content: "\F100"; -} -.mdi-camera-account::before { - content: "\F8CA"; -} -.mdi-camera-burst::before { - content: "\F692"; -} -.mdi-camera-control::before { - content: "\FB45"; -} -.mdi-camera-enhance::before { - content: "\F101"; -} -.mdi-camera-enhance-outline::before { - content: "\FB46"; -} -.mdi-camera-front::before { - content: "\F102"; -} -.mdi-camera-front-variant::before { - content: "\F103"; -} -.mdi-camera-gopro::before { - content: "\F7A0"; -} -.mdi-camera-image::before { - content: "\F8CB"; -} -.mdi-camera-iris::before { - content: "\F104"; -} -.mdi-camera-metering-center::before { - content: "\F7A1"; -} -.mdi-camera-metering-matrix::before { - content: "\F7A2"; -} -.mdi-camera-metering-partial::before { - content: "\F7A3"; -} -.mdi-camera-metering-spot::before { - content: "\F7A4"; -} -.mdi-camera-off::before { - content: "\F5DF"; -} -.mdi-camera-outline::before { - content: "\FD39"; -} -.mdi-camera-party-mode::before { - content: "\F105"; -} -.mdi-camera-plus::before { - content: "\FEF8"; -} -.mdi-camera-plus-outline::before { - content: "\FEF9"; -} -.mdi-camera-rear::before { - content: "\F106"; -} -.mdi-camera-rear-variant::before { - content: "\F107"; -} -.mdi-camera-retake::before { - content: "\FDFC"; -} -.mdi-camera-retake-outline::before { - content: "\FDFD"; -} -.mdi-camera-switch::before { - content: "\F108"; -} -.mdi-camera-timer::before { - content: "\F109"; -} -.mdi-camera-wireless::before { - content: "\FD92"; -} -.mdi-camera-wireless-outline::before { - content: "\FD93"; -} -.mdi-campfire::before { - content: "\FEFA"; -} -.mdi-cancel::before { - content: "\F739"; -} -.mdi-candle::before { - content: "\F5E2"; -} -.mdi-candycane::before { - content: "\F10A"; -} -.mdi-cannabis::before { - content: "\F7A5"; -} -.mdi-caps-lock::before { - content: "\FA9A"; -} -.mdi-car::before { - content: "\F10B"; -} -.mdi-car-back::before { - content: "\FDFE"; -} -.mdi-car-battery::before { - content: "\F10C"; -} -.mdi-car-brake-abs::before { - content: "\FC23"; -} -.mdi-car-brake-alert::before { - content: "\FC24"; -} -.mdi-car-brake-hold::before { - content: "\FD3A"; -} -.mdi-car-brake-parking::before { - content: "\FD3B"; -} -.mdi-car-connected::before { - content: "\F10D"; -} -.mdi-car-convertible::before { - content: "\F7A6"; -} -.mdi-car-cruise-control::before { - content: "\FD3C"; -} -.mdi-car-defrost-front::before { - content: "\FD3D"; -} -.mdi-car-defrost-rear::before { - content: "\FD3E"; -} -.mdi-car-door::before { - content: "\FB47"; -} -.mdi-car-electric::before { - content: "\FB48"; -} -.mdi-car-esp::before { - content: "\FC25"; -} -.mdi-car-estate::before { - content: "\F7A7"; -} -.mdi-car-hatchback::before { - content: "\F7A8"; -} -.mdi-car-key::before { - content: "\FB49"; -} -.mdi-car-light-dimmed::before { - content: "\FC26"; -} -.mdi-car-light-fog::before { - content: "\FC27"; -} -.mdi-car-light-high::before { - content: "\FC28"; -} -.mdi-car-limousine::before { - content: "\F8CC"; -} -.mdi-car-multiple::before { - content: "\FB4A"; -} -.mdi-car-off::before { - content: "\FDFF"; -} -.mdi-car-parking-lights::before { - content: "\FD3F"; -} -.mdi-car-pickup::before { - content: "\F7A9"; -} -.mdi-car-shift-pattern::before { - content: "\FF5D"; -} -.mdi-car-side::before { - content: "\F7AA"; -} -.mdi-car-sports::before { - content: "\F7AB"; -} -.mdi-car-tire-alert::before { - content: "\FC29"; -} -.mdi-car-traction-control::before { - content: "\FD40"; -} -.mdi-car-wash::before { - content: "\F10E"; -} -.mdi-caravan::before { - content: "\F7AC"; -} -.mdi-card::before { - content: "\FB4B"; -} -.mdi-card-bulleted::before { - content: "\FB4C"; -} -.mdi-card-bulleted-off::before { - content: "\FB4D"; -} -.mdi-card-bulleted-off-outline::before { - content: "\FB4E"; -} -.mdi-card-bulleted-outline::before { - content: "\FB4F"; -} -.mdi-card-bulleted-settings::before { - content: "\FB50"; -} -.mdi-card-bulleted-settings-outline::before { - content: "\FB51"; -} -.mdi-card-outline::before { - content: "\FB52"; -} -.mdi-card-text::before { - content: "\FB53"; -} -.mdi-card-text-outline::before { - content: "\FB54"; -} -.mdi-cards::before { - content: "\F638"; -} -.mdi-cards-club::before { - content: "\F8CD"; -} -.mdi-cards-diamond::before { - content: "\F8CE"; -} -.mdi-cards-heart::before { - content: "\F8CF"; -} -.mdi-cards-outline::before { - content: "\F639"; -} -.mdi-cards-playing-outline::before { - content: "\F63A"; -} -.mdi-cards-spade::before { - content: "\F8D0"; -} -.mdi-cards-variant::before { - content: "\F6C6"; -} -.mdi-carrot::before { - content: "\F10F"; -} -.mdi-cart::before { - content: "\F110"; -} -.mdi-cart-arrow-down::before { - content: "\FD42"; -} -.mdi-cart-arrow-right::before { - content: "\FC2A"; -} -.mdi-cart-arrow-up::before { - content: "\FD43"; -} -.mdi-cart-minus::before { - content: "\FD44"; -} -.mdi-cart-off::before { - content: "\F66B"; -} -.mdi-cart-outline::before { - content: "\F111"; -} -.mdi-cart-plus::before { - content: "\F112"; -} -.mdi-cart-remove::before { - content: "\FD45"; -} -.mdi-case-sensitive-alt::before { - content: "\F113"; -} -.mdi-cash::before { - content: "\F114"; -} -.mdi-cash-100::before { - content: "\F115"; -} -.mdi-cash-marker::before { - content: "\FD94"; -} -.mdi-cash-multiple::before { - content: "\F116"; -} -.mdi-cash-refund::before { - content: "\FA9B"; -} -.mdi-cash-register::before { - content: "\FCD0"; -} -.mdi-cash-usd::before { - content: "\F117"; -} -.mdi-cassette::before { - content: "\F9D3"; -} -.mdi-cast::before { - content: "\F118"; -} -.mdi-cast-connected::before { - content: "\F119"; -} -.mdi-cast-education::before { - content: "\FE6D"; -} -.mdi-cast-off::before { - content: "\F789"; -} -.mdi-castle::before { - content: "\F11A"; -} -.mdi-cat::before { - content: "\F11B"; -} -.mdi-cctv::before { - content: "\F7AD"; -} -.mdi-ceiling-light::before { - content: "\F768"; -} -.mdi-cellphone::before { - content: "\F11C"; -} -.mdi-cellphone-android::before { - content: "\F11D"; -} -.mdi-cellphone-arrow-down::before { - content: "\F9D4"; -} -.mdi-cellphone-basic::before { - content: "\F11E"; -} -.mdi-cellphone-dock::before { - content: "\F11F"; -} -.mdi-cellphone-erase::before { - content: "\F94C"; -} -.mdi-cellphone-information::before { - content: "\FF5E"; -} -.mdi-cellphone-iphone::before { - content: "\F120"; -} -.mdi-cellphone-key::before { - content: "\F94D"; -} -.mdi-cellphone-link::before { - content: "\F121"; -} -.mdi-cellphone-link-off::before { - content: "\F122"; -} -.mdi-cellphone-lock::before { - content: "\F94E"; -} -.mdi-cellphone-message::before { - content: "\F8D2"; -} -.mdi-cellphone-nfc::before { - content: "\FEAD"; -} -.mdi-cellphone-off::before { - content: "\F94F"; -} -.mdi-cellphone-screenshot::before { - content: "\FA34"; -} -.mdi-cellphone-settings::before { - content: "\F123"; -} -.mdi-cellphone-settings-variant::before { - content: "\F950"; -} -.mdi-cellphone-sound::before { - content: "\F951"; -} -.mdi-cellphone-text::before { - content: "\F8D1"; -} -.mdi-cellphone-wireless::before { - content: "\F814"; -} -.mdi-celtic-cross::before { - content: "\FCD1"; -} -.mdi-certificate::before { - content: "\F124"; -} -.mdi-chair-rolling::before { - content: "\FFBA"; -} -.mdi-chair-school::before { - content: "\F125"; -} -.mdi-charity::before { - content: "\FC2B"; -} -.mdi-chart-arc::before { - content: "\F126"; -} -.mdi-chart-areaspline::before { - content: "\F127"; -} -.mdi-chart-areaspline-variant::before { - content: "\FEAE"; -} -.mdi-chart-bar::before { - content: "\F128"; -} -.mdi-chart-bar-stacked::before { - content: "\F769"; -} -.mdi-chart-bell-curve::before { - content: "\FC2C"; -} -.mdi-chart-bubble::before { - content: "\F5E3"; -} -.mdi-chart-donut::before { - content: "\F7AE"; -} -.mdi-chart-donut-variant::before { - content: "\F7AF"; -} -.mdi-chart-gantt::before { - content: "\F66C"; -} -.mdi-chart-histogram::before { - content: "\F129"; -} -.mdi-chart-line::before { - content: "\F12A"; -} -.mdi-chart-line-stacked::before { - content: "\F76A"; -} -.mdi-chart-line-variant::before { - content: "\F7B0"; -} -.mdi-chart-multiline::before { - content: "\F8D3"; -} -.mdi-chart-pie::before { - content: "\F12B"; -} -.mdi-chart-scatter-plot::before { - content: "\FEAF"; -} -.mdi-chart-scatter-plot-hexbin::before { - content: "\F66D"; -} -.mdi-chart-timeline::before { - content: "\F66E"; -} -.mdi-chart-timeline-variant::before { - content: "\FEB0"; -} -.mdi-chart-tree::before { - content: "\FEB1"; -} -.mdi-chat::before { - content: "\FB55"; -} -.mdi-chat-alert::before { - content: "\FB56"; -} -.mdi-chat-outline::before { - content: "\FEFB"; -} -.mdi-chat-processing::before { - content: "\FB57"; -} -.mdi-check::before { - content: "\F12C"; -} -.mdi-check-all::before { - content: "\F12D"; -} -.mdi-check-bold::before { - content: "\FE6E"; -} -.mdi-check-box-multiple-outline::before { - content: "\FC2D"; -} -.mdi-check-box-outline::before { - content: "\FC2E"; -} -.mdi-check-circle::before { - content: "\F5E0"; -} -.mdi-check-circle-outline::before { - content: "\F5E1"; -} -.mdi-check-decagram::before { - content: "\F790"; -} -.mdi-check-network::before { - content: "\FC2F"; -} -.mdi-check-network-outline::before { - content: "\FC30"; -} -.mdi-check-outline::before { - content: "\F854"; -} -.mdi-check-underline::before { - content: "\FE70"; -} -.mdi-check-underline-circle::before { - content: "\FE71"; -} -.mdi-check-underline-circle-outline::before { - content: "\FE72"; -} -.mdi-checkbook::before { - content: "\FA9C"; -} -.mdi-checkbox-blank::before { - content: "\F12E"; -} -.mdi-checkbox-blank-circle::before { - content: "\F12F"; -} -.mdi-checkbox-blank-circle-outline::before { - content: "\F130"; -} -.mdi-checkbox-blank-outline::before { - content: "\F131"; -} -.mdi-checkbox-intermediate::before { - content: "\F855"; -} -.mdi-checkbox-marked::before { - content: "\F132"; -} -.mdi-checkbox-marked-circle::before { - content: "\F133"; -} -.mdi-checkbox-marked-circle-outline::before { - content: "\F134"; -} -.mdi-checkbox-marked-outline::before { - content: "\F135"; -} -.mdi-checkbox-multiple-blank::before { - content: "\F136"; -} -.mdi-checkbox-multiple-blank-circle::before { - content: "\F63B"; -} -.mdi-checkbox-multiple-blank-circle-outline::before { - content: "\F63C"; -} -.mdi-checkbox-multiple-blank-outline::before { - content: "\F137"; -} -.mdi-checkbox-multiple-marked::before { - content: "\F138"; -} -.mdi-checkbox-multiple-marked-circle::before { - content: "\F63D"; -} -.mdi-checkbox-multiple-marked-circle-outline::before { - content: "\F63E"; -} -.mdi-checkbox-multiple-marked-outline::before { - content: "\F139"; -} -.mdi-checkerboard::before { - content: "\F13A"; -} -.mdi-chef-hat::before { - content: "\FB58"; -} -.mdi-chemical-weapon::before { - content: "\F13B"; -} -.mdi-chess-bishop::before { - content: "\F85B"; -} -.mdi-chess-king::before { - content: "\F856"; -} -.mdi-chess-knight::before { - content: "\F857"; -} -.mdi-chess-pawn::before { - content: "\F858"; -} -.mdi-chess-queen::before { - content: "\F859"; -} -.mdi-chess-rook::before { - content: "\F85A"; -} -.mdi-chevron-double-down::before { - content: "\F13C"; -} -.mdi-chevron-double-left::before { - content: "\F13D"; -} -.mdi-chevron-double-right::before { - content: "\F13E"; -} -.mdi-chevron-double-up::before { - content: "\F13F"; -} -.mdi-chevron-down::before { - content: "\F140"; -} -.mdi-chevron-down-box::before { - content: "\F9D5"; -} -.mdi-chevron-down-box-outline::before { - content: "\F9D6"; -} -.mdi-chevron-down-circle::before { - content: "\FB0B"; -} -.mdi-chevron-down-circle-outline::before { - content: "\FB0C"; -} -.mdi-chevron-left::before { - content: "\F141"; -} -.mdi-chevron-left-box::before { - content: "\F9D7"; -} -.mdi-chevron-left-box-outline::before { - content: "\F9D8"; -} -.mdi-chevron-left-circle::before { - content: "\FB0D"; -} -.mdi-chevron-left-circle-outline::before { - content: "\FB0E"; -} -.mdi-chevron-right::before { - content: "\F142"; -} -.mdi-chevron-right-box::before { - content: "\F9D9"; -} -.mdi-chevron-right-box-outline::before { - content: "\F9DA"; -} -.mdi-chevron-right-circle::before { - content: "\FB0F"; -} -.mdi-chevron-right-circle-outline::before { - content: "\FB10"; -} -.mdi-chevron-triple-down::before { - content: "\FD95"; -} -.mdi-chevron-triple-left::before { - content: "\FD96"; -} -.mdi-chevron-triple-right::before { - content: "\FD97"; -} -.mdi-chevron-triple-up::before { - content: "\FD98"; -} -.mdi-chevron-up::before { - content: "\F143"; -} -.mdi-chevron-up-box::before { - content: "\F9DB"; -} -.mdi-chevron-up-box-outline::before { - content: "\F9DC"; -} -.mdi-chevron-up-circle::before { - content: "\FB11"; -} -.mdi-chevron-up-circle-outline::before { - content: "\FB12"; -} -.mdi-chili-hot::before { - content: "\F7B1"; -} -.mdi-chili-medium::before { - content: "\F7B2"; -} -.mdi-chili-mild::before { - content: "\F7B3"; -} -.mdi-chip::before { - content: "\F61A"; -} -.mdi-christianity::before { - content: "\F952"; -} -.mdi-christianity-outline::before { - content: "\FCD2"; -} -.mdi-church::before { - content: "\F144"; -} -.mdi-circle::before { - content: "\F764"; -} -.mdi-circle-double::before { - content: "\FEB2"; -} -.mdi-circle-edit-outline::before { - content: "\F8D4"; -} -.mdi-circle-expand::before { - content: "\FEB3"; -} -.mdi-circle-medium::before { - content: "\F9DD"; -} -.mdi-circle-outline::before { - content: "\F765"; -} -.mdi-circle-slice-1::before { - content: "\FA9D"; -} -.mdi-circle-slice-2::before { - content: "\FA9E"; -} -.mdi-circle-slice-3::before { - content: "\FA9F"; -} -.mdi-circle-slice-4::before { - content: "\FAA0"; -} -.mdi-circle-slice-5::before { - content: "\FAA1"; -} -.mdi-circle-slice-6::before { - content: "\FAA2"; -} -.mdi-circle-slice-7::before { - content: "\FAA3"; -} -.mdi-circle-slice-8::before { - content: "\FAA4"; -} -.mdi-circle-small::before { - content: "\F9DE"; -} -.mdi-circular-saw::before { - content: "\FE73"; -} -.mdi-cisco-webex::before { - content: "\F145"; -} -.mdi-city::before { - content: "\F146"; -} -.mdi-city-variant::before { - content: "\FA35"; -} -.mdi-city-variant-outline::before { - content: "\FA36"; -} -.mdi-clipboard::before { - content: "\F147"; -} -.mdi-clipboard-account::before { - content: "\F148"; -} -.mdi-clipboard-account-outline::before { - content: "\FC31"; -} -.mdi-clipboard-alert::before { - content: "\F149"; -} -.mdi-clipboard-alert-outline::before { - content: "\FCD3"; -} -.mdi-clipboard-arrow-down::before { - content: "\F14A"; -} -.mdi-clipboard-arrow-down-outline::before { - content: "\FC32"; -} -.mdi-clipboard-arrow-left::before { - content: "\F14B"; -} -.mdi-clipboard-arrow-left-outline::before { - content: "\FCD4"; -} -.mdi-clipboard-arrow-right::before { - content: "\FCD5"; -} -.mdi-clipboard-arrow-right-outline::before { - content: "\FCD6"; -} -.mdi-clipboard-arrow-up::before { - content: "\FC33"; -} -.mdi-clipboard-arrow-up-outline::before { - content: "\FC34"; -} -.mdi-clipboard-check::before { - content: "\F14C"; -} -.mdi-clipboard-check-outline::before { - content: "\F8A7"; -} -.mdi-clipboard-flow::before { - content: "\F6C7"; -} -.mdi-clipboard-outline::before { - content: "\F14D"; -} -.mdi-clipboard-play::before { - content: "\FC35"; -} -.mdi-clipboard-play-outline::before { - content: "\FC36"; -} -.mdi-clipboard-plus::before { - content: "\F750"; -} -.mdi-clipboard-pulse::before { - content: "\F85C"; -} -.mdi-clipboard-pulse-outline::before { - content: "\F85D"; -} -.mdi-clipboard-text::before { - content: "\F14E"; -} -.mdi-clipboard-text-outline::before { - content: "\FA37"; -} -.mdi-clipboard-text-play::before { - content: "\FC37"; -} -.mdi-clipboard-text-play-outline::before { - content: "\FC38"; -} -.mdi-clippy::before { - content: "\F14F"; -} -.mdi-clock::before { - content: "\F953"; -} -.mdi-clock-alert::before { - content: "\F954"; -} -.mdi-clock-alert-outline::before { - content: "\F5CE"; -} -.mdi-clock-digital::before { - content: "\FEB4"; -} -.mdi-clock-end::before { - content: "\F151"; -} -.mdi-clock-fast::before { - content: "\F152"; -} -.mdi-clock-in::before { - content: "\F153"; -} -.mdi-clock-out::before { - content: "\F154"; -} -.mdi-clock-outline::before { - content: "\F150"; -} -.mdi-clock-start::before { - content: "\F155"; -} -.mdi-close::before { - content: "\F156"; -} -.mdi-close-box::before { - content: "\F157"; -} -.mdi-close-box-multiple::before { - content: "\FC39"; -} -.mdi-close-box-multiple-outline::before { - content: "\FC3A"; -} -.mdi-close-box-outline::before { - content: "\F158"; -} -.mdi-close-circle::before { - content: "\F159"; -} -.mdi-close-circle-outline::before { - content: "\F15A"; -} -.mdi-close-network::before { - content: "\F15B"; -} -.mdi-close-network-outline::before { - content: "\FC3B"; -} -.mdi-close-octagon::before { - content: "\F15C"; -} -.mdi-close-octagon-outline::before { - content: "\F15D"; -} -.mdi-close-outline::before { - content: "\F6C8"; -} -.mdi-closed-caption::before { - content: "\F15E"; -} -.mdi-closed-caption-outline::before { - content: "\FD99"; -} -.mdi-cloud::before { - content: "\F15F"; -} -.mdi-cloud-alert::before { - content: "\F9DF"; -} -.mdi-cloud-braces::before { - content: "\F7B4"; -} -.mdi-cloud-check::before { - content: "\F160"; -} -.mdi-cloud-circle::before { - content: "\F161"; -} -.mdi-cloud-download::before { - content: "\F162"; -} -.mdi-cloud-download-outline::before { - content: "\FB59"; -} -.mdi-cloud-off-outline::before { - content: "\F164"; -} -.mdi-cloud-outline::before { - content: "\F163"; -} -.mdi-cloud-print::before { - content: "\F165"; -} -.mdi-cloud-print-outline::before { - content: "\F166"; -} -.mdi-cloud-question::before { - content: "\FA38"; -} -.mdi-cloud-search::before { - content: "\F955"; -} -.mdi-cloud-search-outline::before { - content: "\F956"; -} -.mdi-cloud-sync::before { - content: "\F63F"; -} -.mdi-cloud-tags::before { - content: "\F7B5"; -} -.mdi-cloud-upload::before { - content: "\F167"; -} -.mdi-cloud-upload-outline::before { - content: "\FB5A"; -} -.mdi-clover::before { - content: "\F815"; -} -.mdi-code-array::before { - content: "\F168"; -} -.mdi-code-braces::before { - content: "\F169"; -} -.mdi-code-brackets::before { - content: "\F16A"; -} -.mdi-code-equal::before { - content: "\F16B"; -} -.mdi-code-greater-than::before { - content: "\F16C"; -} -.mdi-code-greater-than-or-equal::before { - content: "\F16D"; -} -.mdi-code-less-than::before { - content: "\F16E"; -} -.mdi-code-less-than-or-equal::before { - content: "\F16F"; -} -.mdi-code-not-equal::before { - content: "\F170"; -} -.mdi-code-not-equal-variant::before { - content: "\F171"; -} -.mdi-code-parentheses::before { - content: "\F172"; -} -.mdi-code-string::before { - content: "\F173"; -} -.mdi-code-tags::before { - content: "\F174"; -} -.mdi-code-tags-check::before { - content: "\F693"; -} -.mdi-codepen::before { - content: "\F175"; -} -.mdi-coffee::before { - content: "\F176"; -} -.mdi-coffee-off::before { - content: "\FFCA"; -} -.mdi-coffee-off-outline::before { - content: "\FFCB"; -} -.mdi-coffee-outline::before { - content: "\F6C9"; -} -.mdi-coffee-to-go::before { - content: "\F177"; -} -.mdi-coffin::before { - content: "\FB5B"; -} -.mdi-cogs::before { - content: "\F8D5"; -} -.mdi-coin::before { - content: "\F178"; -} -.mdi-coins::before { - content: "\F694"; -} -.mdi-collage::before { - content: "\F640"; -} -.mdi-collapse-all::before { - content: "\FAA5"; -} -.mdi-collapse-all-outline::before { - content: "\FAA6"; -} -.mdi-color-helper::before { - content: "\F179"; -} -.mdi-comma::before { - content: "\FE74"; -} -.mdi-comma-box::before { - content: "\FE75"; -} -.mdi-comma-box-outline::before { - content: "\FE76"; -} -.mdi-comma-circle::before { - content: "\FE77"; -} -.mdi-comma-circle-outline::before { - content: "\FE78"; -} -.mdi-comment::before { - content: "\F17A"; -} -.mdi-comment-account::before { - content: "\F17B"; -} -.mdi-comment-account-outline::before { - content: "\F17C"; -} -.mdi-comment-alert::before { - content: "\F17D"; -} -.mdi-comment-alert-outline::before { - content: "\F17E"; -} -.mdi-comment-arrow-left::before { - content: "\F9E0"; -} -.mdi-comment-arrow-left-outline::before { - content: "\F9E1"; -} -.mdi-comment-arrow-right::before { - content: "\F9E2"; -} -.mdi-comment-arrow-right-outline::before { - content: "\F9E3"; -} -.mdi-comment-check::before { - content: "\F17F"; -} -.mdi-comment-check-outline::before { - content: "\F180"; -} -.mdi-comment-eye::before { - content: "\FA39"; -} -.mdi-comment-eye-outline::before { - content: "\FA3A"; -} -.mdi-comment-multiple::before { - content: "\F85E"; -} -.mdi-comment-multiple-outline::before { - content: "\F181"; -} -.mdi-comment-outline::before { - content: "\F182"; -} -.mdi-comment-plus::before { - content: "\F9E4"; -} -.mdi-comment-plus-outline::before { - content: "\F183"; -} -.mdi-comment-processing::before { - content: "\F184"; -} -.mdi-comment-processing-outline::before { - content: "\F185"; -} -.mdi-comment-question::before { - content: "\F816"; -} -.mdi-comment-question-outline::before { - content: "\F186"; -} -.mdi-comment-remove::before { - content: "\F5DE"; -} -.mdi-comment-remove-outline::before { - content: "\F187"; -} -.mdi-comment-search::before { - content: "\FA3B"; -} -.mdi-comment-search-outline::before { - content: "\FA3C"; -} -.mdi-comment-text::before { - content: "\F188"; -} -.mdi-comment-text-multiple::before { - content: "\F85F"; -} -.mdi-comment-text-multiple-outline::before { - content: "\F860"; -} -.mdi-comment-text-outline::before { - content: "\F189"; -} -.mdi-compare::before { - content: "\F18A"; -} -.mdi-compass::before { - content: "\F18B"; -} -.mdi-compass-off::before { - content: "\FB5C"; -} -.mdi-compass-off-outline::before { - content: "\FB5D"; -} -.mdi-compass-outline::before { - content: "\F18C"; -} -.mdi-console::before { - content: "\F18D"; -} -.mdi-console-line::before { - content: "\F7B6"; -} -.mdi-console-network::before { - content: "\F8A8"; -} -.mdi-console-network-outline::before { - content: "\FC3C"; -} -.mdi-contact-mail::before { - content: "\F18E"; -} -.mdi-contact-mail-outline::before { - content: "\FEB5"; -} -.mdi-contact-phone::before { - content: "\FEB6"; -} -.mdi-contact-phone-outline::before { - content: "\FEB7"; -} -.mdi-contactless-payment::before { - content: "\FD46"; -} -.mdi-contacts::before { - content: "\F6CA"; -} -.mdi-contain::before { - content: "\FA3D"; -} -.mdi-contain-end::before { - content: "\FA3E"; -} -.mdi-contain-start::before { - content: "\FA3F"; -} -.mdi-content-copy::before { - content: "\F18F"; -} -.mdi-content-cut::before { - content: "\F190"; -} -.mdi-content-duplicate::before { - content: "\F191"; -} -.mdi-content-paste::before { - content: "\F192"; -} -.mdi-content-save::before { - content: "\F193"; -} -.mdi-content-save-alert::before { - content: "\FF5F"; -} -.mdi-content-save-alert-outline::before { - content: "\FF60"; -} -.mdi-content-save-all::before { - content: "\F194"; -} -.mdi-content-save-all-outline::before { - content: "\FF61"; -} -.mdi-content-save-edit::before { - content: "\FCD7"; -} -.mdi-content-save-edit-outline::before { - content: "\FCD8"; -} -.mdi-content-save-move::before { - content: "\FE79"; -} -.mdi-content-save-move-outline::before { - content: "\FE7A"; -} -.mdi-content-save-outline::before { - content: "\F817"; -} -.mdi-content-save-settings::before { - content: "\F61B"; -} -.mdi-content-save-settings-outline::before { - content: "\FB13"; -} -.mdi-contrast::before { - content: "\F195"; -} -.mdi-contrast-box::before { - content: "\F196"; -} -.mdi-contrast-circle::before { - content: "\F197"; -} -.mdi-controller-classic::before { - content: "\FB5E"; -} -.mdi-controller-classic-outline::before { - content: "\FB5F"; -} -.mdi-cookie::before { - content: "\F198"; -} -.mdi-copyright::before { - content: "\F5E6"; -} -.mdi-cordova::before { - content: "\F957"; -} -.mdi-corn::before { - content: "\F7B7"; -} -.mdi-counter::before { - content: "\F199"; -} -.mdi-cow::before { - content: "\F19A"; -} -.mdi-cowboy::before { - content: "\FEB8"; -} -.mdi-cpu-32-bit::before { - content: "\FEFC"; -} -.mdi-cpu-64-bit::before { - content: "\FEFD"; -} -.mdi-crane::before { - content: "\F861"; -} -.mdi-creation::before { - content: "\F1C9"; -} -.mdi-creative-commons::before { - content: "\FD47"; -} -.mdi-credit-card::before { - content: "\F19B"; -} -.mdi-credit-card-clock::before { - content: "\FEFE"; -} -.mdi-credit-card-clock-outline::before { - content: "\FFBC"; -} -.mdi-credit-card-marker::before { - content: "\FD9A"; -} -.mdi-credit-card-multiple::before { - content: "\F19C"; -} -.mdi-credit-card-off::before { - content: "\F5E4"; -} -.mdi-credit-card-plus::before { - content: "\F675"; -} -.mdi-credit-card-refund::before { - content: "\FAA7"; -} -.mdi-credit-card-scan::before { - content: "\F19D"; -} -.mdi-credit-card-settings::before { - content: "\F8D6"; -} -.mdi-credit-card-wireless::before { - content: "\FD48"; -} -.mdi-cricket::before { - content: "\FD49"; -} -.mdi-crop::before { - content: "\F19E"; -} -.mdi-crop-free::before { - content: "\F19F"; -} -.mdi-crop-landscape::before { - content: "\F1A0"; -} -.mdi-crop-portrait::before { - content: "\F1A1"; -} -.mdi-crop-rotate::before { - content: "\F695"; -} -.mdi-crop-square::before { - content: "\F1A2"; -} -.mdi-crosshairs::before { - content: "\F1A3"; -} -.mdi-crosshairs-gps::before { - content: "\F1A4"; -} -.mdi-crosshairs-off::before { - content: "\FF62"; -} -.mdi-crown::before { - content: "\F1A5"; -} -.mdi-cryengine::before { - content: "\F958"; -} -.mdi-crystal-ball::before { - content: "\FB14"; -} -.mdi-cube::before { - content: "\F1A6"; -} -.mdi-cube-outline::before { - content: "\F1A7"; -} -.mdi-cube-scan::before { - content: "\FB60"; -} -.mdi-cube-send::before { - content: "\F1A8"; -} -.mdi-cube-unfolded::before { - content: "\F1A9"; -} -.mdi-cup::before { - content: "\F1AA"; -} -.mdi-cup-off::before { - content: "\F5E5"; -} -.mdi-cup-water::before { - content: "\F1AB"; -} -.mdi-cupboard::before { - content: "\FF63"; -} -.mdi-cupboard-outline::before { - content: "\FF64"; -} -.mdi-cupcake::before { - content: "\F959"; -} -.mdi-curling::before { - content: "\F862"; -} -.mdi-currency-bdt::before { - content: "\F863"; -} -.mdi-currency-brl::before { - content: "\FB61"; -} -.mdi-currency-btc::before { - content: "\F1AC"; -} -.mdi-currency-chf::before { - content: "\F7B8"; -} -.mdi-currency-cny::before { - content: "\F7B9"; -} -.mdi-currency-eth::before { - content: "\F7BA"; -} -.mdi-currency-eur::before { - content: "\F1AD"; -} -.mdi-currency-gbp::before { - content: "\F1AE"; -} -.mdi-currency-ils::before { - content: "\FC3D"; -} -.mdi-currency-inr::before { - content: "\F1AF"; -} -.mdi-currency-jpy::before { - content: "\F7BB"; -} -.mdi-currency-krw::before { - content: "\F7BC"; -} -.mdi-currency-kzt::before { - content: "\F864"; -} -.mdi-currency-ngn::before { - content: "\F1B0"; -} -.mdi-currency-php::before { - content: "\F9E5"; -} -.mdi-currency-rial::before { - content: "\FEB9"; -} -.mdi-currency-rub::before { - content: "\F1B1"; -} -.mdi-currency-sign::before { - content: "\F7BD"; -} -.mdi-currency-try::before { - content: "\F1B2"; -} -.mdi-currency-twd::before { - content: "\F7BE"; -} -.mdi-currency-usd::before { - content: "\F1B3"; -} -.mdi-currency-usd-off::before { - content: "\F679"; -} -.mdi-current-ac::before { - content: "\F95A"; -} -.mdi-current-dc::before { - content: "\F95B"; -} -.mdi-cursor-default::before { - content: "\F1B4"; -} -.mdi-cursor-default-click::before { - content: "\FCD9"; -} -.mdi-cursor-default-click-outline::before { - content: "\FCDA"; -} -.mdi-cursor-default-outline::before { - content: "\F1B5"; -} -.mdi-cursor-move::before { - content: "\F1B6"; -} -.mdi-cursor-pointer::before { - content: "\F1B7"; -} -.mdi-cursor-text::before { - content: "\F5E7"; -} -.mdi-database::before { - content: "\F1B8"; -} -.mdi-database-check::before { - content: "\FAA8"; -} -.mdi-database-edit::before { - content: "\FB62"; -} -.mdi-database-export::before { - content: "\F95D"; -} -.mdi-database-import::before { - content: "\F95C"; -} -.mdi-database-lock::before { - content: "\FAA9"; -} -.mdi-database-minus::before { - content: "\F1B9"; -} -.mdi-database-plus::before { - content: "\F1BA"; -} -.mdi-database-refresh::before { - content: "\FCDB"; -} -.mdi-database-remove::before { - content: "\FCDC"; -} -.mdi-database-search::before { - content: "\F865"; -} -.mdi-database-settings::before { - content: "\FCDD"; -} -.mdi-death-star::before { - content: "\F8D7"; -} -.mdi-death-star-variant::before { - content: "\F8D8"; -} -.mdi-deathly-hallows::before { - content: "\FB63"; -} -.mdi-debian::before { - content: "\F8D9"; -} -.mdi-debug-step-into::before { - content: "\F1BB"; -} -.mdi-debug-step-out::before { - content: "\F1BC"; -} -.mdi-debug-step-over::before { - content: "\F1BD"; -} -.mdi-decagram::before { - content: "\F76B"; -} -.mdi-decagram-outline::before { - content: "\F76C"; -} -.mdi-decimal-decrease::before { - content: "\F1BE"; -} -.mdi-decimal-increase::before { - content: "\F1BF"; -} -.mdi-delete::before { - content: "\F1C0"; -} -.mdi-delete-circle::before { - content: "\F682"; -} -.mdi-delete-circle-outline::before { - content: "\FB64"; -} -.mdi-delete-empty::before { - content: "\F6CB"; -} -.mdi-delete-empty-outline::before { - content: "\FEBA"; -} -.mdi-delete-forever::before { - content: "\F5E8"; -} -.mdi-delete-forever-outline::before { - content: "\FB65"; -} -.mdi-delete-outline::before { - content: "\F9E6"; -} -.mdi-delete-restore::before { - content: "\F818"; -} -.mdi-delete-sweep::before { - content: "\F5E9"; -} -.mdi-delete-sweep-outline::before { - content: "\FC3E"; -} -.mdi-delete-variant::before { - content: "\F1C1"; -} -.mdi-delta::before { - content: "\F1C2"; -} -.mdi-desk-lamp::before { - content: "\F95E"; -} -.mdi-deskphone::before { - content: "\F1C3"; -} -.mdi-desktop-classic::before { - content: "\F7BF"; -} -.mdi-desktop-mac::before { - content: "\F1C4"; -} -.mdi-desktop-mac-dashboard::before { - content: "\F9E7"; -} -.mdi-desktop-tower::before { - content: "\F1C5"; -} -.mdi-desktop-tower-monitor::before { - content: "\FAAA"; -} -.mdi-details::before { - content: "\F1C6"; -} -.mdi-dev-to::before { - content: "\FD4A"; -} -.mdi-developer-board::before { - content: "\F696"; -} -.mdi-deviantart::before { - content: "\F1C7"; -} -.mdi-dialpad::before { - content: "\F61C"; -} -.mdi-diameter::before { - content: "\FC3F"; -} -.mdi-diameter-outline::before { - content: "\FC40"; -} -.mdi-diameter-variant::before { - content: "\FC41"; -} -.mdi-diamond::before { - content: "\FB66"; -} -.mdi-diamond-outline::before { - content: "\FB67"; -} -.mdi-diamond-stone::before { - content: "\F1C8"; -} -.mdi-dice-1::before { - content: "\F1CA"; -} -.mdi-dice-2::before { - content: "\F1CB"; -} -.mdi-dice-3::before { - content: "\F1CC"; -} -.mdi-dice-4::before { - content: "\F1CD"; -} -.mdi-dice-5::before { - content: "\F1CE"; -} -.mdi-dice-6::before { - content: "\F1CF"; -} -.mdi-dice-d10::before { - content: "\F76E"; -} -.mdi-dice-d12::before { - content: "\F866"; -} -.mdi-dice-d20::before { - content: "\F5EA"; -} -.mdi-dice-d4::before { - content: "\F5EB"; -} -.mdi-dice-d6::before { - content: "\F5EC"; -} -.mdi-dice-d8::before { - content: "\F5ED"; -} -.mdi-dice-multiple::before { - content: "\F76D"; -} -.mdi-dictionary::before { - content: "\F61D"; -} -.mdi-dip-switch::before { - content: "\F7C0"; -} -.mdi-directions::before { - content: "\F1D0"; -} -.mdi-directions-fork::before { - content: "\F641"; -} -.mdi-disc::before { - content: "\F5EE"; -} -.mdi-disc-alert::before { - content: "\F1D1"; -} -.mdi-disc-player::before { - content: "\F95F"; -} -.mdi-discord::before { - content: "\F66F"; -} -.mdi-dishwasher::before { - content: "\FAAB"; -} -.mdi-disqus::before { - content: "\F1D2"; -} -.mdi-disqus-outline::before { - content: "\F1D3"; -} -.mdi-diving-flippers::before { - content: "\FD9B"; -} -.mdi-diving-helmet::before { - content: "\FD9C"; -} -.mdi-diving-scuba::before { - content: "\FD9D"; -} -.mdi-diving-scuba-flag::before { - content: "\FD9E"; -} -.mdi-diving-scuba-tank::before { - content: "\FD9F"; -} -.mdi-diving-scuba-tank-multiple::before { - content: "\FDA0"; -} -.mdi-diving-snorkel::before { - content: "\FDA1"; -} -.mdi-division::before { - content: "\F1D4"; -} -.mdi-division-box::before { - content: "\F1D5"; -} -.mdi-dlna::before { - content: "\FA40"; -} -.mdi-dna::before { - content: "\F683"; -} -.mdi-dns::before { - content: "\F1D6"; -} -.mdi-dns-outline::before { - content: "\FB68"; -} -.mdi-do-not-disturb::before { - content: "\F697"; -} -.mdi-do-not-disturb-off::before { - content: "\F698"; -} -.mdi-docker::before { - content: "\F867"; -} -.mdi-doctor::before { - content: "\FA41"; -} -.mdi-dog::before { - content: "\FA42"; -} -.mdi-dog-service::before { - content: "\FAAC"; -} -.mdi-dog-side::before { - content: "\FA43"; -} -.mdi-dolby::before { - content: "\F6B2"; -} -.mdi-dolly::before { - content: "\FEBB"; -} -.mdi-domain::before { - content: "\F1D7"; -} -.mdi-domain-off::before { - content: "\FD4B"; -} -.mdi-donkey::before { - content: "\F7C1"; -} -.mdi-door::before { - content: "\F819"; -} -.mdi-door-closed::before { - content: "\F81A"; -} -.mdi-door-open::before { - content: "\F81B"; -} -.mdi-doorbell-video::before { - content: "\F868"; -} -.mdi-dot-net::before { - content: "\FAAD"; -} -.mdi-dots-horizontal::before { - content: "\F1D8"; -} -.mdi-dots-horizontal-circle::before { - content: "\F7C2"; -} -.mdi-dots-horizontal-circle-outline::before { - content: "\FB69"; -} -.mdi-dots-vertical::before { - content: "\F1D9"; -} -.mdi-dots-vertical-circle::before { - content: "\F7C3"; -} -.mdi-dots-vertical-circle-outline::before { - content: "\FB6A"; -} -.mdi-douban::before { - content: "\F699"; -} -.mdi-download::before { - content: "\F1DA"; -} -.mdi-download-multiple::before { - content: "\F9E8"; -} -.mdi-download-network::before { - content: "\F6F3"; -} -.mdi-download-network-outline::before { - content: "\FC42"; -} -.mdi-download-outline::before { - content: "\FB6B"; -} -.mdi-drag::before { - content: "\F1DB"; -} -.mdi-drag-horizontal::before { - content: "\F1DC"; -} -.mdi-drag-variant::before { - content: "\FB6C"; -} -.mdi-drag-vertical::before { - content: "\F1DD"; -} -.mdi-drama-masks::before { - content: "\FCDE"; -} -.mdi-draw::before { - content: "\FF66"; -} -.mdi-drawing::before { - content: "\F1DE"; -} -.mdi-drawing-box::before { - content: "\F1DF"; -} -.mdi-dresser::before { - content: "\FF67"; -} -.mdi-dresser-outline::before { - content: "\FF68"; -} -.mdi-dribbble::before { - content: "\F1E0"; -} -.mdi-dribbble-box::before { - content: "\F1E1"; -} -.mdi-drone::before { - content: "\F1E2"; -} -.mdi-dropbox::before { - content: "\F1E3"; -} -.mdi-drupal::before { - content: "\F1E4"; -} -.mdi-duck::before { - content: "\F1E5"; -} -.mdi-dumbbell::before { - content: "\F1E6"; -} -.mdi-dump-truck::before { - content: "\FC43"; -} -.mdi-ear-hearing::before { - content: "\F7C4"; -} -.mdi-ear-hearing-off::before { - content: "\FA44"; -} -.mdi-earth::before { - content: "\F1E7"; -} -.mdi-earth-box::before { - content: "\F6CC"; -} -.mdi-earth-box-off::before { - content: "\F6CD"; -} -.mdi-earth-off::before { - content: "\F1E8"; -} -.mdi-edge::before { - content: "\F1E9"; -} -.mdi-egg::before { - content: "\FAAE"; -} -.mdi-egg-easter::before { - content: "\FAAF"; -} -.mdi-eight-track::before { - content: "\F9E9"; -} -.mdi-eject::before { - content: "\F1EA"; -} -.mdi-eject-outline::before { - content: "\FB6D"; -} -.mdi-electric-switch::before { - content: "\FEBC"; -} -.mdi-elephant::before { - content: "\F7C5"; -} -.mdi-elevation-decline::before { - content: "\F1EB"; -} -.mdi-elevation-rise::before { - content: "\F1EC"; -} -.mdi-elevator::before { - content: "\F1ED"; -} -.mdi-ellipse::before { - content: "\FEBD"; -} -.mdi-ellipse-outline::before { - content: "\FEBE"; -} -.mdi-email::before { - content: "\F1EE"; -} -.mdi-email-alert::before { - content: "\F6CE"; -} -.mdi-email-box::before { - content: "\FCDF"; -} -.mdi-email-check::before { - content: "\FAB0"; -} -.mdi-email-check-outline::before { - content: "\FAB1"; -} -.mdi-email-edit::before { - content: "\FF00"; -} -.mdi-email-edit-outline::before { - content: "\FF01"; -} -.mdi-email-lock::before { - content: "\F1F1"; -} -.mdi-email-mark-as-unread::before { - content: "\FB6E"; -} -.mdi-email-minus::before { - content: "\FF02"; -} -.mdi-email-minus-outline::before { - content: "\FF03"; -} -.mdi-email-multiple::before { - content: "\FF04"; -} -.mdi-email-multiple-outline::before { - content: "\FF05"; -} -.mdi-email-open::before { - content: "\F1EF"; -} -.mdi-email-open-multiple::before { - content: "\FF06"; -} -.mdi-email-open-multiple-outline::before { - content: "\FF07"; -} -.mdi-email-open-outline::before { - content: "\F5EF"; -} -.mdi-email-outline::before { - content: "\F1F0"; -} -.mdi-email-plus::before { - content: "\F9EA"; -} -.mdi-email-plus-outline::before { - content: "\F9EB"; -} -.mdi-email-search::before { - content: "\F960"; -} -.mdi-email-search-outline::before { - content: "\F961"; -} -.mdi-email-variant::before { - content: "\F5F0"; -} -.mdi-ember::before { - content: "\FB15"; -} -.mdi-emby::before { - content: "\F6B3"; -} -.mdi-emoticon::before { - content: "\FC44"; -} -.mdi-emoticon-angry::before { - content: "\FC45"; -} -.mdi-emoticon-angry-outline::before { - content: "\FC46"; -} -.mdi-emoticon-cool::before { - content: "\FC47"; -} -.mdi-emoticon-cool-outline::before { - content: "\F1F3"; -} -.mdi-emoticon-cry::before { - content: "\FC48"; -} -.mdi-emoticon-cry-outline::before { - content: "\FC49"; -} -.mdi-emoticon-dead::before { - content: "\FC4A"; -} -.mdi-emoticon-dead-outline::before { - content: "\F69A"; -} -.mdi-emoticon-devil::before { - content: "\FC4B"; -} -.mdi-emoticon-devil-outline::before { - content: "\F1F4"; -} -.mdi-emoticon-excited::before { - content: "\FC4C"; -} -.mdi-emoticon-excited-outline::before { - content: "\F69B"; -} -.mdi-emoticon-frown::before { - content: "\FF69"; -} -.mdi-emoticon-frown-outline::before { - content: "\FF6A"; -} -.mdi-emoticon-happy::before { - content: "\FC4D"; -} -.mdi-emoticon-happy-outline::before { - content: "\F1F5"; -} -.mdi-emoticon-kiss::before { - content: "\FC4E"; -} -.mdi-emoticon-kiss-outline::before { - content: "\FC4F"; -} -.mdi-emoticon-neutral::before { - content: "\FC50"; -} -.mdi-emoticon-neutral-outline::before { - content: "\F1F6"; -} -.mdi-emoticon-outline::before { - content: "\F1F2"; -} -.mdi-emoticon-poop::before { - content: "\F1F7"; -} -.mdi-emoticon-poop-outline::before { - content: "\FC51"; -} -.mdi-emoticon-sad::before { - content: "\FC52"; -} -.mdi-emoticon-sad-outline::before { - content: "\F1F8"; -} -.mdi-emoticon-tongue::before { - content: "\F1F9"; -} -.mdi-emoticon-tongue-outline::before { - content: "\FC53"; -} -.mdi-emoticon-wink::before { - content: "\FC54"; -} -.mdi-emoticon-wink-outline::before { - content: "\FC55"; -} -.mdi-engine::before { - content: "\F1FA"; -} -.mdi-engine-off::before { - content: "\FA45"; -} -.mdi-engine-off-outline::before { - content: "\FA46"; -} -.mdi-engine-outline::before { - content: "\F1FB"; -} -.mdi-equal::before { - content: "\F1FC"; -} -.mdi-equal-box::before { - content: "\F1FD"; -} -.mdi-equalizer::before { - content: "\FEBF"; -} -.mdi-equalizer-outline::before { - content: "\FEC0"; -} -.mdi-eraser::before { - content: "\F1FE"; -} -.mdi-eraser-variant::before { - content: "\F642"; -} -.mdi-escalator::before { - content: "\F1FF"; -} -.mdi-eslint::before { - content: "\FC56"; -} -.mdi-et::before { - content: "\FAB2"; -} -.mdi-ethereum::before { - content: "\F869"; -} -.mdi-ethernet::before { - content: "\F200"; -} -.mdi-ethernet-cable::before { - content: "\F201"; -} -.mdi-ethernet-cable-off::before { - content: "\F202"; -} -.mdi-etsy::before { - content: "\F203"; -} -.mdi-ev-station::before { - content: "\F5F1"; -} -.mdi-eventbrite::before { - content: "\F7C6"; -} -.mdi-evernote::before { - content: "\F204"; -} -.mdi-exclamation::before { - content: "\F205"; -} -.mdi-exit-run::before { - content: "\FA47"; -} -.mdi-exit-to-app::before { - content: "\F206"; -} -.mdi-expand-all::before { - content: "\FAB3"; -} -.mdi-expand-all-outline::before { - content: "\FAB4"; -} -.mdi-exponent::before { - content: "\F962"; -} -.mdi-exponent-box::before { - content: "\F963"; -} -.mdi-export::before { - content: "\F207"; -} -.mdi-export-variant::before { - content: "\FB6F"; -} -.mdi-eye::before { - content: "\F208"; -} -.mdi-eye-check::before { - content: "\FCE0"; -} -.mdi-eye-check-outline::before { - content: "\FCE1"; -} -.mdi-eye-circle::before { - content: "\FB70"; -} -.mdi-eye-circle-outline::before { - content: "\FB71"; -} -.mdi-eye-off::before { - content: "\F209"; -} -.mdi-eye-off-outline::before { - content: "\F6D0"; -} -.mdi-eye-outline::before { - content: "\F6CF"; -} -.mdi-eye-plus::before { - content: "\F86A"; -} -.mdi-eye-plus-outline::before { - content: "\F86B"; -} -.mdi-eye-settings::before { - content: "\F86C"; -} -.mdi-eye-settings-outline::before { - content: "\F86D"; -} -.mdi-eyedropper::before { - content: "\F20A"; -} -.mdi-eyedropper-variant::before { - content: "\F20B"; -} -.mdi-face::before { - content: "\F643"; -} -.mdi-face-agent::before { - content: "\FD4C"; -} -.mdi-face-outline::before { - content: "\FB72"; -} -.mdi-face-profile::before { - content: "\F644"; -} -.mdi-face-recognition::before { - content: "\FC57"; -} -.mdi-facebook::before { - content: "\F20C"; -} -.mdi-facebook-box::before { - content: "\F20D"; -} -.mdi-facebook-messenger::before { - content: "\F20E"; -} -.mdi-facebook-workplace::before { - content: "\FB16"; -} -.mdi-factory::before { - content: "\F20F"; -} -.mdi-fan::before { - content: "\F210"; -} -.mdi-fan-off::before { - content: "\F81C"; -} -.mdi-fast-forward::before { - content: "\F211"; -} -.mdi-fast-forward-10::before { - content: "\FD4D"; -} -.mdi-fast-forward-30::before { - content: "\FCE2"; -} -.mdi-fast-forward-outline::before { - content: "\F6D1"; -} -.mdi-fax::before { - content: "\F212"; -} -.mdi-feather::before { - content: "\F6D2"; -} -.mdi-feature-search::before { - content: "\FA48"; -} -.mdi-feature-search-outline::before { - content: "\FA49"; -} -.mdi-fedora::before { - content: "\F8DA"; -} -.mdi-ferris-wheel::before { - content: "\FEC1"; -} -.mdi-ferry::before { - content: "\F213"; -} -.mdi-file::before { - content: "\F214"; -} -.mdi-file-account::before { - content: "\F73A"; -} -.mdi-file-alert::before { - content: "\FA4A"; -} -.mdi-file-alert-outline::before { - content: "\FA4B"; -} -.mdi-file-cabinet::before { - content: "\FAB5"; -} -.mdi-file-cad::before { - content: "\FF08"; -} -.mdi-file-cad-box::before { - content: "\FF09"; -} -.mdi-file-cancel::before { - content: "\FDA2"; -} -.mdi-file-cancel-outline::before { - content: "\FDA3"; -} -.mdi-file-chart::before { - content: "\F215"; -} -.mdi-file-check::before { - content: "\F216"; -} -.mdi-file-check-outline::before { - content: "\FE7B"; -} -.mdi-file-cloud::before { - content: "\F217"; -} -.mdi-file-compare::before { - content: "\F8A9"; -} -.mdi-file-delimited::before { - content: "\F218"; -} -.mdi-file-delimited-outline::before { - content: "\FEC2"; -} -.mdi-file-document::before { - content: "\F219"; -} -.mdi-file-document-box::before { - content: "\F21A"; -} -.mdi-file-document-box-check::before { - content: "\FEC3"; -} -.mdi-file-document-box-check-outline::before { - content: "\FEC4"; -} -.mdi-file-document-box-minus::before { - content: "\FEC5"; -} -.mdi-file-document-box-minus-outline::before { - content: "\FEC6"; -} -.mdi-file-document-box-multiple::before { - content: "\FAB6"; -} -.mdi-file-document-box-multiple-outline::before { - content: "\FAB7"; -} -.mdi-file-document-box-outline::before { - content: "\F9EC"; -} -.mdi-file-document-box-plus::before { - content: "\FEC7"; -} -.mdi-file-document-box-plus-outline::before { - content: "\FEC8"; -} -.mdi-file-document-box-remove::before { - content: "\FEC9"; -} -.mdi-file-document-box-remove-outline::before { - content: "\FECA"; -} -.mdi-file-document-box-search::before { - content: "\FECB"; -} -.mdi-file-document-box-search-outline::before { - content: "\FECC"; -} -.mdi-file-document-edit::before { - content: "\FDA4"; -} -.mdi-file-document-edit-outline::before { - content: "\FDA5"; -} -.mdi-file-document-outline::before { - content: "\F9ED"; -} -.mdi-file-download::before { - content: "\F964"; -} -.mdi-file-download-outline::before { - content: "\F965"; -} -.mdi-file-excel::before { - content: "\F21B"; -} -.mdi-file-excel-box::before { - content: "\F21C"; -} -.mdi-file-export::before { - content: "\F21D"; -} -.mdi-file-eye::before { - content: "\FDA6"; -} -.mdi-file-eye-outline::before { - content: "\FDA7"; -} -.mdi-file-find::before { - content: "\F21E"; -} -.mdi-file-find-outline::before { - content: "\FB73"; -} -.mdi-file-hidden::before { - content: "\F613"; -} -.mdi-file-image::before { - content: "\F21F"; -} -.mdi-file-image-outline::before { - content: "\FECD"; -} -.mdi-file-import::before { - content: "\F220"; -} -.mdi-file-lock::before { - content: "\F221"; -} -.mdi-file-move::before { - content: "\FAB8"; -} -.mdi-file-multiple::before { - content: "\F222"; -} -.mdi-file-music::before { - content: "\F223"; -} -.mdi-file-music-outline::before { - content: "\FE7C"; -} -.mdi-file-outline::before { - content: "\F224"; -} -.mdi-file-pdf::before { - content: "\F225"; -} -.mdi-file-pdf-box::before { - content: "\F226"; -} -.mdi-file-pdf-outline::before { - content: "\FE7D"; -} -.mdi-file-percent::before { - content: "\F81D"; -} -.mdi-file-plus::before { - content: "\F751"; -} -.mdi-file-plus-outline::before { - content: "\FF0A"; -} -.mdi-file-powerpoint::before { - content: "\F227"; -} -.mdi-file-powerpoint-box::before { - content: "\F228"; -} -.mdi-file-presentation-box::before { - content: "\F229"; -} -.mdi-file-question::before { - content: "\F86E"; -} -.mdi-file-remove::before { - content: "\FB74"; -} -.mdi-file-replace::before { - content: "\FB17"; -} -.mdi-file-replace-outline::before { - content: "\FB18"; -} -.mdi-file-restore::before { - content: "\F670"; -} -.mdi-file-search::before { - content: "\FC58"; -} -.mdi-file-search-outline::before { - content: "\FC59"; -} -.mdi-file-send::before { - content: "\F22A"; -} -.mdi-file-table::before { - content: "\FC5A"; -} -.mdi-file-table-outline::before { - content: "\FC5B"; -} -.mdi-file-tree::before { - content: "\F645"; -} -.mdi-file-undo::before { - content: "\F8DB"; -} -.mdi-file-upload::before { - content: "\FA4C"; -} -.mdi-file-upload-outline::before { - content: "\FA4D"; -} -.mdi-file-video::before { - content: "\F22B"; -} -.mdi-file-video-outline::before { - content: "\FE10"; -} -.mdi-file-word::before { - content: "\F22C"; -} -.mdi-file-word-box::before { - content: "\F22D"; -} -.mdi-file-xml::before { - content: "\F22E"; -} -.mdi-film::before { - content: "\F22F"; -} -.mdi-filmstrip::before { - content: "\F230"; -} -.mdi-filmstrip-off::before { - content: "\F231"; -} -.mdi-filter::before { - content: "\F232"; -} -.mdi-filter-minus::before { - content: "\FF0B"; -} -.mdi-filter-minus-outline::before { - content: "\FF0C"; -} -.mdi-filter-outline::before { - content: "\F233"; -} -.mdi-filter-plus::before { - content: "\FF0D"; -} -.mdi-filter-plus-outline::before { - content: "\FF0E"; -} -.mdi-filter-remove::before { - content: "\F234"; -} -.mdi-filter-remove-outline::before { - content: "\F235"; -} -.mdi-filter-variant::before { - content: "\F236"; -} -.mdi-finance::before { - content: "\F81E"; -} -.mdi-find-replace::before { - content: "\F6D3"; -} -.mdi-fingerprint::before { - content: "\F237"; -} -.mdi-fingerprint-off::before { - content: "\FECE"; -} -.mdi-fire::before { - content: "\F238"; -} -.mdi-fire-extinguisher::before { - content: "\FF0F"; -} -.mdi-fire-truck::before { - content: "\F8AA"; -} -.mdi-firebase::before { - content: "\F966"; -} -.mdi-firefox::before { - content: "\F239"; -} -.mdi-fireplace::before { - content: "\FE11"; -} -.mdi-fireplace-off::before { - content: "\FE12"; -} -.mdi-firework::before { - content: "\FE13"; -} -.mdi-fish::before { - content: "\F23A"; -} -.mdi-fishbowl::before { - content: "\FF10"; -} -.mdi-fishbowl-outline::before { - content: "\FF11"; -} -.mdi-fit-to-page::before { - content: "\FF12"; -} -.mdi-fit-to-page-outline::before { - content: "\FF13"; -} -.mdi-flag::before { - content: "\F23B"; -} -.mdi-flag-checkered::before { - content: "\F23C"; -} -.mdi-flag-minus::before { - content: "\FB75"; -} -.mdi-flag-outline::before { - content: "\F23D"; -} -.mdi-flag-plus::before { - content: "\FB76"; -} -.mdi-flag-remove::before { - content: "\FB77"; -} -.mdi-flag-triangle::before { - content: "\F23F"; -} -.mdi-flag-variant::before { - content: "\F240"; -} -.mdi-flag-variant-outline::before { - content: "\F23E"; -} -.mdi-flare::before { - content: "\FD4E"; -} -.mdi-flash::before { - content: "\F241"; -} -.mdi-flash-alert::before { - content: "\FF14"; -} -.mdi-flash-alert-outline::before { - content: "\FF15"; -} -.mdi-flash-auto::before { - content: "\F242"; -} -.mdi-flash-circle::before { - content: "\F81F"; -} -.mdi-flash-off::before { - content: "\F243"; -} -.mdi-flash-outline::before { - content: "\F6D4"; -} -.mdi-flash-red-eye::before { - content: "\F67A"; -} -.mdi-flashlight::before { - content: "\F244"; -} -.mdi-flashlight-off::before { - content: "\F245"; -} -.mdi-flask::before { - content: "\F093"; -} -.mdi-flask-empty::before { - content: "\F094"; -} -.mdi-flask-empty-outline::before { - content: "\F095"; -} -.mdi-flask-outline::before { - content: "\F096"; -} -.mdi-flattr::before { - content: "\F246"; -} -.mdi-flickr::before { - content: "\FCE3"; -} -.mdi-flip-to-back::before { - content: "\F247"; -} -.mdi-flip-to-front::before { - content: "\F248"; -} -.mdi-floor-lamp::before { - content: "\F8DC"; -} -.mdi-floor-plan::before { - content: "\F820"; -} -.mdi-floppy::before { - content: "\F249"; -} -.mdi-floppy-variant::before { - content: "\F9EE"; -} -.mdi-flower::before { - content: "\F24A"; -} -.mdi-flower-outline::before { - content: "\F9EF"; -} -.mdi-flower-poppy::before { - content: "\FCE4"; -} -.mdi-flower-tulip::before { - content: "\F9F0"; -} -.mdi-flower-tulip-outline::before { - content: "\F9F1"; -} -.mdi-focus-auto::before { - content: "\FF6B"; -} -.mdi-focus-field::before { - content: "\FF6C"; -} -.mdi-focus-field-horizontal::before { - content: "\FF6D"; -} -.mdi-focus-field-vertical::before { - content: "\FF6E"; -} -.mdi-folder::before { - content: "\F24B"; -} -.mdi-folder-account::before { - content: "\F24C"; -} -.mdi-folder-account-outline::before { - content: "\FB78"; -} -.mdi-folder-alert::before { - content: "\FDA8"; -} -.mdi-folder-alert-outline::before { - content: "\FDA9"; -} -.mdi-folder-clock::before { - content: "\FAB9"; -} -.mdi-folder-clock-outline::before { - content: "\FABA"; -} -.mdi-folder-download::before { - content: "\F24D"; -} -.mdi-folder-edit::before { - content: "\F8DD"; -} -.mdi-folder-edit-outline::before { - content: "\FDAA"; -} -.mdi-folder-google-drive::before { - content: "\F24E"; -} -.mdi-folder-image::before { - content: "\F24F"; -} -.mdi-folder-key::before { - content: "\F8AB"; -} -.mdi-folder-key-network::before { - content: "\F8AC"; -} -.mdi-folder-key-network-outline::before { - content: "\FC5C"; -} -.mdi-folder-lock::before { - content: "\F250"; -} -.mdi-folder-lock-open::before { - content: "\F251"; -} -.mdi-folder-move::before { - content: "\F252"; -} -.mdi-folder-multiple::before { - content: "\F253"; -} -.mdi-folder-multiple-image::before { - content: "\F254"; -} -.mdi-folder-multiple-outline::before { - content: "\F255"; -} -.mdi-folder-network::before { - content: "\F86F"; -} -.mdi-folder-network-outline::before { - content: "\FC5D"; -} -.mdi-folder-open::before { - content: "\F76F"; -} -.mdi-folder-open-outline::before { - content: "\FDAB"; -} -.mdi-folder-outline::before { - content: "\F256"; -} -.mdi-folder-plus::before { - content: "\F257"; -} -.mdi-folder-plus-outline::before { - content: "\FB79"; -} -.mdi-folder-pound::before { - content: "\FCE5"; -} -.mdi-folder-pound-outline::before { - content: "\FCE6"; -} -.mdi-folder-remove::before { - content: "\F258"; -} -.mdi-folder-remove-outline::before { - content: "\FB7A"; -} -.mdi-folder-search::before { - content: "\F967"; -} -.mdi-folder-search-outline::before { - content: "\F968"; -} -.mdi-folder-star::before { - content: "\F69C"; -} -.mdi-folder-star-outline::before { - content: "\FB7B"; -} -.mdi-folder-sync::before { - content: "\FCE7"; -} -.mdi-folder-sync-outline::before { - content: "\FCE8"; -} -.mdi-folder-text::before { - content: "\FC5E"; -} -.mdi-folder-text-outline::before { - content: "\FC5F"; -} -.mdi-folder-upload::before { - content: "\F259"; -} -.mdi-font-awesome::before { - content: "\F03A"; -} -.mdi-food::before { - content: "\F25A"; -} -.mdi-food-apple::before { - content: "\F25B"; -} -.mdi-food-apple-outline::before { - content: "\FC60"; -} -.mdi-food-croissant::before { - content: "\F7C7"; -} -.mdi-food-fork-drink::before { - content: "\F5F2"; -} -.mdi-food-off::before { - content: "\F5F3"; -} -.mdi-food-variant::before { - content: "\F25C"; -} -.mdi-foot-print::before { - content: "\FF6F"; -} -.mdi-football::before { - content: "\F25D"; -} -.mdi-football-australian::before { - content: "\F25E"; -} -.mdi-football-helmet::before { - content: "\F25F"; -} -.mdi-forklift::before { - content: "\F7C8"; -} -.mdi-format-align-bottom::before { - content: "\F752"; -} -.mdi-format-align-center::before { - content: "\F260"; -} -.mdi-format-align-justify::before { - content: "\F261"; -} -.mdi-format-align-left::before { - content: "\F262"; -} -.mdi-format-align-middle::before { - content: "\F753"; -} -.mdi-format-align-right::before { - content: "\F263"; -} -.mdi-format-align-top::before { - content: "\F754"; -} -.mdi-format-annotation-minus::before { - content: "\FABB"; -} -.mdi-format-annotation-plus::before { - content: "\F646"; -} -.mdi-format-bold::before { - content: "\F264"; -} -.mdi-format-clear::before { - content: "\F265"; -} -.mdi-format-color-fill::before { - content: "\F266"; -} -.mdi-format-color-highlight::before { - content: "\FE14"; -} -.mdi-format-color-text::before { - content: "\F69D"; -} -.mdi-format-columns::before { - content: "\F8DE"; -} -.mdi-format-float-center::before { - content: "\F267"; -} -.mdi-format-float-left::before { - content: "\F268"; -} -.mdi-format-float-none::before { - content: "\F269"; -} -.mdi-format-float-right::before { - content: "\F26A"; -} -.mdi-format-font::before { - content: "\F6D5"; -} -.mdi-format-font-size-decrease::before { - content: "\F9F2"; -} -.mdi-format-font-size-increase::before { - content: "\F9F3"; -} -.mdi-format-header-1::before { - content: "\F26B"; -} -.mdi-format-header-2::before { - content: "\F26C"; -} -.mdi-format-header-3::before { - content: "\F26D"; -} -.mdi-format-header-4::before { - content: "\F26E"; -} -.mdi-format-header-5::before { - content: "\F26F"; -} -.mdi-format-header-6::before { - content: "\F270"; -} -.mdi-format-header-decrease::before { - content: "\F271"; -} -.mdi-format-header-equal::before { - content: "\F272"; -} -.mdi-format-header-increase::before { - content: "\F273"; -} -.mdi-format-header-pound::before { - content: "\F274"; -} -.mdi-format-horizontal-align-center::before { - content: "\F61E"; -} -.mdi-format-horizontal-align-left::before { - content: "\F61F"; -} -.mdi-format-horizontal-align-right::before { - content: "\F620"; -} -.mdi-format-indent-decrease::before { - content: "\F275"; -} -.mdi-format-indent-increase::before { - content: "\F276"; -} -.mdi-format-italic::before { - content: "\F277"; -} -.mdi-format-letter-case::before { - content: "\FB19"; -} -.mdi-format-letter-case-lower::before { - content: "\FB1A"; -} -.mdi-format-letter-case-upper::before { - content: "\FB1B"; -} -.mdi-format-line-spacing::before { - content: "\F278"; -} -.mdi-format-line-style::before { - content: "\F5C8"; -} -.mdi-format-line-weight::before { - content: "\F5C9"; -} -.mdi-format-list-bulleted::before { - content: "\F279"; -} -.mdi-format-list-bulleted-square::before { - content: "\FDAC"; -} -.mdi-format-list-bulleted-type::before { - content: "\F27A"; -} -.mdi-format-list-checkbox::before { - content: "\F969"; -} -.mdi-format-list-checks::before { - content: "\F755"; -} -.mdi-format-list-numbered::before { - content: "\F27B"; -} -.mdi-format-list-numbered-rtl::before { - content: "\FCE9"; -} -.mdi-format-list-triangle::before { - content: "\FECF"; -} -.mdi-format-overline::before { - content: "\FED0"; -} -.mdi-format-page-break::before { - content: "\F6D6"; -} -.mdi-format-paint::before { - content: "\F27C"; -} -.mdi-format-paragraph::before { - content: "\F27D"; -} -.mdi-format-pilcrow::before { - content: "\F6D7"; -} -.mdi-format-quote-close::before { - content: "\F27E"; -} -.mdi-format-quote-open::before { - content: "\F756"; -} -.mdi-format-rotate-90::before { - content: "\F6A9"; -} -.mdi-format-section::before { - content: "\F69E"; -} -.mdi-format-size::before { - content: "\F27F"; -} -.mdi-format-strikethrough::before { - content: "\F280"; -} -.mdi-format-strikethrough-variant::before { - content: "\F281"; -} -.mdi-format-subscript::before { - content: "\F282"; -} -.mdi-format-superscript::before { - content: "\F283"; -} -.mdi-format-text::before { - content: "\F284"; -} -.mdi-format-text-rotation-down::before { - content: "\FD4F"; -} -.mdi-format-text-rotation-none::before { - content: "\FD50"; -} -.mdi-format-text-variant::before { - content: "\FE15"; -} -.mdi-format-text-wrapping-clip::before { - content: "\FCEA"; -} -.mdi-format-text-wrapping-overflow::before { - content: "\FCEB"; -} -.mdi-format-text-wrapping-wrap::before { - content: "\FCEC"; -} -.mdi-format-textbox::before { - content: "\FCED"; -} -.mdi-format-textdirection-l-to-r::before { - content: "\F285"; -} -.mdi-format-textdirection-r-to-l::before { - content: "\F286"; -} -.mdi-format-title::before { - content: "\F5F4"; -} -.mdi-format-underline::before { - content: "\F287"; -} -.mdi-format-vertical-align-bottom::before { - content: "\F621"; -} -.mdi-format-vertical-align-center::before { - content: "\F622"; -} -.mdi-format-vertical-align-top::before { - content: "\F623"; -} -.mdi-format-wrap-inline::before { - content: "\F288"; -} -.mdi-format-wrap-square::before { - content: "\F289"; -} -.mdi-format-wrap-tight::before { - content: "\F28A"; -} -.mdi-format-wrap-top-bottom::before { - content: "\F28B"; -} -.mdi-forum::before { - content: "\F28C"; -} -.mdi-forum-outline::before { - content: "\F821"; -} -.mdi-forward::before { - content: "\F28D"; -} -.mdi-forwardburger::before { - content: "\FD51"; -} -.mdi-fountain::before { - content: "\F96A"; -} -.mdi-fountain-pen::before { - content: "\FCEE"; -} -.mdi-fountain-pen-tip::before { - content: "\FCEF"; -} -.mdi-foursquare::before { - content: "\F28E"; -} -.mdi-freebsd::before { - content: "\F8DF"; -} -.mdi-frequently-asked-questions::before { - content: "\FED1"; -} -.mdi-fridge::before { - content: "\F290"; -} -.mdi-fridge-bottom::before { - content: "\F292"; -} -.mdi-fridge-outline::before { - content: "\F28F"; -} -.mdi-fridge-top::before { - content: "\F291"; -} -.mdi-fuel::before { - content: "\F7C9"; -} -.mdi-fullscreen::before { - content: "\F293"; -} -.mdi-fullscreen-exit::before { - content: "\F294"; -} -.mdi-function::before { - content: "\F295"; -} -.mdi-function-variant::before { - content: "\F870"; -} -.mdi-fuse::before { - content: "\FC61"; -} -.mdi-fuse-blade::before { - content: "\FC62"; -} -.mdi-gamepad::before { - content: "\F296"; -} -.mdi-gamepad-circle::before { - content: "\FE16"; -} -.mdi-gamepad-circle-down::before { - content: "\FE17"; -} -.mdi-gamepad-circle-left::before { - content: "\FE18"; -} -.mdi-gamepad-circle-outline::before { - content: "\FE19"; -} -.mdi-gamepad-circle-right::before { - content: "\FE1A"; -} -.mdi-gamepad-circle-up::before { - content: "\FE1B"; -} -.mdi-gamepad-down::before { - content: "\FE1C"; -} -.mdi-gamepad-left::before { - content: "\FE1D"; -} -.mdi-gamepad-right::before { - content: "\FE1E"; -} -.mdi-gamepad-round::before { - content: "\FE1F"; -} -.mdi-gamepad-round-down::before { - content: "\FE7E"; -} -.mdi-gamepad-round-left::before { - content: "\FE7F"; -} -.mdi-gamepad-round-outline::before { - content: "\FE80"; -} -.mdi-gamepad-round-right::before { - content: "\FE81"; -} -.mdi-gamepad-round-up::before { - content: "\FE82"; -} -.mdi-gamepad-square::before { - content: "\FED2"; -} -.mdi-gamepad-square-outline::before { - content: "\FED3"; -} -.mdi-gamepad-up::before { - content: "\FE83"; -} -.mdi-gamepad-variant::before { - content: "\F297"; -} -.mdi-gamepad-variant-outline::before { - content: "\FED4"; -} -.mdi-gantry-crane::before { - content: "\FDAD"; -} -.mdi-garage::before { - content: "\F6D8"; -} -.mdi-garage-alert::before { - content: "\F871"; -} -.mdi-garage-open::before { - content: "\F6D9"; -} -.mdi-gas-cylinder::before { - content: "\F647"; -} -.mdi-gas-station::before { - content: "\F298"; -} -.mdi-gas-station-outline::before { - content: "\FED5"; -} -.mdi-gate::before { - content: "\F299"; -} -.mdi-gate-and::before { - content: "\F8E0"; -} -.mdi-gate-nand::before { - content: "\F8E1"; -} -.mdi-gate-nor::before { - content: "\F8E2"; -} -.mdi-gate-not::before { - content: "\F8E3"; -} -.mdi-gate-or::before { - content: "\F8E4"; -} -.mdi-gate-xnor::before { - content: "\F8E5"; -} -.mdi-gate-xor::before { - content: "\F8E6"; -} -.mdi-gatsby::before { - content: "\FE84"; -} -.mdi-gauge::before { - content: "\F29A"; -} -.mdi-gauge-empty::before { - content: "\F872"; -} -.mdi-gauge-full::before { - content: "\F873"; -} -.mdi-gauge-low::before { - content: "\F874"; -} -.mdi-gavel::before { - content: "\F29B"; -} -.mdi-gender-female::before { - content: "\F29C"; -} -.mdi-gender-male::before { - content: "\F29D"; -} -.mdi-gender-male-female::before { - content: "\F29E"; -} -.mdi-gender-transgender::before { - content: "\F29F"; -} -.mdi-gentoo::before { - content: "\F8E7"; -} -.mdi-gesture::before { - content: "\F7CA"; -} -.mdi-gesture-double-tap::before { - content: "\F73B"; -} -.mdi-gesture-pinch::before { - content: "\FABC"; -} -.mdi-gesture-spread::before { - content: "\FABD"; -} -.mdi-gesture-swipe::before { - content: "\FD52"; -} -.mdi-gesture-swipe-down::before { - content: "\F73C"; -} -.mdi-gesture-swipe-horizontal::before { - content: "\FABE"; -} -.mdi-gesture-swipe-left::before { - content: "\F73D"; -} -.mdi-gesture-swipe-right::before { - content: "\F73E"; -} -.mdi-gesture-swipe-up::before { - content: "\F73F"; -} -.mdi-gesture-swipe-vertical::before { - content: "\FABF"; -} -.mdi-gesture-tap::before { - content: "\F740"; -} -.mdi-gesture-tap-hold::before { - content: "\FD53"; -} -.mdi-gesture-two-double-tap::before { - content: "\F741"; -} -.mdi-gesture-two-tap::before { - content: "\F742"; -} -.mdi-ghost::before { - content: "\F2A0"; -} -.mdi-ghost-off::before { - content: "\F9F4"; -} -.mdi-gif::before { - content: "\FD54"; -} -.mdi-gift::before { - content: "\FE85"; -} -.mdi-gift-outline::before { - content: "\F2A1"; -} -.mdi-git::before { - content: "\F2A2"; -} -.mdi-github-box::before { - content: "\F2A3"; -} -.mdi-github-circle::before { - content: "\F2A4"; -} -.mdi-github-face::before { - content: "\F6DA"; -} -.mdi-gitlab::before { - content: "\FB7C"; -} -.mdi-glass-cocktail::before { - content: "\F356"; -} -.mdi-glass-flute::before { - content: "\F2A5"; -} -.mdi-glass-mug::before { - content: "\F2A6"; -} -.mdi-glass-stange::before { - content: "\F2A7"; -} -.mdi-glass-tulip::before { - content: "\F2A8"; -} -.mdi-glass-wine::before { - content: "\F875"; -} -.mdi-glassdoor::before { - content: "\F2A9"; -} -.mdi-glasses::before { - content: "\F2AA"; -} -.mdi-globe-model::before { - content: "\F8E8"; -} -.mdi-gmail::before { - content: "\F2AB"; -} -.mdi-gnome::before { - content: "\F2AC"; -} -.mdi-go-kart::before { - content: "\FD55"; -} -.mdi-go-kart-track::before { - content: "\FD56"; -} -.mdi-gog::before { - content: "\FB7D"; -} -.mdi-golf::before { - content: "\F822"; -} -.mdi-gondola::before { - content: "\F685"; -} -.mdi-goodreads::before { - content: "\FD57"; -} -.mdi-google::before { - content: "\F2AD"; -} -.mdi-google-adwords::before { - content: "\FC63"; -} -.mdi-google-allo::before { - content: "\F801"; -} -.mdi-google-analytics::before { - content: "\F7CB"; -} -.mdi-google-assistant::before { - content: "\F7CC"; -} -.mdi-google-cardboard::before { - content: "\F2AE"; -} -.mdi-google-chrome::before { - content: "\F2AF"; -} -.mdi-google-circles::before { - content: "\F2B0"; -} -.mdi-google-circles-communities::before { - content: "\F2B1"; -} -.mdi-google-circles-extended::before { - content: "\F2B2"; -} -.mdi-google-circles-group::before { - content: "\F2B3"; -} -.mdi-google-classroom::before { - content: "\F2C0"; -} -.mdi-google-controller::before { - content: "\F2B4"; -} -.mdi-google-controller-off::before { - content: "\F2B5"; -} -.mdi-google-drive::before { - content: "\F2B6"; -} -.mdi-google-earth::before { - content: "\F2B7"; -} -.mdi-google-fit::before { - content: "\F96B"; -} -.mdi-google-glass::before { - content: "\F2B8"; -} -.mdi-google-hangouts::before { - content: "\F2C9"; -} -.mdi-google-home::before { - content: "\F823"; -} -.mdi-google-keep::before { - content: "\F6DB"; -} -.mdi-google-lens::before { - content: "\F9F5"; -} -.mdi-google-maps::before { - content: "\F5F5"; -} -.mdi-google-nearby::before { - content: "\F2B9"; -} -.mdi-google-pages::before { - content: "\F2BA"; -} -.mdi-google-photos::before { - content: "\F6DC"; -} -.mdi-google-physical-web::before { - content: "\F2BB"; -} -.mdi-google-play::before { - content: "\F2BC"; -} -.mdi-google-plus::before { - content: "\F2BD"; -} -.mdi-google-plus-box::before { - content: "\F2BE"; -} -.mdi-google-podcast::before { - content: "\FED6"; -} -.mdi-google-spreadsheet::before { - content: "\F9F6"; -} -.mdi-google-street-view::before { - content: "\FC64"; -} -.mdi-google-translate::before { - content: "\F2BF"; -} -.mdi-gpu::before { - content: "\F8AD"; -} -.mdi-gradient::before { - content: "\F69F"; -} -.mdi-grain::before { - content: "\FD58"; -} -.mdi-graphql::before { - content: "\F876"; -} -.mdi-grave-stone::before { - content: "\FB7E"; -} -.mdi-grease-pencil::before { - content: "\F648"; -} -.mdi-greater-than::before { - content: "\F96C"; -} -.mdi-greater-than-or-equal::before { - content: "\F96D"; -} -.mdi-grid::before { - content: "\F2C1"; -} -.mdi-grid-large::before { - content: "\F757"; -} -.mdi-grid-off::before { - content: "\F2C2"; -} -.mdi-grill::before { - content: "\FE86"; -} -.mdi-group::before { - content: "\F2C3"; -} -.mdi-guitar-acoustic::before { - content: "\F770"; -} -.mdi-guitar-electric::before { - content: "\F2C4"; -} -.mdi-guitar-pick::before { - content: "\F2C5"; -} -.mdi-guitar-pick-outline::before { - content: "\F2C6"; -} -.mdi-guy-fawkes-mask::before { - content: "\F824"; -} -.mdi-hackernews::before { - content: "\F624"; -} -.mdi-hail::before { - content: "\FAC0"; -} -.mdi-halloween::before { - content: "\FB7F"; -} -.mdi-hamburger::before { - content: "\F684"; -} -.mdi-hammer::before { - content: "\F8E9"; -} -.mdi-hand::before { - content: "\FA4E"; -} -.mdi-hand-left::before { - content: "\FE87"; -} -.mdi-hand-okay::before { - content: "\FA4F"; -} -.mdi-hand-peace::before { - content: "\FA50"; -} -.mdi-hand-peace-variant::before { - content: "\FA51"; -} -.mdi-hand-pointing-down::before { - content: "\FA52"; -} -.mdi-hand-pointing-left::before { - content: "\FA53"; -} -.mdi-hand-pointing-right::before { - content: "\F2C7"; -} -.mdi-hand-pointing-up::before { - content: "\FA54"; -} -.mdi-hand-right::before { - content: "\FE88"; -} -.mdi-hand-saw::before { - content: "\FE89"; -} -.mdi-handball::before { - content: "\FF70"; -} -.mdi-hanger::before { - content: "\F2C8"; -} -.mdi-hard-hat::before { - content: "\F96E"; -} -.mdi-harddisk::before { - content: "\F2CA"; -} -.mdi-hat-fedora::before { - content: "\FB80"; -} -.mdi-hazard-lights::before { - content: "\FC65"; -} -.mdi-hdr::before { - content: "\FD59"; -} -.mdi-hdr-off::before { - content: "\FD5A"; -} -.mdi-headphones::before { - content: "\F2CB"; -} -.mdi-headphones-bluetooth::before { - content: "\F96F"; -} -.mdi-headphones-box::before { - content: "\F2CC"; -} -.mdi-headphones-off::before { - content: "\F7CD"; -} -.mdi-headphones-settings::before { - content: "\F2CD"; -} -.mdi-headset::before { - content: "\F2CE"; -} -.mdi-headset-dock::before { - content: "\F2CF"; -} -.mdi-headset-off::before { - content: "\F2D0"; -} -.mdi-heart::before { - content: "\F2D1"; -} -.mdi-heart-box::before { - content: "\F2D2"; -} -.mdi-heart-box-outline::before { - content: "\F2D3"; -} -.mdi-heart-broken::before { - content: "\F2D4"; -} -.mdi-heart-broken-outline::before { - content: "\FCF0"; -} -.mdi-heart-circle::before { - content: "\F970"; -} -.mdi-heart-circle-outline::before { - content: "\F971"; -} -.mdi-heart-flash::before { - content: "\FF16"; -} -.mdi-heart-half::before { - content: "\F6DE"; -} -.mdi-heart-half-full::before { - content: "\F6DD"; -} -.mdi-heart-half-outline::before { - content: "\F6DF"; -} -.mdi-heart-multiple::before { - content: "\FA55"; -} -.mdi-heart-multiple-outline::before { - content: "\FA56"; -} -.mdi-heart-off::before { - content: "\F758"; -} -.mdi-heart-outline::before { - content: "\F2D5"; -} -.mdi-heart-pulse::before { - content: "\F5F6"; -} -.mdi-helicopter::before { - content: "\FAC1"; -} -.mdi-help::before { - content: "\F2D6"; -} -.mdi-help-box::before { - content: "\F78A"; -} -.mdi-help-circle::before { - content: "\F2D7"; -} -.mdi-help-circle-outline::before { - content: "\F625"; -} -.mdi-help-network::before { - content: "\F6F4"; -} -.mdi-help-network-outline::before { - content: "\FC66"; -} -.mdi-help-rhombus::before { - content: "\FB81"; -} -.mdi-help-rhombus-outline::before { - content: "\FB82"; -} -.mdi-hexagon::before { - content: "\F2D8"; -} -.mdi-hexagon-multiple::before { - content: "\F6E0"; -} -.mdi-hexagon-outline::before { - content: "\F2D9"; -} -.mdi-hexagon-slice-1::before { - content: "\FAC2"; -} -.mdi-hexagon-slice-2::before { - content: "\FAC3"; -} -.mdi-hexagon-slice-3::before { - content: "\FAC4"; -} -.mdi-hexagon-slice-4::before { - content: "\FAC5"; -} -.mdi-hexagon-slice-5::before { - content: "\FAC6"; -} -.mdi-hexagon-slice-6::before { - content: "\FAC7"; -} -.mdi-hexagram::before { - content: "\FAC8"; -} -.mdi-hexagram-outline::before { - content: "\FAC9"; -} -.mdi-high-definition::before { - content: "\F7CE"; -} -.mdi-high-definition-box::before { - content: "\F877"; -} -.mdi-highway::before { - content: "\F5F7"; -} -.mdi-hiking::before { - content: "\FD5B"; -} -.mdi-hinduism::before { - content: "\F972"; -} -.mdi-history::before { - content: "\F2DA"; -} -.mdi-hockey-puck::before { - content: "\F878"; -} -.mdi-hockey-sticks::before { - content: "\F879"; -} -.mdi-hololens::before { - content: "\F2DB"; -} -.mdi-home::before { - content: "\F2DC"; -} -.mdi-home-account::before { - content: "\F825"; -} -.mdi-home-alert::before { - content: "\F87A"; -} -.mdi-home-analytics::before { - content: "\FED7"; -} -.mdi-home-assistant::before { - content: "\F7CF"; -} -.mdi-home-automation::before { - content: "\F7D0"; -} -.mdi-home-circle::before { - content: "\F7D1"; -} -.mdi-home-city::before { - content: "\FCF1"; -} -.mdi-home-city-outline::before { - content: "\FCF2"; -} -.mdi-home-currency-usd::before { - content: "\F8AE"; -} -.mdi-home-export-outline::before { - content: "\FFB8"; -} -.mdi-home-flood::before { - content: "\FF17"; -} -.mdi-home-floor-0::before { - content: "\FDAE"; -} -.mdi-home-floor-1::before { - content: "\FD5C"; -} -.mdi-home-floor-2::before { - content: "\FD5D"; -} -.mdi-home-floor-3::before { - content: "\FD5E"; -} -.mdi-home-floor-a::before { - content: "\FD5F"; -} -.mdi-home-floor-b::before { - content: "\FD60"; -} -.mdi-home-floor-g::before { - content: "\FD61"; -} -.mdi-home-floor-l::before { - content: "\FD62"; -} -.mdi-home-floor-negative-1::before { - content: "\FDAF"; -} -.mdi-home-group::before { - content: "\FDB0"; -} -.mdi-home-heart::before { - content: "\F826"; -} -.mdi-home-import-outline::before { - content: "\FFB9"; -} -.mdi-home-lock::before { - content: "\F8EA"; -} -.mdi-home-lock-open::before { - content: "\F8EB"; -} -.mdi-home-map-marker::before { - content: "\F5F8"; -} -.mdi-home-minus::before { - content: "\F973"; -} -.mdi-home-modern::before { - content: "\F2DD"; -} -.mdi-home-outline::before { - content: "\F6A0"; -} -.mdi-home-plus::before { - content: "\F974"; -} -.mdi-home-thermometer::before { - content: "\FF71"; -} -.mdi-home-thermometer-outline::before { - content: "\FF72"; -} -.mdi-home-variant::before { - content: "\F2DE"; -} -.mdi-home-variant-outline::before { - content: "\FB83"; -} -.mdi-hook::before { - content: "\F6E1"; -} -.mdi-hook-off::before { - content: "\F6E2"; -} -.mdi-hops::before { - content: "\F2DF"; -} -.mdi-horseshoe::before { - content: "\FA57"; -} -.mdi-hospital::before { - content: "\F2E0"; -} -.mdi-hospital-building::before { - content: "\F2E1"; -} -.mdi-hospital-marker::before { - content: "\F2E2"; -} -.mdi-hot-tub::before { - content: "\F827"; -} -.mdi-hotel::before { - content: "\F2E3"; -} -.mdi-houzz::before { - content: "\F2E4"; -} -.mdi-houzz-box::before { - content: "\F2E5"; -} -.mdi-hubspot::before { - content: "\FCF3"; -} -.mdi-hulu::before { - content: "\F828"; -} -.mdi-human::before { - content: "\F2E6"; -} -.mdi-human-child::before { - content: "\F2E7"; -} -.mdi-human-female::before { - content: "\F649"; -} -.mdi-human-female-boy::before { - content: "\FA58"; -} -.mdi-human-female-female::before { - content: "\FA59"; -} -.mdi-human-female-girl::before { - content: "\FA5A"; -} -.mdi-human-greeting::before { - content: "\F64A"; -} -.mdi-human-handsdown::before { - content: "\F64B"; -} -.mdi-human-handsup::before { - content: "\F64C"; -} -.mdi-human-male::before { - content: "\F64D"; -} -.mdi-human-male-boy::before { - content: "\FA5B"; -} -.mdi-human-male-female::before { - content: "\F2E8"; -} -.mdi-human-male-girl::before { - content: "\FA5C"; -} -.mdi-human-male-height::before { - content: "\FF18"; -} -.mdi-human-male-height-variant::before { - content: "\FF19"; -} -.mdi-human-male-male::before { - content: "\FA5D"; -} -.mdi-human-pregnant::before { - content: "\F5CF"; -} -.mdi-humble-bundle::before { - content: "\F743"; -} -.mdi-ice-cream::before { - content: "\F829"; -} -.mdi-ice-pop::before { - content: "\FF1A"; -} -.mdi-identifier::before { - content: "\FF1B"; -} -.mdi-iframe::before { - content: "\FC67"; -} -.mdi-iframe-outline::before { - content: "\FC68"; -} -.mdi-image::before { - content: "\F2E9"; -} -.mdi-image-album::before { - content: "\F2EA"; -} -.mdi-image-area::before { - content: "\F2EB"; -} -.mdi-image-area-close::before { - content: "\F2EC"; -} -.mdi-image-broken::before { - content: "\F2ED"; -} -.mdi-image-broken-variant::before { - content: "\F2EE"; -} -.mdi-image-filter::before { - content: "\F2EF"; -} -.mdi-image-filter-black-white::before { - content: "\F2F0"; -} -.mdi-image-filter-center-focus::before { - content: "\F2F1"; -} -.mdi-image-filter-center-focus-strong::before { - content: "\FF1C"; -} -.mdi-image-filter-center-focus-strong-outline::before { - content: "\FF1D"; -} -.mdi-image-filter-center-focus-weak::before { - content: "\F2F2"; -} -.mdi-image-filter-drama::before { - content: "\F2F3"; -} -.mdi-image-filter-frames::before { - content: "\F2F4"; -} -.mdi-image-filter-hdr::before { - content: "\F2F5"; -} -.mdi-image-filter-none::before { - content: "\F2F6"; -} -.mdi-image-filter-tilt-shift::before { - content: "\F2F7"; -} -.mdi-image-filter-vintage::before { - content: "\F2F8"; -} -.mdi-image-frame::before { - content: "\FE8A"; -} -.mdi-image-move::before { - content: "\F9F7"; -} -.mdi-image-multiple::before { - content: "\F2F9"; -} -.mdi-image-off::before { - content: "\F82A"; -} -.mdi-image-outline::before { - content: "\F975"; -} -.mdi-image-plus::before { - content: "\F87B"; -} -.mdi-image-search::before { - content: "\F976"; -} -.mdi-image-search-outline::before { - content: "\F977"; -} -.mdi-image-size-select-actual::before { - content: "\FC69"; -} -.mdi-image-size-select-large::before { - content: "\FC6A"; -} -.mdi-image-size-select-small::before { - content: "\FC6B"; -} -.mdi-import::before { - content: "\F2FA"; -} -.mdi-inbox::before { - content: "\F686"; -} -.mdi-inbox-arrow-down::before { - content: "\F2FB"; -} -.mdi-inbox-arrow-up::before { - content: "\F3D1"; -} -.mdi-inbox-multiple::before { - content: "\F8AF"; -} -.mdi-inbox-multiple-outline::before { - content: "\FB84"; -} -.mdi-incognito::before { - content: "\F5F9"; -} -.mdi-infinity::before { - content: "\F6E3"; -} -.mdi-information::before { - content: "\F2FC"; -} -.mdi-information-outline::before { - content: "\F2FD"; -} -.mdi-information-variant::before { - content: "\F64E"; -} -.mdi-instagram::before { - content: "\F2FE"; -} -.mdi-instapaper::before { - content: "\F2FF"; -} -.mdi-internet-explorer::before { - content: "\F300"; -} -.mdi-invert-colors::before { - content: "\F301"; -} -.mdi-invert-colors-off::before { - content: "\FE8B"; -} -.mdi-ip::before { - content: "\FA5E"; -} -.mdi-ip-network::before { - content: "\FA5F"; -} -.mdi-ip-network-outline::before { - content: "\FC6C"; -} -.mdi-ipod::before { - content: "\FC6D"; -} -.mdi-islam::before { - content: "\F978"; -} -.mdi-itunes::before { - content: "\F676"; -} -.mdi-jabber::before { - content: "\FDB1"; -} -.mdi-jeepney::before { - content: "\F302"; -} -.mdi-jellyfish::before { - content: "\FF1E"; -} -.mdi-jellyfish-outline::before { - content: "\FF1F"; -} -.mdi-jira::before { - content: "\F303"; -} -.mdi-jquery::before { - content: "\F87C"; -} -.mdi-jsfiddle::before { - content: "\F304"; -} -.mdi-json::before { - content: "\F626"; -} -.mdi-judaism::before { - content: "\F979"; -} -.mdi-kabaddi::before { - content: "\FD63"; -} -.mdi-karate::before { - content: "\F82B"; -} -.mdi-keg::before { - content: "\F305"; -} -.mdi-kettle::before { - content: "\F5FA"; -} -.mdi-kettle-outline::before { - content: "\FF73"; -} -.mdi-key::before { - content: "\F306"; -} -.mdi-key-change::before { - content: "\F307"; -} -.mdi-key-minus::before { - content: "\F308"; -} -.mdi-key-outline::before { - content: "\FDB2"; -} -.mdi-key-plus::before { - content: "\F309"; -} -.mdi-key-remove::before { - content: "\F30A"; -} -.mdi-key-variant::before { - content: "\F30B"; -} -.mdi-keyboard::before { - content: "\F30C"; -} -.mdi-keyboard-backspace::before { - content: "\F30D"; -} -.mdi-keyboard-caps::before { - content: "\F30E"; -} -.mdi-keyboard-close::before { - content: "\F30F"; -} -.mdi-keyboard-off::before { - content: "\F310"; -} -.mdi-keyboard-off-outline::before { - content: "\FE8C"; -} -.mdi-keyboard-outline::before { - content: "\F97A"; -} -.mdi-keyboard-return::before { - content: "\F311"; -} -.mdi-keyboard-settings::before { - content: "\F9F8"; -} -.mdi-keyboard-settings-outline::before { - content: "\F9F9"; -} -.mdi-keyboard-tab::before { - content: "\F312"; -} -.mdi-keyboard-variant::before { - content: "\F313"; -} -.mdi-kickstarter::before { - content: "\F744"; -} -.mdi-knife::before { - content: "\F9FA"; -} -.mdi-knife-military::before { - content: "\F9FB"; -} -.mdi-kodi::before { - content: "\F314"; -} -.mdi-label::before { - content: "\F315"; -} -.mdi-label-off::before { - content: "\FACA"; -} -.mdi-label-off-outline::before { - content: "\FACB"; -} -.mdi-label-outline::before { - content: "\F316"; -} -.mdi-label-variant::before { - content: "\FACC"; -} -.mdi-label-variant-outline::before { - content: "\FACD"; -} -.mdi-ladybug::before { - content: "\F82C"; -} -.mdi-lambda::before { - content: "\F627"; -} -.mdi-lamp::before { - content: "\F6B4"; -} -.mdi-lan::before { - content: "\F317"; -} -.mdi-lan-connect::before { - content: "\F318"; -} -.mdi-lan-disconnect::before { - content: "\F319"; -} -.mdi-lan-pending::before { - content: "\F31A"; -} -.mdi-language-c::before { - content: "\F671"; -} -.mdi-language-cpp::before { - content: "\F672"; -} -.mdi-language-csharp::before { - content: "\F31B"; -} -.mdi-language-css3::before { - content: "\F31C"; -} -.mdi-language-go::before { - content: "\F7D2"; -} -.mdi-language-haskell::before { - content: "\FC6E"; -} -.mdi-language-html5::before { - content: "\F31D"; -} -.mdi-language-java::before { - content: "\FB1C"; -} -.mdi-language-javascript::before { - content: "\F31E"; -} -.mdi-language-lua::before { - content: "\F8B0"; -} -.mdi-language-php::before { - content: "\F31F"; -} -.mdi-language-python::before { - content: "\F320"; -} -.mdi-language-python-text::before { - content: "\F321"; -} -.mdi-language-r::before { - content: "\F7D3"; -} -.mdi-language-ruby-on-rails::before { - content: "\FACE"; -} -.mdi-language-swift::before { - content: "\F6E4"; -} -.mdi-language-typescript::before { - content: "\F6E5"; -} -.mdi-laptop::before { - content: "\F322"; -} -.mdi-laptop-chromebook::before { - content: "\F323"; -} -.mdi-laptop-mac::before { - content: "\F324"; -} -.mdi-laptop-off::before { - content: "\F6E6"; -} -.mdi-laptop-windows::before { - content: "\F325"; -} -.mdi-laravel::before { - content: "\FACF"; -} -.mdi-lasso::before { - content: "\FF20"; -} -.mdi-lastfm::before { - content: "\F326"; -} -.mdi-lastpass::before { - content: "\F446"; -} -.mdi-latitude::before { - content: "\FF74"; -} -.mdi-launch::before { - content: "\F327"; -} -.mdi-lava-lamp::before { - content: "\F7D4"; -} -.mdi-layers::before { - content: "\F328"; -} -.mdi-layers-minus::before { - content: "\FE8D"; -} -.mdi-layers-off::before { - content: "\F329"; -} -.mdi-layers-off-outline::before { - content: "\F9FC"; -} -.mdi-layers-outline::before { - content: "\F9FD"; -} -.mdi-layers-plus::before { - content: "\FE30"; -} -.mdi-layers-remove::before { - content: "\FE31"; -} -.mdi-layers-triple::before { - content: "\FF75"; -} -.mdi-layers-triple-outline::before { - content: "\FF76"; -} -.mdi-lead-pencil::before { - content: "\F64F"; -} -.mdi-leaf::before { - content: "\F32A"; -} -.mdi-leaf-maple::before { - content: "\FC6F"; -} -.mdi-leak::before { - content: "\FDB3"; -} -.mdi-leak-off::before { - content: "\FDB4"; -} -.mdi-led-off::before { - content: "\F32B"; -} -.mdi-led-on::before { - content: "\F32C"; -} -.mdi-led-outline::before { - content: "\F32D"; -} -.mdi-led-strip::before { - content: "\F7D5"; -} -.mdi-led-variant-off::before { - content: "\F32E"; -} -.mdi-led-variant-on::before { - content: "\F32F"; -} -.mdi-led-variant-outline::before { - content: "\F330"; -} -.mdi-less-than::before { - content: "\F97B"; -} -.mdi-less-than-or-equal::before { - content: "\F97C"; -} -.mdi-library::before { - content: "\F331"; -} -.mdi-library-books::before { - content: "\F332"; -} -.mdi-library-movie::before { - content: "\FCF4"; -} -.mdi-library-music::before { - content: "\F333"; -} -.mdi-library-music-outline::before { - content: "\FF21"; -} -.mdi-library-plus::before { - content: "\F334"; -} -.mdi-library-shelves::before { - content: "\FB85"; -} -.mdi-library-video::before { - content: "\FCF5"; -} -.mdi-lifebuoy::before { - content: "\F87D"; -} -.mdi-light-switch::before { - content: "\F97D"; -} -.mdi-lightbulb::before { - content: "\F335"; -} -.mdi-lightbulb-off::before { - content: "\FE32"; -} -.mdi-lightbulb-off-outline::before { - content: "\FE33"; -} -.mdi-lightbulb-on::before { - content: "\F6E7"; -} -.mdi-lightbulb-on-outline::before { - content: "\F6E8"; -} -.mdi-lightbulb-outline::before { - content: "\F336"; -} -.mdi-lighthouse::before { - content: "\F9FE"; -} -.mdi-lighthouse-on::before { - content: "\F9FF"; -} -.mdi-link::before { - content: "\F337"; -} -.mdi-link-box::before { - content: "\FCF6"; -} -.mdi-link-box-outline::before { - content: "\FCF7"; -} -.mdi-link-box-variant::before { - content: "\FCF8"; -} -.mdi-link-box-variant-outline::before { - content: "\FCF9"; -} -.mdi-link-off::before { - content: "\F338"; -} -.mdi-link-plus::before { - content: "\FC70"; -} -.mdi-link-variant::before { - content: "\F339"; -} -.mdi-link-variant-off::before { - content: "\F33A"; -} -.mdi-linkedin::before { - content: "\F33B"; -} -.mdi-linkedin-box::before { - content: "\F33C"; -} -.mdi-linux::before { - content: "\F33D"; -} -.mdi-linux-mint::before { - content: "\F8EC"; -} -.mdi-litecoin::before { - content: "\FA60"; -} -.mdi-loading::before { - content: "\F771"; -} -.mdi-lock::before { - content: "\F33E"; -} -.mdi-lock-alert::before { - content: "\F8ED"; -} -.mdi-lock-clock::before { - content: "\F97E"; -} -.mdi-lock-open::before { - content: "\F33F"; -} -.mdi-lock-open-outline::before { - content: "\F340"; -} -.mdi-lock-outline::before { - content: "\F341"; -} -.mdi-lock-pattern::before { - content: "\F6E9"; -} -.mdi-lock-plus::before { - content: "\F5FB"; -} -.mdi-lock-question::before { - content: "\F8EE"; -} -.mdi-lock-reset::before { - content: "\F772"; -} -.mdi-lock-smart::before { - content: "\F8B1"; -} -.mdi-locker::before { - content: "\F7D6"; -} -.mdi-locker-multiple::before { - content: "\F7D7"; -} -.mdi-login::before { - content: "\F342"; -} -.mdi-login-variant::before { - content: "\F5FC"; -} -.mdi-logout::before { - content: "\F343"; -} -.mdi-logout-variant::before { - content: "\F5FD"; -} -.mdi-longitude::before { - content: "\FF77"; -} -.mdi-looks::before { - content: "\F344"; -} -.mdi-loop::before { - content: "\F6EA"; -} -.mdi-loupe::before { - content: "\F345"; -} -.mdi-lumx::before { - content: "\F346"; -} -.mdi-lyft::before { - content: "\FB1D"; -} -.mdi-magnet::before { - content: "\F347"; -} -.mdi-magnet-on::before { - content: "\F348"; -} -.mdi-magnify::before { - content: "\F349"; -} -.mdi-magnify-close::before { - content: "\F97F"; -} -.mdi-magnify-minus::before { - content: "\F34A"; -} -.mdi-magnify-minus-cursor::before { - content: "\FA61"; -} -.mdi-magnify-minus-outline::before { - content: "\F6EB"; -} -.mdi-magnify-plus::before { - content: "\F34B"; -} -.mdi-magnify-plus-cursor::before { - content: "\FA62"; -} -.mdi-magnify-plus-outline::before { - content: "\F6EC"; -} -.mdi-mail::before { - content: "\FED8"; -} -.mdi-mail-ru::before { - content: "\F34C"; -} -.mdi-mailbox::before { - content: "\F6ED"; -} -.mdi-mailbox-open::before { - content: "\FD64"; -} -.mdi-mailbox-open-outline::before { - content: "\FD65"; -} -.mdi-mailbox-open-up::before { - content: "\FD66"; -} -.mdi-mailbox-open-up-outline::before { - content: "\FD67"; -} -.mdi-mailbox-outline::before { - content: "\FD68"; -} -.mdi-mailbox-up::before { - content: "\FD69"; -} -.mdi-mailbox-up-outline::before { - content: "\FD6A"; -} -.mdi-map::before { - content: "\F34D"; -} -.mdi-map-check::before { - content: "\FED9"; -} -.mdi-map-check-outline::before { - content: "\FEDA"; -} -.mdi-map-clock::before { - content: "\FCFA"; -} -.mdi-map-clock-outline::before { - content: "\FCFB"; -} -.mdi-map-legend::before { - content: "\FA00"; -} -.mdi-map-marker::before { - content: "\F34E"; -} -.mdi-map-marker-alert::before { - content: "\FF22"; -} -.mdi-map-marker-alert-outline::before { - content: "\FF23"; -} -.mdi-map-marker-check::before { - content: "\FC71"; -} -.mdi-map-marker-circle::before { - content: "\F34F"; -} -.mdi-map-marker-distance::before { - content: "\F8EF"; -} -.mdi-map-marker-minus::before { - content: "\F650"; -} -.mdi-map-marker-multiple::before { - content: "\F350"; -} -.mdi-map-marker-off::before { - content: "\F351"; -} -.mdi-map-marker-outline::before { - content: "\F7D8"; -} -.mdi-map-marker-path::before { - content: "\FCFC"; -} -.mdi-map-marker-plus::before { - content: "\F651"; -} -.mdi-map-marker-question::before { - content: "\FF24"; -} -.mdi-map-marker-question-outline::before { - content: "\FF25"; -} -.mdi-map-marker-radius::before { - content: "\F352"; -} -.mdi-map-marker-remove::before { - content: "\FF26"; -} -.mdi-map-marker-remove-variant::before { - content: "\FF27"; -} -.mdi-map-minus::before { - content: "\F980"; -} -.mdi-map-outline::before { - content: "\F981"; -} -.mdi-map-plus::before { - content: "\F982"; -} -.mdi-map-search::before { - content: "\F983"; -} -.mdi-map-search-outline::before { - content: "\F984"; -} -.mdi-mapbox::before { - content: "\FB86"; -} -.mdi-margin::before { - content: "\F353"; -} -.mdi-markdown::before { - content: "\F354"; -} -.mdi-markdown-outline::before { - content: "\FF78"; -} -.mdi-marker::before { - content: "\F652"; -} -.mdi-marker-cancel::before { - content: "\FDB5"; -} -.mdi-marker-check::before { - content: "\F355"; -} -.mdi-mastodon::before { - content: "\FAD0"; -} -.mdi-mastodon-variant::before { - content: "\FAD1"; -} -.mdi-material-design::before { - content: "\F985"; -} -.mdi-material-ui::before { - content: "\F357"; -} -.mdi-math-compass::before { - content: "\F358"; -} -.mdi-math-cos::before { - content: "\FC72"; -} -.mdi-math-sin::before { - content: "\FC73"; -} -.mdi-math-tan::before { - content: "\FC74"; -} -.mdi-matrix::before { - content: "\F628"; -} -.mdi-maxcdn::before { - content: "\F359"; -} -.mdi-medal::before { - content: "\F986"; -} -.mdi-medical-bag::before { - content: "\F6EE"; -} -.mdi-medium::before { - content: "\F35A"; -} -.mdi-meetup::before { - content: "\FAD2"; -} -.mdi-memory::before { - content: "\F35B"; -} -.mdi-menu::before { - content: "\F35C"; -} -.mdi-menu-down::before { - content: "\F35D"; -} -.mdi-menu-down-outline::before { - content: "\F6B5"; -} -.mdi-menu-left::before { - content: "\F35E"; -} -.mdi-menu-left-outline::before { - content: "\FA01"; -} -.mdi-menu-open::before { - content: "\FB87"; -} -.mdi-menu-right::before { - content: "\F35F"; -} -.mdi-menu-right-outline::before { - content: "\FA02"; -} -.mdi-menu-swap::before { - content: "\FA63"; -} -.mdi-menu-swap-outline::before { - content: "\FA64"; -} -.mdi-menu-up::before { - content: "\F360"; -} -.mdi-menu-up-outline::before { - content: "\F6B6"; -} -.mdi-merge::before { - content: "\FF79"; -} -.mdi-message::before { - content: "\F361"; -} -.mdi-message-alert::before { - content: "\F362"; -} -.mdi-message-alert-outline::before { - content: "\FA03"; -} -.mdi-message-bulleted::before { - content: "\F6A1"; -} -.mdi-message-bulleted-off::before { - content: "\F6A2"; -} -.mdi-message-draw::before { - content: "\F363"; -} -.mdi-message-image::before { - content: "\F364"; -} -.mdi-message-outline::before { - content: "\F365"; -} -.mdi-message-plus::before { - content: "\F653"; -} -.mdi-message-processing::before { - content: "\F366"; -} -.mdi-message-reply::before { - content: "\F367"; -} -.mdi-message-reply-text::before { - content: "\F368"; -} -.mdi-message-settings::before { - content: "\F6EF"; -} -.mdi-message-settings-variant::before { - content: "\F6F0"; -} -.mdi-message-text::before { - content: "\F369"; -} -.mdi-message-text-outline::before { - content: "\F36A"; -} -.mdi-message-video::before { - content: "\F36B"; -} -.mdi-meteor::before { - content: "\F629"; -} -.mdi-metronome::before { - content: "\F7D9"; -} -.mdi-metronome-tick::before { - content: "\F7DA"; -} -.mdi-micro-sd::before { - content: "\F7DB"; -} -.mdi-microphone::before { - content: "\F36C"; -} -.mdi-microphone-minus::before { - content: "\F8B2"; -} -.mdi-microphone-off::before { - content: "\F36D"; -} -.mdi-microphone-outline::before { - content: "\F36E"; -} -.mdi-microphone-plus::before { - content: "\F8B3"; -} -.mdi-microphone-settings::before { - content: "\F36F"; -} -.mdi-microphone-variant::before { - content: "\F370"; -} -.mdi-microphone-variant-off::before { - content: "\F371"; -} -.mdi-microscope::before { - content: "\F654"; -} -.mdi-microsoft::before { - content: "\F372"; -} -.mdi-microsoft-dynamics::before { - content: "\F987"; -} -.mdi-microwave::before { - content: "\FC75"; -} -.mdi-middleware::before { - content: "\FF7A"; -} -.mdi-middleware-outline::before { - content: "\FF7B"; -} -.mdi-midi::before { - content: "\F8F0"; -} -.mdi-midi-port::before { - content: "\F8F1"; -} -.mdi-mine::before { - content: "\FDB6"; -} -.mdi-minecraft::before { - content: "\F373"; -} -.mdi-mini-sd::before { - content: "\FA04"; -} -.mdi-minidisc::before { - content: "\FA05"; -} -.mdi-minus::before { - content: "\F374"; -} -.mdi-minus-box::before { - content: "\F375"; -} -.mdi-minus-box-outline::before { - content: "\F6F1"; -} -.mdi-minus-circle::before { - content: "\F376"; -} -.mdi-minus-circle-outline::before { - content: "\F377"; -} -.mdi-minus-network::before { - content: "\F378"; -} -.mdi-minus-network-outline::before { - content: "\FC76"; -} -.mdi-mixcloud::before { - content: "\F62A"; -} -.mdi-mixed-martial-arts::before { - content: "\FD6B"; -} -.mdi-mixed-reality::before { - content: "\F87E"; -} -.mdi-mixer::before { - content: "\F7DC"; -} -.mdi-molecule::before { - content: "\FB88"; -} -.mdi-monitor::before { - content: "\F379"; -} -.mdi-monitor-cellphone::before { - content: "\F988"; -} -.mdi-monitor-cellphone-star::before { - content: "\F989"; -} -.mdi-monitor-dashboard::before { - content: "\FA06"; -} -.mdi-monitor-lock::before { - content: "\FDB7"; -} -.mdi-monitor-multiple::before { - content: "\F37A"; -} -.mdi-monitor-off::before { - content: "\FD6C"; -} -.mdi-monitor-screenshot::before { - content: "\FE34"; -} -.mdi-monitor-speaker::before { - content: "\FF7C"; -} -.mdi-monitor-speaker-off::before { - content: "\FF7D"; -} -.mdi-monitor-star::before { - content: "\FDB8"; -} -.mdi-moon-first-quarter::before { - content: "\FF7E"; -} -.mdi-moon-full::before { - content: "\FF7F"; -} -.mdi-moon-last-quarter::before { - content: "\FF80"; -} -.mdi-moon-new::before { - content: "\FF81"; -} -.mdi-moon-waning-crescent::before { - content: "\FF82"; -} -.mdi-moon-waning-gibbous::before { - content: "\FF83"; -} -.mdi-moon-waxing-crescent::before { - content: "\FF84"; -} -.mdi-moon-waxing-gibbous::before { - content: "\FF85"; -} -.mdi-more::before { - content: "\F37B"; -} -.mdi-mother-nurse::before { - content: "\FCFD"; -} -.mdi-motion-sensor::before { - content: "\FD6D"; -} -.mdi-motorbike::before { - content: "\F37C"; -} -.mdi-mouse::before { - content: "\F37D"; -} -.mdi-mouse-bluetooth::before { - content: "\F98A"; -} -.mdi-mouse-off::before { - content: "\F37E"; -} -.mdi-mouse-variant::before { - content: "\F37F"; -} -.mdi-mouse-variant-off::before { - content: "\F380"; -} -.mdi-move-resize::before { - content: "\F655"; -} -.mdi-move-resize-variant::before { - content: "\F656"; -} -.mdi-movie::before { - content: "\F381"; -} -.mdi-movie-outline::before { - content: "\FDB9"; -} -.mdi-movie-roll::before { - content: "\F7DD"; -} -.mdi-muffin::before { - content: "\F98B"; -} -.mdi-multiplication::before { - content: "\F382"; -} -.mdi-multiplication-box::before { - content: "\F383"; -} -.mdi-mushroom::before { - content: "\F7DE"; -} -.mdi-mushroom-outline::before { - content: "\F7DF"; -} -.mdi-music::before { - content: "\F759"; -} -.mdi-music-accidental-double-flat::before { - content: "\FF86"; -} -.mdi-music-accidental-double-sharp::before { - content: "\FF87"; -} -.mdi-music-accidental-flat::before { - content: "\FF88"; -} -.mdi-music-accidental-natural::before { - content: "\FF89"; -} -.mdi-music-accidental-sharp::before { - content: "\FF8A"; -} -.mdi-music-box::before { - content: "\F384"; -} -.mdi-music-box-outline::before { - content: "\F385"; -} -.mdi-music-circle::before { - content: "\F386"; -} -.mdi-music-circle-outline::before { - content: "\FAD3"; -} -.mdi-music-clef-alto::before { - content: "\FF8B"; -} -.mdi-music-clef-bass::before { - content: "\FF8C"; -} -.mdi-music-clef-treble::before { - content: "\FF8D"; -} -.mdi-music-note::before { - content: "\F387"; -} -.mdi-music-note-bluetooth::before { - content: "\F5FE"; -} -.mdi-music-note-bluetooth-off::before { - content: "\F5FF"; -} -.mdi-music-note-eighth::before { - content: "\F388"; -} -.mdi-music-note-eighth-dotted::before { - content: "\FF8E"; -} -.mdi-music-note-half::before { - content: "\F389"; -} -.mdi-music-note-half-dotted::before { - content: "\FF8F"; -} -.mdi-music-note-off::before { - content: "\F38A"; -} -.mdi-music-note-off-outline::before { - content: "\FF90"; -} -.mdi-music-note-outline::before { - content: "\FF91"; -} -.mdi-music-note-plus::before { - content: "\FDBA"; -} -.mdi-music-note-quarter::before { - content: "\F38B"; -} -.mdi-music-note-quarter-dotted::before { - content: "\FF92"; -} -.mdi-music-note-sixteenth::before { - content: "\F38C"; -} -.mdi-music-note-sixteenth-dotted::before { - content: "\FF93"; -} -.mdi-music-note-whole::before { - content: "\F38D"; -} -.mdi-music-note-whole-dotted::before { - content: "\FF94"; -} -.mdi-music-off::before { - content: "\F75A"; -} -.mdi-music-rest-eighth::before { - content: "\FF95"; -} -.mdi-music-rest-half::before { - content: "\FF96"; -} -.mdi-music-rest-quarter::before { - content: "\FF97"; -} -.mdi-music-rest-sixteenth::before { - content: "\FF98"; -} -.mdi-music-rest-whole::before { - content: "\FF99"; -} -.mdi-nail::before { - content: "\FDBB"; -} -.mdi-nas::before { - content: "\F8F2"; -} -.mdi-nativescript::before { - content: "\F87F"; -} -.mdi-nature::before { - content: "\F38E"; -} -.mdi-nature-people::before { - content: "\F38F"; -} -.mdi-navigation::before { - content: "\F390"; -} -.mdi-near-me::before { - content: "\F5CD"; -} -.mdi-necklace::before { - content: "\FF28"; -} -.mdi-needle::before { - content: "\F391"; -} -.mdi-netflix::before { - content: "\F745"; -} -.mdi-network::before { - content: "\F6F2"; -} -.mdi-network-off::before { - content: "\FC77"; -} -.mdi-network-off-outline::before { - content: "\FC78"; -} -.mdi-network-outline::before { - content: "\FC79"; -} -.mdi-network-strength-1::before { - content: "\F8F3"; -} -.mdi-network-strength-1-alert::before { - content: "\F8F4"; -} -.mdi-network-strength-2::before { - content: "\F8F5"; -} -.mdi-network-strength-2-alert::before { - content: "\F8F6"; -} -.mdi-network-strength-3::before { - content: "\F8F7"; -} -.mdi-network-strength-3-alert::before { - content: "\F8F8"; -} -.mdi-network-strength-4::before { - content: "\F8F9"; -} -.mdi-network-strength-4-alert::before { - content: "\F8FA"; -} -.mdi-network-strength-off::before { - content: "\F8FB"; -} -.mdi-network-strength-off-outline::before { - content: "\F8FC"; -} -.mdi-network-strength-outline::before { - content: "\F8FD"; -} -.mdi-new-box::before { - content: "\F394"; -} -.mdi-newspaper::before { - content: "\F395"; -} -.mdi-newspaper-minus::before { - content: "\FF29"; -} -.mdi-newspaper-plus::before { - content: "\FF2A"; -} -.mdi-nfc::before { - content: "\F396"; -} -.mdi-nfc-off::before { - content: "\FE35"; -} -.mdi-nfc-search-variant::before { - content: "\FE36"; -} -.mdi-nfc-tap::before { - content: "\F397"; -} -.mdi-nfc-variant::before { - content: "\F398"; -} -.mdi-nfc-variant-off::before { - content: "\FE37"; -} -.mdi-ninja::before { - content: "\F773"; -} -.mdi-nintendo-switch::before { - content: "\F7E0"; -} -.mdi-nodejs::before { - content: "\F399"; -} -.mdi-not-equal::before { - content: "\F98C"; -} -.mdi-not-equal-variant::before { - content: "\F98D"; -} -.mdi-note::before { - content: "\F39A"; -} -.mdi-note-circle::before { - content: "\FEDB"; -} -.mdi-note-multiple::before { - content: "\F6B7"; -} -.mdi-note-multiple-outline::before { - content: "\F6B8"; -} -.mdi-note-outline::before { - content: "\F39B"; -} -.mdi-note-plus::before { - content: "\F39C"; -} -.mdi-note-plus-outline::before { - content: "\F39D"; -} -.mdi-note-text::before { - content: "\F39E"; -} -.mdi-notebook::before { - content: "\F82D"; -} -.mdi-notebook-multiple::before { - content: "\FE38"; -} -.mdi-notebook-outline::before { - content: "\FEDC"; -} -.mdi-notification-clear-all::before { - content: "\F39F"; -} -.mdi-npm::before { - content: "\F6F6"; -} -.mdi-npm-variant::before { - content: "\F98E"; -} -.mdi-npm-variant-outline::before { - content: "\F98F"; -} -.mdi-nuke::before { - content: "\F6A3"; -} -.mdi-null::before { - content: "\F7E1"; -} -.mdi-numeric::before { - content: "\F3A0"; -} -.mdi-numeric-0::before { - content: "\30"; -} -.mdi-numeric-0-box::before { - content: "\F3A1"; -} -.mdi-numeric-0-box-multiple::before { - content: "\FF2B"; -} -.mdi-numeric-0-box-multiple-outline::before { - content: "\F3A2"; -} -.mdi-numeric-0-box-outline::before { - content: "\F3A3"; -} -.mdi-numeric-0-circle::before { - content: "\FC7A"; -} -.mdi-numeric-0-circle-outline::before { - content: "\FC7B"; -} -.mdi-numeric-1::before { - content: "\31"; -} -.mdi-numeric-1-box::before { - content: "\F3A4"; -} -.mdi-numeric-1-box-multiple::before { - content: "\FF2C"; -} -.mdi-numeric-1-box-multiple-outline::before { - content: "\F3A5"; -} -.mdi-numeric-1-box-outline::before { - content: "\F3A6"; -} -.mdi-numeric-1-circle::before { - content: "\FC7C"; -} -.mdi-numeric-1-circle-outline::before { - content: "\FC7D"; -} -.mdi-numeric-10-box::before { - content: "\FF9A"; -} -.mdi-numeric-10-box-outline::before { - content: "\FF9B"; -} -.mdi-numeric-2::before { - content: "\32"; -} -.mdi-numeric-2-box::before { - content: "\F3A7"; -} -.mdi-numeric-2-box-multiple::before { - content: "\FF2D"; -} -.mdi-numeric-2-box-multiple-outline::before { - content: "\F3A8"; -} -.mdi-numeric-2-box-outline::before { - content: "\F3A9"; -} -.mdi-numeric-2-circle::before { - content: "\FC7E"; -} -.mdi-numeric-2-circle-outline::before { - content: "\FC7F"; -} -.mdi-numeric-3::before { - content: "\33"; -} -.mdi-numeric-3-box::before { - content: "\F3AA"; -} -.mdi-numeric-3-box-multiple::before { - content: "\FF2E"; -} -.mdi-numeric-3-box-multiple-outline::before { - content: "\F3AB"; -} -.mdi-numeric-3-box-outline::before { - content: "\F3AC"; -} -.mdi-numeric-3-circle::before { - content: "\FC80"; -} -.mdi-numeric-3-circle-outline::before { - content: "\FC81"; -} -.mdi-numeric-4::before { - content: "\34"; -} -.mdi-numeric-4-box::before { - content: "\F3AD"; -} -.mdi-numeric-4-box-multiple::before { - content: "\FF2F"; -} -.mdi-numeric-4-box-multiple-outline::before { - content: "\F3AE"; -} -.mdi-numeric-4-box-outline::before { - content: "\F3AF"; -} -.mdi-numeric-4-circle::before { - content: "\FC82"; -} -.mdi-numeric-4-circle-outline::before { - content: "\FC83"; -} -.mdi-numeric-5::before { - content: "\35"; -} -.mdi-numeric-5-box::before { - content: "\F3B0"; -} -.mdi-numeric-5-box-multiple::before { - content: "\FF30"; -} -.mdi-numeric-5-box-multiple-outline::before { - content: "\F3B1"; -} -.mdi-numeric-5-box-outline::before { - content: "\F3B2"; -} -.mdi-numeric-5-circle::before { - content: "\FC84"; -} -.mdi-numeric-5-circle-outline::before { - content: "\FC85"; -} -.mdi-numeric-6::before { - content: "\36"; -} -.mdi-numeric-6-box::before { - content: "\F3B3"; -} -.mdi-numeric-6-box-multiple::before { - content: "\FF31"; -} -.mdi-numeric-6-box-multiple-outline::before { - content: "\F3B4"; -} -.mdi-numeric-6-box-outline::before { - content: "\F3B5"; -} -.mdi-numeric-6-circle::before { - content: "\FC86"; -} -.mdi-numeric-6-circle-outline::before { - content: "\FC87"; -} -.mdi-numeric-7::before { - content: "\37"; -} -.mdi-numeric-7-box::before { - content: "\F3B6"; -} -.mdi-numeric-7-box-multiple::before { - content: "\FF32"; -} -.mdi-numeric-7-box-multiple-outline::before { - content: "\F3B7"; -} -.mdi-numeric-7-box-outline::before { - content: "\F3B8"; -} -.mdi-numeric-7-circle::before { - content: "\FC88"; -} -.mdi-numeric-7-circle-outline::before { - content: "\FC89"; -} -.mdi-numeric-8::before { - content: "\38"; -} -.mdi-numeric-8-box::before { - content: "\F3B9"; -} -.mdi-numeric-8-box-multiple::before { - content: "\FF33"; -} -.mdi-numeric-8-box-multiple-outline::before { - content: "\F3BA"; -} -.mdi-numeric-8-box-outline::before { - content: "\F3BB"; -} -.mdi-numeric-8-circle::before { - content: "\FC8A"; -} -.mdi-numeric-8-circle-outline::before { - content: "\FC8B"; -} -.mdi-numeric-9::before { - content: "\39"; -} -.mdi-numeric-9-box::before { - content: "\F3BC"; -} -.mdi-numeric-9-box-multiple::before { - content: "\FF34"; -} -.mdi-numeric-9-box-multiple-outline::before { - content: "\F3BD"; -} -.mdi-numeric-9-box-outline::before { - content: "\F3BE"; -} -.mdi-numeric-9-circle::before { - content: "\FC8C"; -} -.mdi-numeric-9-circle-outline::before { - content: "\FC8D"; -} -.mdi-numeric-9-plus-box::before { - content: "\F3BF"; -} -.mdi-numeric-9-plus-box-multiple::before { - content: "\FF35"; -} -.mdi-numeric-9-plus-box-multiple-outline::before { - content: "\F3C0"; -} -.mdi-numeric-9-plus-box-outline::before { - content: "\F3C1"; -} -.mdi-numeric-9-plus-circle::before { - content: "\FC8E"; -} -.mdi-numeric-9-plus-circle-outline::before { - content: "\FC8F"; -} -.mdi-nut::before { - content: "\F6F7"; -} -.mdi-nutrition::before { - content: "\F3C2"; -} -.mdi-oar::before { - content: "\F67B"; -} -.mdi-ocarina::before { - content: "\FDBC"; -} -.mdi-octagon::before { - content: "\F3C3"; -} -.mdi-octagon-outline::before { - content: "\F3C4"; -} -.mdi-octagram::before { - content: "\F6F8"; -} -.mdi-octagram-outline::before { - content: "\F774"; -} -.mdi-odnoklassniki::before { - content: "\F3C5"; -} -.mdi-office::before { - content: "\F3C6"; -} -.mdi-office-building::before { - content: "\F990"; -} -.mdi-oil::before { - content: "\F3C7"; -} -.mdi-oil-lamp::before { - content: "\FF36"; -} -.mdi-oil-temperature::before { - content: "\F3C8"; -} -.mdi-omega::before { - content: "\F3C9"; -} -.mdi-one-up::before { - content: "\FB89"; -} -.mdi-onedrive::before { - content: "\F3CA"; -} -.mdi-onenote::before { - content: "\F746"; -} -.mdi-onepassword::before { - content: "\F880"; -} -.mdi-opacity::before { - content: "\F5CC"; -} -.mdi-open-in-app::before { - content: "\F3CB"; -} -.mdi-open-in-new::before { - content: "\F3CC"; -} -.mdi-open-source-initiative::before { - content: "\FB8A"; -} -.mdi-openid::before { - content: "\F3CD"; -} -.mdi-opera::before { - content: "\F3CE"; -} -.mdi-orbit::before { - content: "\F018"; -} -.mdi-origin::before { - content: "\FB2B"; -} -.mdi-ornament::before { - content: "\F3CF"; -} -.mdi-ornament-variant::before { - content: "\F3D0"; -} -.mdi-outlook::before { - content: "\FCFE"; -} -.mdi-owl::before { - content: "\F3D2"; -} -.mdi-pac-man::before { - content: "\FB8B"; -} -.mdi-package::before { - content: "\F3D3"; -} -.mdi-package-down::before { - content: "\F3D4"; -} -.mdi-package-up::before { - content: "\F3D5"; -} -.mdi-package-variant::before { - content: "\F3D6"; -} -.mdi-package-variant-closed::before { - content: "\F3D7"; -} -.mdi-page-first::before { - content: "\F600"; -} -.mdi-page-last::before { - content: "\F601"; -} -.mdi-page-layout-body::before { - content: "\F6F9"; -} -.mdi-page-layout-footer::before { - content: "\F6FA"; -} -.mdi-page-layout-header::before { - content: "\F6FB"; -} -.mdi-page-layout-header-footer::before { - content: "\FF9C"; -} -.mdi-page-layout-sidebar-left::before { - content: "\F6FC"; -} -.mdi-page-layout-sidebar-right::before { - content: "\F6FD"; -} -.mdi-page-next::before { - content: "\FB8C"; -} -.mdi-page-next-outline::before { - content: "\FB8D"; -} -.mdi-page-previous::before { - content: "\FB8E"; -} -.mdi-page-previous-outline::before { - content: "\FB8F"; -} -.mdi-palette::before { - content: "\F3D8"; -} -.mdi-palette-advanced::before { - content: "\F3D9"; -} -.mdi-palette-outline::before { - content: "\FE6C"; -} -.mdi-palette-swatch::before { - content: "\F8B4"; -} -.mdi-pan::before { - content: "\FB90"; -} -.mdi-pan-bottom-left::before { - content: "\FB91"; -} -.mdi-pan-bottom-right::before { - content: "\FB92"; -} -.mdi-pan-down::before { - content: "\FB93"; -} -.mdi-pan-horizontal::before { - content: "\FB94"; -} -.mdi-pan-left::before { - content: "\FB95"; -} -.mdi-pan-right::before { - content: "\FB96"; -} -.mdi-pan-top-left::before { - content: "\FB97"; -} -.mdi-pan-top-right::before { - content: "\FB98"; -} -.mdi-pan-up::before { - content: "\FB99"; -} -.mdi-pan-vertical::before { - content: "\FB9A"; -} -.mdi-panda::before { - content: "\F3DA"; -} -.mdi-pandora::before { - content: "\F3DB"; -} -.mdi-panorama::before { - content: "\F3DC"; -} -.mdi-panorama-fisheye::before { - content: "\F3DD"; -} -.mdi-panorama-horizontal::before { - content: "\F3DE"; -} -.mdi-panorama-vertical::before { - content: "\F3DF"; -} -.mdi-panorama-wide-angle::before { - content: "\F3E0"; -} -.mdi-paper-cut-vertical::before { - content: "\F3E1"; -} -.mdi-paperclip::before { - content: "\F3E2"; -} -.mdi-parachute::before { - content: "\FC90"; -} -.mdi-parachute-outline::before { - content: "\FC91"; -} -.mdi-parking::before { - content: "\F3E3"; -} -.mdi-passport::before { - content: "\F7E2"; -} -.mdi-passport-biometric::before { - content: "\FDBD"; -} -.mdi-patio-heater::before { - content: "\FF9D"; -} -.mdi-patreon::before { - content: "\F881"; -} -.mdi-pause::before { - content: "\F3E4"; -} -.mdi-pause-circle::before { - content: "\F3E5"; -} -.mdi-pause-circle-outline::before { - content: "\F3E6"; -} -.mdi-pause-octagon::before { - content: "\F3E7"; -} -.mdi-pause-octagon-outline::before { - content: "\F3E8"; -} -.mdi-paw::before { - content: "\F3E9"; -} -.mdi-paw-off::before { - content: "\F657"; -} -.mdi-paypal::before { - content: "\F882"; -} -.mdi-pdf-box::before { - content: "\FE39"; -} -.mdi-peace::before { - content: "\F883"; -} -.mdi-pen::before { - content: "\F3EA"; -} -.mdi-pen-lock::before { - content: "\FDBE"; -} -.mdi-pen-minus::before { - content: "\FDBF"; -} -.mdi-pen-off::before { - content: "\FDC0"; -} -.mdi-pen-plus::before { - content: "\FDC1"; -} -.mdi-pen-remove::before { - content: "\FDC2"; -} -.mdi-pencil::before { - content: "\F3EB"; -} -.mdi-pencil-box::before { - content: "\F3EC"; -} -.mdi-pencil-box-outline::before { - content: "\F3ED"; -} -.mdi-pencil-circle::before { - content: "\F6FE"; -} -.mdi-pencil-circle-outline::before { - content: "\F775"; -} -.mdi-pencil-lock::before { - content: "\F3EE"; -} -.mdi-pencil-lock-outline::before { - content: "\FDC3"; -} -.mdi-pencil-minus::before { - content: "\FDC4"; -} -.mdi-pencil-minus-outline::before { - content: "\FDC5"; -} -.mdi-pencil-off::before { - content: "\F3EF"; -} -.mdi-pencil-off-outline::before { - content: "\FDC6"; -} -.mdi-pencil-outline::before { - content: "\FC92"; -} -.mdi-pencil-plus::before { - content: "\FDC7"; -} -.mdi-pencil-plus-outline::before { - content: "\FDC8"; -} -.mdi-pencil-remove::before { - content: "\FDC9"; -} -.mdi-pencil-remove-outline::before { - content: "\FDCA"; -} -.mdi-penguin::before { - content: "\FEDD"; -} -.mdi-pentagon::before { - content: "\F6FF"; -} -.mdi-pentagon-outline::before { - content: "\F700"; -} -.mdi-percent::before { - content: "\F3F0"; -} -.mdi-periodic-table::before { - content: "\F8B5"; -} -.mdi-periodic-table-co2::before { - content: "\F7E3"; -} -.mdi-periscope::before { - content: "\F747"; -} -.mdi-perspective-less::before { - content: "\FCFF"; -} -.mdi-perspective-more::before { - content: "\FD00"; -} -.mdi-pharmacy::before { - content: "\F3F1"; -} -.mdi-phone::before { - content: "\F3F2"; -} -.mdi-phone-alert::before { - content: "\FF37"; -} -.mdi-phone-bluetooth::before { - content: "\F3F3"; -} -.mdi-phone-classic::before { - content: "\F602"; -} -.mdi-phone-forward::before { - content: "\F3F4"; -} -.mdi-phone-hangup::before { - content: "\F3F5"; -} -.mdi-phone-in-talk::before { - content: "\F3F6"; -} -.mdi-phone-incoming::before { - content: "\F3F7"; -} -.mdi-phone-lock::before { - content: "\F3F8"; -} -.mdi-phone-log::before { - content: "\F3F9"; -} -.mdi-phone-minus::before { - content: "\F658"; -} -.mdi-phone-missed::before { - content: "\F3FA"; -} -.mdi-phone-off::before { - content: "\FDCB"; -} -.mdi-phone-outgoing::before { - content: "\F3FB"; -} -.mdi-phone-outline::before { - content: "\FDCC"; -} -.mdi-phone-paused::before { - content: "\F3FC"; -} -.mdi-phone-plus::before { - content: "\F659"; -} -.mdi-phone-return::before { - content: "\F82E"; -} -.mdi-phone-rotate-landscape::before { - content: "\F884"; -} -.mdi-phone-rotate-portrait::before { - content: "\F885"; -} -.mdi-phone-settings::before { - content: "\F3FD"; -} -.mdi-phone-voip::before { - content: "\F3FE"; -} -.mdi-pi::before { - content: "\F3FF"; -} -.mdi-pi-box::before { - content: "\F400"; -} -.mdi-pi-hole::before { - content: "\FDCD"; -} -.mdi-piano::before { - content: "\F67C"; -} -.mdi-pickaxe::before { - content: "\F8B6"; -} -.mdi-picture-in-picture-bottom-right::before { - content: "\FE3A"; -} -.mdi-picture-in-picture-bottom-right-outline::before { - content: "\FE3B"; -} -.mdi-picture-in-picture-top-right::before { - content: "\FE3C"; -} -.mdi-picture-in-picture-top-right-outline::before { - content: "\FE3D"; -} -.mdi-pier::before { - content: "\F886"; -} -.mdi-pier-crane::before { - content: "\F887"; -} -.mdi-pig::before { - content: "\F401"; -} -.mdi-pill::before { - content: "\F402"; -} -.mdi-pillar::before { - content: "\F701"; -} -.mdi-pin::before { - content: "\F403"; -} -.mdi-pin-off::before { - content: "\F404"; -} -.mdi-pin-off-outline::before { - content: "\F92F"; -} -.mdi-pin-outline::before { - content: "\F930"; -} -.mdi-pine-tree::before { - content: "\F405"; -} -.mdi-pine-tree-box::before { - content: "\F406"; -} -.mdi-pinterest::before { - content: "\F407"; -} -.mdi-pinterest-box::before { - content: "\F408"; -} -.mdi-pinwheel::before { - content: "\FAD4"; -} -.mdi-pinwheel-outline::before { - content: "\FAD5"; -} -.mdi-pipe::before { - content: "\F7E4"; -} -.mdi-pipe-disconnected::before { - content: "\F7E5"; -} -.mdi-pipe-leak::before { - content: "\F888"; -} -.mdi-pirate::before { - content: "\FA07"; -} -.mdi-pistol::before { - content: "\F702"; -} -.mdi-piston::before { - content: "\F889"; -} -.mdi-pizza::before { - content: "\F409"; -} -.mdi-play::before { - content: "\F40A"; -} -.mdi-play-box-outline::before { - content: "\F40B"; -} -.mdi-play-circle::before { - content: "\F40C"; -} -.mdi-play-circle-outline::before { - content: "\F40D"; -} -.mdi-play-network::before { - content: "\F88A"; -} -.mdi-play-network-outline::before { - content: "\FC93"; -} -.mdi-play-outline::before { - content: "\FF38"; -} -.mdi-play-pause::before { - content: "\F40E"; -} -.mdi-play-protected-content::before { - content: "\F40F"; -} -.mdi-play-speed::before { - content: "\F8FE"; -} -.mdi-playlist-check::before { - content: "\F5C7"; -} -.mdi-playlist-edit::before { - content: "\F8FF"; -} -.mdi-playlist-minus::before { - content: "\F410"; -} -.mdi-playlist-music::before { - content: "\FC94"; -} -.mdi-playlist-music-outline::before { - content: "\FC95"; -} -.mdi-playlist-play::before { - content: "\F411"; -} -.mdi-playlist-plus::before { - content: "\F412"; -} -.mdi-playlist-remove::before { - content: "\F413"; -} -.mdi-playlist-star::before { - content: "\FDCE"; -} -.mdi-playstation::before { - content: "\F414"; -} -.mdi-plex::before { - content: "\F6B9"; -} -.mdi-plus::before { - content: "\F415"; -} -.mdi-plus-box::before { - content: "\F416"; -} -.mdi-plus-box-outline::before { - content: "\F703"; -} -.mdi-plus-circle::before { - content: "\F417"; -} -.mdi-plus-circle-multiple-outline::before { - content: "\F418"; -} -.mdi-plus-circle-outline::before { - content: "\F419"; -} -.mdi-plus-minus::before { - content: "\F991"; -} -.mdi-plus-minus-box::before { - content: "\F992"; -} -.mdi-plus-network::before { - content: "\F41A"; -} -.mdi-plus-network-outline::before { - content: "\FC96"; -} -.mdi-plus-one::before { - content: "\F41B"; -} -.mdi-plus-outline::before { - content: "\F704"; -} -.mdi-pocket::before { - content: "\F41C"; -} -.mdi-podcast::before { - content: "\F993"; -} -.mdi-podium::before { - content: "\FD01"; -} -.mdi-podium-bronze::before { - content: "\FD02"; -} -.mdi-podium-gold::before { - content: "\FD03"; -} -.mdi-podium-silver::before { - content: "\FD04"; -} -.mdi-point-of-sale::before { - content: "\FD6E"; -} -.mdi-pokeball::before { - content: "\F41D"; -} -.mdi-pokemon-go::before { - content: "\FA08"; -} -.mdi-poker-chip::before { - content: "\F82F"; -} -.mdi-polaroid::before { - content: "\F41E"; -} -.mdi-poll::before { - content: "\F41F"; -} -.mdi-poll-box::before { - content: "\F420"; -} -.mdi-polymer::before { - content: "\F421"; -} -.mdi-pool::before { - content: "\F606"; -} -.mdi-popcorn::before { - content: "\F422"; -} -.mdi-postage-stamp::before { - content: "\FC97"; -} -.mdi-pot::before { - content: "\F65A"; -} -.mdi-pot-mix::before { - content: "\F65B"; -} -.mdi-pound::before { - content: "\F423"; -} -.mdi-pound-box::before { - content: "\F424"; -} -.mdi-power::before { - content: "\F425"; -} -.mdi-power-cycle::before { - content: "\F900"; -} -.mdi-power-off::before { - content: "\F901"; -} -.mdi-power-on::before { - content: "\F902"; -} -.mdi-power-plug::before { - content: "\F6A4"; -} -.mdi-power-plug-off::before { - content: "\F6A5"; -} -.mdi-power-settings::before { - content: "\F426"; -} -.mdi-power-sleep::before { - content: "\F903"; -} -.mdi-power-socket::before { - content: "\F427"; -} -.mdi-power-socket-au::before { - content: "\F904"; -} -.mdi-power-socket-eu::before { - content: "\F7E6"; -} -.mdi-power-socket-uk::before { - content: "\F7E7"; -} -.mdi-power-socket-us::before { - content: "\F7E8"; -} -.mdi-power-standby::before { - content: "\F905"; -} -.mdi-powershell::before { - content: "\FA09"; -} -.mdi-prescription::before { - content: "\F705"; -} -.mdi-presentation::before { - content: "\F428"; -} -.mdi-presentation-play::before { - content: "\F429"; -} -.mdi-printer::before { - content: "\F42A"; -} -.mdi-printer-3d::before { - content: "\F42B"; -} -.mdi-printer-3d-nozzle::before { - content: "\FE3E"; -} -.mdi-printer-3d-nozzle-outline::before { - content: "\FE3F"; -} -.mdi-printer-alert::before { - content: "\F42C"; -} -.mdi-printer-off::before { - content: "\FE40"; -} -.mdi-printer-settings::before { - content: "\F706"; -} -.mdi-printer-wireless::before { - content: "\FA0A"; -} -.mdi-priority-high::before { - content: "\F603"; -} -.mdi-priority-low::before { - content: "\F604"; -} -.mdi-professional-hexagon::before { - content: "\F42D"; -} -.mdi-progress-alert::before { - content: "\FC98"; -} -.mdi-progress-check::before { - content: "\F994"; -} -.mdi-progress-clock::before { - content: "\F995"; -} -.mdi-progress-download::before { - content: "\F996"; -} -.mdi-progress-upload::before { - content: "\F997"; -} -.mdi-progress-wrench::before { - content: "\FC99"; -} -.mdi-projector::before { - content: "\F42E"; -} -.mdi-projector-screen::before { - content: "\F42F"; -} -.mdi-publish::before { - content: "\F6A6"; -} -.mdi-pulse::before { - content: "\F430"; -} -.mdi-pumpkin::before { - content: "\FB9B"; -} -.mdi-purse::before { - content: "\FF39"; -} -.mdi-purse-outline::before { - content: "\FF3A"; -} -.mdi-puzzle::before { - content: "\F431"; -} -.mdi-puzzle-outline::before { - content: "\FA65"; -} -.mdi-qi::before { - content: "\F998"; -} -.mdi-qqchat::before { - content: "\F605"; -} -.mdi-qrcode::before { - content: "\F432"; -} -.mdi-qrcode-edit::before { - content: "\F8B7"; -} -.mdi-qrcode-scan::before { - content: "\F433"; -} -.mdi-quadcopter::before { - content: "\F434"; -} -.mdi-quality-high::before { - content: "\F435"; -} -.mdi-quality-low::before { - content: "\FA0B"; -} -.mdi-quality-medium::before { - content: "\FA0C"; -} -.mdi-quicktime::before { - content: "\F436"; -} -.mdi-quora::before { - content: "\FD05"; -} -.mdi-rabbit::before { - content: "\F906"; -} -.mdi-racing-helmet::before { - content: "\FD6F"; -} -.mdi-racquetball::before { - content: "\FD70"; -} -.mdi-radar::before { - content: "\F437"; -} -.mdi-radiator::before { - content: "\F438"; -} -.mdi-radiator-disabled::before { - content: "\FAD6"; -} -.mdi-radiator-off::before { - content: "\FAD7"; -} -.mdi-radio::before { - content: "\F439"; -} -.mdi-radio-am::before { - content: "\FC9A"; -} -.mdi-radio-fm::before { - content: "\FC9B"; -} -.mdi-radio-handheld::before { - content: "\F43A"; -} -.mdi-radio-tower::before { - content: "\F43B"; -} -.mdi-radioactive::before { - content: "\F43C"; -} -.mdi-radioactive-off::before { - content: "\FEDE"; -} -.mdi-radiobox-blank::before { - content: "\F43D"; -} -.mdi-radiobox-marked::before { - content: "\F43E"; -} -.mdi-radius::before { - content: "\FC9C"; -} -.mdi-radius-outline::before { - content: "\FC9D"; -} -.mdi-railroad-light::before { - content: "\FF3B"; -} -.mdi-raspberry-pi::before { - content: "\F43F"; -} -.mdi-ray-end::before { - content: "\F440"; -} -.mdi-ray-end-arrow::before { - content: "\F441"; -} -.mdi-ray-start::before { - content: "\F442"; -} -.mdi-ray-start-arrow::before { - content: "\F443"; -} -.mdi-ray-start-end::before { - content: "\F444"; -} -.mdi-ray-vertex::before { - content: "\F445"; -} -.mdi-react::before { - content: "\F707"; -} -.mdi-read::before { - content: "\F447"; -} -.mdi-receipt::before { - content: "\F449"; -} -.mdi-record::before { - content: "\F44A"; -} -.mdi-record-circle::before { - content: "\FEDF"; -} -.mdi-record-circle-outline::before { - content: "\FEE0"; -} -.mdi-record-player::before { - content: "\F999"; -} -.mdi-record-rec::before { - content: "\F44B"; -} -.mdi-rectangle::before { - content: "\FE41"; -} -.mdi-rectangle-outline::before { - content: "\FE42"; -} -.mdi-recycle::before { - content: "\F44C"; -} -.mdi-reddit::before { - content: "\F44D"; -} -.mdi-redo::before { - content: "\F44E"; -} -.mdi-redo-variant::before { - content: "\F44F"; -} -.mdi-reflect-horizontal::before { - content: "\FA0D"; -} -.mdi-reflect-vertical::before { - content: "\FA0E"; -} -.mdi-refresh::before { - content: "\F450"; -} -.mdi-regex::before { - content: "\F451"; -} -.mdi-registered-trademark::before { - content: "\FA66"; -} -.mdi-relative-scale::before { - content: "\F452"; -} -.mdi-reload::before { - content: "\F453"; -} -.mdi-reminder::before { - content: "\F88B"; -} -.mdi-remote::before { - content: "\F454"; -} -.mdi-remote-desktop::before { - content: "\F8B8"; -} -.mdi-remote-off::before { - content: "\FEE1"; -} -.mdi-remote-tv::before { - content: "\FEE2"; -} -.mdi-remote-tv-off::before { - content: "\FEE3"; -} -.mdi-rename-box::before { - content: "\F455"; -} -.mdi-reorder-horizontal::before { - content: "\F687"; -} -.mdi-reorder-vertical::before { - content: "\F688"; -} -.mdi-repeat::before { - content: "\F456"; -} -.mdi-repeat-off::before { - content: "\F457"; -} -.mdi-repeat-once::before { - content: "\F458"; -} -.mdi-replay::before { - content: "\F459"; -} -.mdi-reply::before { - content: "\F45A"; -} -.mdi-reply-all::before { - content: "\F45B"; -} -.mdi-reply-all-outline::before { - content: "\FF3C"; -} -.mdi-reply-outline::before { - content: "\FF3D"; -} -.mdi-reproduction::before { - content: "\F45C"; -} -.mdi-resistor::before { - content: "\FB1F"; -} -.mdi-resistor-nodes::before { - content: "\FB20"; -} -.mdi-resize::before { - content: "\FA67"; -} -.mdi-resize-bottom-right::before { - content: "\F45D"; -} -.mdi-responsive::before { - content: "\F45E"; -} -.mdi-restart::before { - content: "\F708"; -} -.mdi-restart-off::before { - content: "\FD71"; -} -.mdi-restore::before { - content: "\F99A"; -} -.mdi-restore-clock::before { - content: "\F6A7"; -} -.mdi-rewind::before { - content: "\F45F"; -} -.mdi-rewind-10::before { - content: "\FD06"; -} -.mdi-rewind-30::before { - content: "\FD72"; -} -.mdi-rewind-outline::before { - content: "\F709"; -} -.mdi-rhombus::before { - content: "\F70A"; -} -.mdi-rhombus-medium::before { - content: "\FA0F"; -} -.mdi-rhombus-outline::before { - content: "\F70B"; -} -.mdi-rhombus-split::before { - content: "\FA10"; -} -.mdi-ribbon::before { - content: "\F460"; -} -.mdi-rice::before { - content: "\F7E9"; -} -.mdi-ring::before { - content: "\F7EA"; -} -.mdi-rivet::before { - content: "\FE43"; -} -.mdi-road::before { - content: "\F461"; -} -.mdi-road-variant::before { - content: "\F462"; -} -.mdi-robot::before { - content: "\F6A8"; -} -.mdi-robot-industrial::before { - content: "\FB21"; -} -.mdi-robot-vacuum::before { - content: "\F70C"; -} -.mdi-robot-vacuum-variant::before { - content: "\F907"; -} -.mdi-rocket::before { - content: "\F463"; -} -.mdi-roller-skate::before { - content: "\FD07"; -} -.mdi-rollerblade::before { - content: "\FD08"; -} -.mdi-rollupjs::before { - content: "\FB9C"; -} -.mdi-room-service::before { - content: "\F88C"; -} -.mdi-room-service-outline::before { - content: "\FD73"; -} -.mdi-rotate-3d::before { - content: "\FEE4"; -} -.mdi-rotate-3d-variant::before { - content: "\F464"; -} -.mdi-rotate-left::before { - content: "\F465"; -} -.mdi-rotate-left-variant::before { - content: "\F466"; -} -.mdi-rotate-orbit::before { - content: "\FD74"; -} -.mdi-rotate-right::before { - content: "\F467"; -} -.mdi-rotate-right-variant::before { - content: "\F468"; -} -.mdi-rounded-corner::before { - content: "\F607"; -} -.mdi-router-wireless::before { - content: "\F469"; -} -.mdi-router-wireless-settings::before { - content: "\FA68"; -} -.mdi-routes::before { - content: "\F46A"; -} -.mdi-rowing::before { - content: "\F608"; -} -.mdi-rss::before { - content: "\F46B"; -} -.mdi-rss-box::before { - content: "\F46C"; -} -.mdi-rss-off::before { - content: "\FF3E"; -} -.mdi-ruby::before { - content: "\FD09"; -} -.mdi-rugby::before { - content: "\FD75"; -} -.mdi-ruler::before { - content: "\F46D"; -} -.mdi-ruler-square::before { - content: "\FC9E"; -} -.mdi-run::before { - content: "\F70D"; -} -.mdi-run-fast::before { - content: "\F46E"; -} -.mdi-sack::before { - content: "\FD0A"; -} -.mdi-sack-percent::before { - content: "\FD0B"; -} -.mdi-safe::before { - content: "\FA69"; -} -.mdi-safety-goggles::before { - content: "\FD0C"; -} -.mdi-sailing::before { - content: "\FEE5"; -} -.mdi-sale::before { - content: "\F46F"; -} -.mdi-salesforce::before { - content: "\F88D"; -} -.mdi-sass::before { - content: "\F7EB"; -} -.mdi-satellite::before { - content: "\F470"; -} -.mdi-satellite-uplink::before { - content: "\F908"; -} -.mdi-satellite-variant::before { - content: "\F471"; -} -.mdi-sausage::before { - content: "\F8B9"; -} -.mdi-saw-blade::before { - content: "\FE44"; -} -.mdi-saxophone::before { - content: "\F609"; -} -.mdi-scale::before { - content: "\F472"; -} -.mdi-scale-balance::before { - content: "\F5D1"; -} -.mdi-scale-bathroom::before { - content: "\F473"; -} -.mdi-scanner::before { - content: "\F6AA"; -} -.mdi-scanner-off::before { - content: "\F909"; -} -.mdi-scatter-plot::before { - content: "\FEE6"; -} -.mdi-scatter-plot-outline::before { - content: "\FEE7"; -} -.mdi-school::before { - content: "\F474"; -} -.mdi-scissors-cutting::before { - content: "\FA6A"; -} -.mdi-screen-rotation::before { - content: "\F475"; -} -.mdi-screen-rotation-lock::before { - content: "\F476"; -} -.mdi-screw-flat-top::before { - content: "\FDCF"; -} -.mdi-screw-lag::before { - content: "\FE54"; -} -.mdi-screw-machine-flat-top::before { - content: "\FE55"; -} -.mdi-screw-machine-round-top::before { - content: "\FE56"; -} -.mdi-screw-round-top::before { - content: "\FE57"; -} -.mdi-screwdriver::before { - content: "\F477"; -} -.mdi-script::before { - content: "\FB9D"; -} -.mdi-script-outline::before { - content: "\F478"; -} -.mdi-script-text::before { - content: "\FB9E"; -} -.mdi-script-text-outline::before { - content: "\FB9F"; -} -.mdi-sd::before { - content: "\F479"; -} -.mdi-seal::before { - content: "\F47A"; -} -.mdi-search-web::before { - content: "\F70E"; -} -.mdi-seat::before { - content: "\FC9F"; -} -.mdi-seat-flat::before { - content: "\F47B"; -} -.mdi-seat-flat-angled::before { - content: "\F47C"; -} -.mdi-seat-individual-suite::before { - content: "\F47D"; -} -.mdi-seat-legroom-extra::before { - content: "\F47E"; -} -.mdi-seat-legroom-normal::before { - content: "\F47F"; -} -.mdi-seat-legroom-reduced::before { - content: "\F480"; -} -.mdi-seat-outline::before { - content: "\FCA0"; -} -.mdi-seat-recline-extra::before { - content: "\F481"; -} -.mdi-seat-recline-normal::before { - content: "\F482"; -} -.mdi-seatbelt::before { - content: "\FCA1"; -} -.mdi-security::before { - content: "\F483"; -} -.mdi-security-network::before { - content: "\F484"; -} -.mdi-seed::before { - content: "\FE45"; -} -.mdi-seed-outline::before { - content: "\FE46"; -} -.mdi-segment::before { - content: "\FEE8"; -} -.mdi-select::before { - content: "\F485"; -} -.mdi-select-all::before { - content: "\F486"; -} -.mdi-select-color::before { - content: "\FD0D"; -} -.mdi-select-compare::before { - content: "\FAD8"; -} -.mdi-select-drag::before { - content: "\FA6B"; -} -.mdi-select-group::before { - content: "\FF9F"; -} -.mdi-select-inverse::before { - content: "\F487"; -} -.mdi-select-off::before { - content: "\F488"; -} -.mdi-selection::before { - content: "\F489"; -} -.mdi-selection-drag::before { - content: "\FA6C"; -} -.mdi-selection-ellipse::before { - content: "\FD0E"; -} -.mdi-selection-ellipse-arrow-inside::before { - content: "\FF3F"; -} -.mdi-selection-off::before { - content: "\F776"; -} -.mdi-send::before { - content: "\F48A"; -} -.mdi-send-circle::before { - content: "\FE58"; -} -.mdi-send-circle-outline::before { - content: "\FE59"; -} -.mdi-send-lock::before { - content: "\F7EC"; -} -.mdi-serial-port::before { - content: "\F65C"; -} -.mdi-server::before { - content: "\F48B"; -} -.mdi-server-minus::before { - content: "\F48C"; -} -.mdi-server-network::before { - content: "\F48D"; -} -.mdi-server-network-off::before { - content: "\F48E"; -} -.mdi-server-off::before { - content: "\F48F"; -} -.mdi-server-plus::before { - content: "\F490"; -} -.mdi-server-remove::before { - content: "\F491"; -} -.mdi-server-security::before { - content: "\F492"; -} -.mdi-set-all::before { - content: "\F777"; -} -.mdi-set-center::before { - content: "\F778"; -} -.mdi-set-center-right::before { - content: "\F779"; -} -.mdi-set-left::before { - content: "\F77A"; -} -.mdi-set-left-center::before { - content: "\F77B"; -} -.mdi-set-left-right::before { - content: "\F77C"; -} -.mdi-set-none::before { - content: "\F77D"; -} -.mdi-set-right::before { - content: "\F77E"; -} -.mdi-set-top-box::before { - content: "\F99E"; -} -.mdi-settings::before { - content: "\F493"; -} -.mdi-settings-box::before { - content: "\F494"; -} -.mdi-settings-helper::before { - content: "\FA6D"; -} -.mdi-settings-outline::before { - content: "\F8BA"; -} -.mdi-shape::before { - content: "\F830"; -} -.mdi-shape-circle-plus::before { - content: "\F65D"; -} -.mdi-shape-outline::before { - content: "\F831"; -} -.mdi-shape-plus::before { - content: "\F495"; -} -.mdi-shape-polygon-plus::before { - content: "\F65E"; -} -.mdi-shape-rectangle-plus::before { - content: "\F65F"; -} -.mdi-shape-square-plus::before { - content: "\F660"; -} -.mdi-share::before { - content: "\F496"; -} -.mdi-share-off::before { - content: "\FF40"; -} -.mdi-share-off-outline::before { - content: "\FF41"; -} -.mdi-share-outline::before { - content: "\F931"; -} -.mdi-share-variant::before { - content: "\F497"; -} -.mdi-sheep::before { - content: "\FCA2"; -} -.mdi-shield::before { - content: "\F498"; -} -.mdi-shield-account::before { - content: "\F88E"; -} -.mdi-shield-account-outline::before { - content: "\FA11"; -} -.mdi-shield-airplane::before { - content: "\F6BA"; -} -.mdi-shield-airplane-outline::before { - content: "\FCA3"; -} -.mdi-shield-alert::before { - content: "\FEE9"; -} -.mdi-shield-alert-outline::before { - content: "\FEEA"; -} -.mdi-shield-car::before { - content: "\FFA0"; -} -.mdi-shield-check::before { - content: "\F565"; -} -.mdi-shield-check-outline::before { - content: "\FCA4"; -} -.mdi-shield-cross::before { - content: "\FCA5"; -} -.mdi-shield-cross-outline::before { - content: "\FCA6"; -} -.mdi-shield-half-full::before { - content: "\F77F"; -} -.mdi-shield-home::before { - content: "\F689"; -} -.mdi-shield-home-outline::before { - content: "\FCA7"; -} -.mdi-shield-key::before { - content: "\FBA0"; -} -.mdi-shield-key-outline::before { - content: "\FBA1"; -} -.mdi-shield-link-variant::before { - content: "\FD0F"; -} -.mdi-shield-link-variant-outline::before { - content: "\FD10"; -} -.mdi-shield-lock::before { - content: "\F99C"; -} -.mdi-shield-lock-outline::before { - content: "\FCA8"; -} -.mdi-shield-off::before { - content: "\F99D"; -} -.mdi-shield-off-outline::before { - content: "\F99B"; -} -.mdi-shield-outline::before { - content: "\F499"; -} -.mdi-shield-plus::before { - content: "\FAD9"; -} -.mdi-shield-plus-outline::before { - content: "\FADA"; -} -.mdi-shield-remove::before { - content: "\FADB"; -} -.mdi-shield-remove-outline::before { - content: "\FADC"; -} -.mdi-shield-search::before { - content: "\FD76"; -} -.mdi-ship-wheel::before { - content: "\F832"; -} -.mdi-shoe-formal::before { - content: "\FB22"; -} -.mdi-shoe-heel::before { - content: "\FB23"; -} -.mdi-shoe-print::before { - content: "\FE5A"; -} -.mdi-shopify::before { - content: "\FADD"; -} -.mdi-shopping::before { - content: "\F49A"; -} -.mdi-shopping-music::before { - content: "\F49B"; -} -.mdi-shopping-search::before { - content: "\FFA1"; -} -.mdi-shovel::before { - content: "\F70F"; -} -.mdi-shovel-off::before { - content: "\F710"; -} -.mdi-shower::before { - content: "\F99F"; -} -.mdi-shower-head::before { - content: "\F9A0"; -} -.mdi-shredder::before { - content: "\F49C"; -} -.mdi-shuffle::before { - content: "\F49D"; -} -.mdi-shuffle-disabled::before { - content: "\F49E"; -} -.mdi-shuffle-variant::before { - content: "\F49F"; -} -.mdi-sigma::before { - content: "\F4A0"; -} -.mdi-sigma-lower::before { - content: "\F62B"; -} -.mdi-sign-caution::before { - content: "\F4A1"; -} -.mdi-sign-direction::before { - content: "\F780"; -} -.mdi-sign-text::before { - content: "\F781"; -} -.mdi-signal::before { - content: "\F4A2"; -} -.mdi-signal-2g::before { - content: "\F711"; -} -.mdi-signal-3g::before { - content: "\F712"; -} -.mdi-signal-4g::before { - content: "\F713"; -} -.mdi-signal-5g::before { - content: "\FA6E"; -} -.mdi-signal-cellular-1::before { - content: "\F8BB"; -} -.mdi-signal-cellular-2::before { - content: "\F8BC"; -} -.mdi-signal-cellular-3::before { - content: "\F8BD"; -} -.mdi-signal-cellular-outline::before { - content: "\F8BE"; -} -.mdi-signal-distance-variant::before { - content: "\FE47"; -} -.mdi-signal-hspa::before { - content: "\F714"; -} -.mdi-signal-hspa-plus::before { - content: "\F715"; -} -.mdi-signal-off::before { - content: "\F782"; -} -.mdi-signal-variant::before { - content: "\F60A"; -} -.mdi-signature::before { - content: "\FE5B"; -} -.mdi-signature-freehand::before { - content: "\FE5C"; -} -.mdi-signature-image::before { - content: "\FE5D"; -} -.mdi-signature-text::before { - content: "\FE5E"; -} -.mdi-silo::before { - content: "\FB24"; -} -.mdi-silverware::before { - content: "\F4A3"; -} -.mdi-silverware-fork::before { - content: "\F4A4"; -} -.mdi-silverware-fork-knife::before { - content: "\FA6F"; -} -.mdi-silverware-spoon::before { - content: "\F4A5"; -} -.mdi-silverware-variant::before { - content: "\F4A6"; -} -.mdi-sim::before { - content: "\F4A7"; -} -.mdi-sim-alert::before { - content: "\F4A8"; -} -.mdi-sim-off::before { - content: "\F4A9"; -} -.mdi-sina-weibo::before { - content: "\FADE"; -} -.mdi-sitemap::before { - content: "\F4AA"; -} -.mdi-skate::before { - content: "\FD11"; -} -.mdi-skew-less::before { - content: "\FD12"; -} -.mdi-skew-more::before { - content: "\FD13"; -} -.mdi-skip-backward::before { - content: "\F4AB"; -} -.mdi-skip-backward-outline::before { - content: "\FF42"; -} -.mdi-skip-forward::before { - content: "\F4AC"; -} -.mdi-skip-forward-outline::before { - content: "\FF43"; -} -.mdi-skip-next::before { - content: "\F4AD"; -} -.mdi-skip-next-circle::before { - content: "\F661"; -} -.mdi-skip-next-circle-outline::before { - content: "\F662"; -} -.mdi-skip-next-outline::before { - content: "\FF44"; -} -.mdi-skip-previous::before { - content: "\F4AE"; -} -.mdi-skip-previous-circle::before { - content: "\F663"; -} -.mdi-skip-previous-circle-outline::before { - content: "\F664"; -} -.mdi-skip-previous-outline::before { - content: "\FF45"; -} -.mdi-skull::before { - content: "\F68B"; -} -.mdi-skull-crossbones::before { - content: "\FBA2"; -} -.mdi-skull-crossbones-outline::before { - content: "\FBA3"; -} -.mdi-skull-outline::before { - content: "\FBA4"; -} -.mdi-skype::before { - content: "\F4AF"; -} -.mdi-skype-business::before { - content: "\F4B0"; -} -.mdi-slack::before { - content: "\F4B1"; -} -.mdi-slackware::before { - content: "\F90A"; -} -.mdi-sleep::before { - content: "\F4B2"; -} -.mdi-sleep-off::before { - content: "\F4B3"; -} -.mdi-slope-downhill::before { - content: "\FE5F"; -} -.mdi-slope-uphill::before { - content: "\FE60"; -} -.mdi-smog::before { - content: "\FA70"; -} -.mdi-smoke-detector::before { - content: "\F392"; -} -.mdi-smoking::before { - content: "\F4B4"; -} -.mdi-smoking-off::before { - content: "\F4B5"; -} -.mdi-snapchat::before { - content: "\F4B6"; -} -.mdi-snowflake::before { - content: "\F716"; -} -.mdi-snowflake-alert::before { - content: "\FF46"; -} -.mdi-snowflake-variant::before { - content: "\FF47"; -} -.mdi-snowman::before { - content: "\F4B7"; -} -.mdi-soccer::before { - content: "\F4B8"; -} -.mdi-soccer-field::before { - content: "\F833"; -} -.mdi-sofa::before { - content: "\F4B9"; -} -.mdi-solar-panel::before { - content: "\FD77"; -} -.mdi-solar-panel-large::before { - content: "\FD78"; -} -.mdi-solar-power::before { - content: "\FA71"; -} -.mdi-solid::before { - content: "\F68C"; -} -.mdi-sort::before { - content: "\F4BA"; -} -.mdi-sort-alphabetical::before { - content: "\F4BB"; -} -.mdi-sort-ascending::before { - content: "\F4BC"; -} -.mdi-sort-descending::before { - content: "\F4BD"; -} -.mdi-sort-numeric::before { - content: "\F4BE"; -} -.mdi-sort-variant::before { - content: "\F4BF"; -} -.mdi-sort-variant-lock::before { - content: "\FCA9"; -} -.mdi-sort-variant-lock-open::before { - content: "\FCAA"; -} -.mdi-soundcloud::before { - content: "\F4C0"; -} -.mdi-source-branch::before { - content: "\F62C"; -} -.mdi-source-commit::before { - content: "\F717"; -} -.mdi-source-commit-end::before { - content: "\F718"; -} -.mdi-source-commit-end-local::before { - content: "\F719"; -} -.mdi-source-commit-local::before { - content: "\F71A"; -} -.mdi-source-commit-next-local::before { - content: "\F71B"; -} -.mdi-source-commit-start::before { - content: "\F71C"; -} -.mdi-source-commit-start-next-local::before { - content: "\F71D"; -} -.mdi-source-fork::before { - content: "\F4C1"; -} -.mdi-source-merge::before { - content: "\F62D"; -} -.mdi-source-pull::before { - content: "\F4C2"; -} -.mdi-source-repository::before { - content: "\FCAB"; -} -.mdi-source-repository-multiple::before { - content: "\FCAC"; -} -.mdi-soy-sauce::before { - content: "\F7ED"; -} -.mdi-spa::before { - content: "\FCAD"; -} -.mdi-spa-outline::before { - content: "\FCAE"; -} -.mdi-space-invaders::before { - content: "\FBA5"; -} -.mdi-spade::before { - content: "\FE48"; -} -.mdi-speaker::before { - content: "\F4C3"; -} -.mdi-speaker-bluetooth::before { - content: "\F9A1"; -} -.mdi-speaker-multiple::before { - content: "\FD14"; -} -.mdi-speaker-off::before { - content: "\F4C4"; -} -.mdi-speaker-wireless::before { - content: "\F71E"; -} -.mdi-speedometer::before { - content: "\F4C5"; -} -.mdi-speedometer-medium::before { - content: "\FFA2"; -} -.mdi-speedometer-slow::before { - content: "\FFA3"; -} -.mdi-spellcheck::before { - content: "\F4C6"; -} -.mdi-spider-web::before { - content: "\FBA6"; -} -.mdi-spotify::before { - content: "\F4C7"; -} -.mdi-spotlight::before { - content: "\F4C8"; -} -.mdi-spotlight-beam::before { - content: "\F4C9"; -} -.mdi-spray::before { - content: "\F665"; -} -.mdi-spray-bottle::before { - content: "\FADF"; -} -.mdi-sprout::before { - content: "\FE49"; -} -.mdi-sprout-outline::before { - content: "\FE4A"; -} -.mdi-square::before { - content: "\F763"; -} -.mdi-square-edit-outline::before { - content: "\F90B"; -} -.mdi-square-inc::before { - content: "\F4CA"; -} -.mdi-square-inc-cash::before { - content: "\F4CB"; -} -.mdi-square-medium::before { - content: "\FA12"; -} -.mdi-square-medium-outline::before { - content: "\FA13"; -} -.mdi-square-outline::before { - content: "\F762"; -} -.mdi-square-root::before { - content: "\F783"; -} -.mdi-square-root-box::before { - content: "\F9A2"; -} -.mdi-square-small::before { - content: "\FA14"; -} -.mdi-squeegee::before { - content: "\FAE0"; -} -.mdi-ssh::before { - content: "\F8BF"; -} -.mdi-stack-exchange::before { - content: "\F60B"; -} -.mdi-stack-overflow::before { - content: "\F4CC"; -} -.mdi-stadium::before { - content: "\F71F"; -} -.mdi-stairs::before { - content: "\F4CD"; -} -.mdi-stamper::before { - content: "\FD15"; -} -.mdi-standard-definition::before { - content: "\F7EE"; -} -.mdi-star::before { - content: "\F4CE"; -} -.mdi-star-box::before { - content: "\FA72"; -} -.mdi-star-box-outline::before { - content: "\FA73"; -} -.mdi-star-circle::before { - content: "\F4CF"; -} -.mdi-star-circle-outline::before { - content: "\F9A3"; -} -.mdi-star-face::before { - content: "\F9A4"; -} -.mdi-star-four-points::before { - content: "\FAE1"; -} -.mdi-star-four-points-outline::before { - content: "\FAE2"; -} -.mdi-star-half::before { - content: "\F4D0"; -} -.mdi-star-off::before { - content: "\F4D1"; -} -.mdi-star-outline::before { - content: "\F4D2"; -} -.mdi-star-three-points::before { - content: "\FAE3"; -} -.mdi-star-three-points-outline::before { - content: "\FAE4"; -} -.mdi-steam::before { - content: "\F4D3"; -} -.mdi-steam-box::before { - content: "\F90C"; -} -.mdi-steering::before { - content: "\F4D4"; -} -.mdi-steering-off::before { - content: "\F90D"; -} -.mdi-step-backward::before { - content: "\F4D5"; -} -.mdi-step-backward-2::before { - content: "\F4D6"; -} -.mdi-step-forward::before { - content: "\F4D7"; -} -.mdi-step-forward-2::before { - content: "\F4D8"; -} -.mdi-stethoscope::before { - content: "\F4D9"; -} -.mdi-sticker::before { - content: "\F5D0"; -} -.mdi-sticker-emoji::before { - content: "\F784"; -} -.mdi-stocking::before { - content: "\F4DA"; -} -.mdi-stop::before { - content: "\F4DB"; -} -.mdi-stop-circle::before { - content: "\F666"; -} -.mdi-stop-circle-outline::before { - content: "\F667"; -} -.mdi-store::before { - content: "\F4DC"; -} -.mdi-store-24-hour::before { - content: "\F4DD"; -} -.mdi-stove::before { - content: "\F4DE"; -} -.mdi-strava::before { - content: "\FB25"; -} -.mdi-stretch-to-page::before { - content: "\FF48"; -} -.mdi-stretch-to-page-outline::before { - content: "\FF49"; -} -.mdi-subdirectory-arrow-left::before { - content: "\F60C"; -} -.mdi-subdirectory-arrow-right::before { - content: "\F60D"; -} -.mdi-subtitles::before { - content: "\FA15"; -} -.mdi-subtitles-outline::before { - content: "\FA16"; -} -.mdi-subway::before { - content: "\F6AB"; -} -.mdi-subway-alert-variant::before { - content: "\FD79"; -} -.mdi-subway-variant::before { - content: "\F4DF"; -} -.mdi-summit::before { - content: "\F785"; -} -.mdi-sunglasses::before { - content: "\F4E0"; -} -.mdi-surround-sound::before { - content: "\F5C5"; -} -.mdi-surround-sound-2-0::before { - content: "\F7EF"; -} -.mdi-surround-sound-3-1::before { - content: "\F7F0"; -} -.mdi-surround-sound-5-1::before { - content: "\F7F1"; -} -.mdi-surround-sound-7-1::before { - content: "\F7F2"; -} -.mdi-svg::before { - content: "\F720"; -} -.mdi-swap-horizontal::before { - content: "\F4E1"; -} -.mdi-swap-horizontal-bold::before { - content: "\FBA9"; -} -.mdi-swap-horizontal-variant::before { - content: "\F8C0"; -} -.mdi-swap-vertical::before { - content: "\F4E2"; -} -.mdi-swap-vertical-bold::before { - content: "\FBAA"; -} -.mdi-swap-vertical-variant::before { - content: "\F8C1"; -} -.mdi-swim::before { - content: "\F4E3"; -} -.mdi-switch::before { - content: "\F4E4"; -} -.mdi-sword::before { - content: "\F4E5"; -} -.mdi-sword-cross::before { - content: "\F786"; -} -.mdi-symfony::before { - content: "\FAE5"; -} -.mdi-sync::before { - content: "\F4E6"; -} -.mdi-sync-alert::before { - content: "\F4E7"; -} -.mdi-sync-off::before { - content: "\F4E8"; -} -.mdi-tab::before { - content: "\F4E9"; -} -.mdi-tab-minus::before { - content: "\FB26"; -} -.mdi-tab-plus::before { - content: "\F75B"; -} -.mdi-tab-remove::before { - content: "\FB27"; -} -.mdi-tab-unselected::before { - content: "\F4EA"; -} -.mdi-table::before { - content: "\F4EB"; -} -.mdi-table-border::before { - content: "\FA17"; -} -.mdi-table-column::before { - content: "\F834"; -} -.mdi-table-column-plus-after::before { - content: "\F4EC"; -} -.mdi-table-column-plus-before::before { - content: "\F4ED"; -} -.mdi-table-column-remove::before { - content: "\F4EE"; -} -.mdi-table-column-width::before { - content: "\F4EF"; -} -.mdi-table-edit::before { - content: "\F4F0"; -} -.mdi-table-large::before { - content: "\F4F1"; -} -.mdi-table-large-plus::before { - content: "\FFA4"; -} -.mdi-table-large-remove::before { - content: "\FFA5"; -} -.mdi-table-merge-cells::before { - content: "\F9A5"; -} -.mdi-table-of-contents::before { - content: "\F835"; -} -.mdi-table-plus::before { - content: "\FA74"; -} -.mdi-table-remove::before { - content: "\FA75"; -} -.mdi-table-row::before { - content: "\F836"; -} -.mdi-table-row-height::before { - content: "\F4F2"; -} -.mdi-table-row-plus-after::before { - content: "\F4F3"; -} -.mdi-table-row-plus-before::before { - content: "\F4F4"; -} -.mdi-table-row-remove::before { - content: "\F4F5"; -} -.mdi-table-search::before { - content: "\F90E"; -} -.mdi-table-settings::before { - content: "\F837"; -} -.mdi-table-tennis::before { - content: "\FE4B"; -} -.mdi-tablet::before { - content: "\F4F6"; -} -.mdi-tablet-android::before { - content: "\F4F7"; -} -.mdi-tablet-cellphone::before { - content: "\F9A6"; -} -.mdi-tablet-dashboard::before { - content: "\FEEB"; -} -.mdi-tablet-ipad::before { - content: "\F4F8"; -} -.mdi-taco::before { - content: "\F761"; -} -.mdi-tag::before { - content: "\F4F9"; -} -.mdi-tag-faces::before { - content: "\F4FA"; -} -.mdi-tag-heart::before { - content: "\F68A"; -} -.mdi-tag-heart-outline::before { - content: "\FBAB"; -} -.mdi-tag-minus::before { - content: "\F90F"; -} -.mdi-tag-multiple::before { - content: "\F4FB"; -} -.mdi-tag-outline::before { - content: "\F4FC"; -} -.mdi-tag-plus::before { - content: "\F721"; -} -.mdi-tag-remove::before { - content: "\F722"; -} -.mdi-tag-text-outline::before { - content: "\F4FD"; -} -.mdi-tank::before { - content: "\FD16"; -} -.mdi-tape-measure::before { - content: "\FB28"; -} -.mdi-target::before { - content: "\F4FE"; -} -.mdi-target-account::before { - content: "\FBAC"; -} -.mdi-target-variant::before { - content: "\FA76"; -} -.mdi-taxi::before { - content: "\F4FF"; -} -.mdi-tea::before { - content: "\FD7A"; -} -.mdi-tea-outline::before { - content: "\FD7B"; -} -.mdi-teach::before { - content: "\F88F"; -} -.mdi-teamviewer::before { - content: "\F500"; -} -.mdi-telegram::before { - content: "\F501"; -} -.mdi-telescope::before { - content: "\FB29"; -} -.mdi-television::before { - content: "\F502"; -} -.mdi-television-box::before { - content: "\F838"; -} -.mdi-television-classic::before { - content: "\F7F3"; -} -.mdi-television-classic-off::before { - content: "\F839"; -} -.mdi-television-guide::before { - content: "\F503"; -} -.mdi-television-off::before { - content: "\F83A"; -} -.mdi-television-pause::before { - content: "\FFA6"; -} -.mdi-television-play::before { - content: "\FEEC"; -} -.mdi-television-stop::before { - content: "\FFA7"; -} -.mdi-temperature-celsius::before { - content: "\F504"; -} -.mdi-temperature-fahrenheit::before { - content: "\F505"; -} -.mdi-temperature-kelvin::before { - content: "\F506"; -} -.mdi-tennis::before { - content: "\FD7C"; -} -.mdi-tennis-ball::before { - content: "\F507"; -} -.mdi-tent::before { - content: "\F508"; -} -.mdi-terrain::before { - content: "\F509"; -} -.mdi-test-tube::before { - content: "\F668"; -} -.mdi-test-tube-empty::before { - content: "\F910"; -} -.mdi-test-tube-off::before { - content: "\F911"; -} -.mdi-text::before { - content: "\F9A7"; -} -.mdi-text-shadow::before { - content: "\F669"; -} -.mdi-text-short::before { - content: "\F9A8"; -} -.mdi-text-subject::before { - content: "\F9A9"; -} -.mdi-text-to-speech::before { - content: "\F50A"; -} -.mdi-text-to-speech-off::before { - content: "\F50B"; -} -.mdi-textbox::before { - content: "\F60E"; -} -.mdi-textbox-password::before { - content: "\F7F4"; -} -.mdi-texture::before { - content: "\F50C"; -} -.mdi-theater::before { - content: "\F50D"; -} -.mdi-theme-light-dark::before { - content: "\F50E"; -} -.mdi-thermometer::before { - content: "\F50F"; -} -.mdi-thermometer-alert::before { - content: "\FE61"; -} -.mdi-thermometer-chevron-down::before { - content: "\FE62"; -} -.mdi-thermometer-chevron-up::before { - content: "\FE63"; -} -.mdi-thermometer-lines::before { - content: "\F510"; -} -.mdi-thermometer-minus::before { - content: "\FE64"; -} -.mdi-thermometer-plus::before { - content: "\FE65"; -} -.mdi-thermostat::before { - content: "\F393"; -} -.mdi-thermostat-box::before { - content: "\F890"; -} -.mdi-thought-bubble::before { - content: "\F7F5"; -} -.mdi-thought-bubble-outline::before { - content: "\F7F6"; -} -.mdi-thumb-down::before { - content: "\F511"; -} -.mdi-thumb-down-outline::before { - content: "\F512"; -} -.mdi-thumb-up::before { - content: "\F513"; -} -.mdi-thumb-up-outline::before { - content: "\F514"; -} -.mdi-thumbs-up-down::before { - content: "\F515"; -} -.mdi-ticket::before { - content: "\F516"; -} -.mdi-ticket-account::before { - content: "\F517"; -} -.mdi-ticket-confirmation::before { - content: "\F518"; -} -.mdi-ticket-outline::before { - content: "\F912"; -} -.mdi-ticket-percent::before { - content: "\F723"; -} -.mdi-tie::before { - content: "\F519"; -} -.mdi-tilde::before { - content: "\F724"; -} -.mdi-timelapse::before { - content: "\F51A"; -} -.mdi-timeline::before { - content: "\FBAD"; -} -.mdi-timeline-alert::before { - content: "\FFB2"; -} -.mdi-timeline-alert-outline::before { - content: "\FFB5"; -} -.mdi-timeline-help::before { - content: "\FFB6"; -} -.mdi-timeline-help-outline::before { - content: "\FFB7"; -} -.mdi-timeline-outline::before { - content: "\FBAE"; -} -.mdi-timeline-plus::before { - content: "\FFB3"; -} -.mdi-timeline-plus-outline::before { - content: "\FFB4"; -} -.mdi-timeline-text::before { - content: "\FBAF"; -} -.mdi-timeline-text-outline::before { - content: "\FBB0"; -} -.mdi-timer::before { - content: "\F51B"; -} -.mdi-timer-10::before { - content: "\F51C"; -} -.mdi-timer-3::before { - content: "\F51D"; -} -.mdi-timer-off::before { - content: "\F51E"; -} -.mdi-timer-sand::before { - content: "\F51F"; -} -.mdi-timer-sand-empty::before { - content: "\F6AC"; -} -.mdi-timer-sand-full::before { - content: "\F78B"; -} -.mdi-timetable::before { - content: "\F520"; -} -.mdi-toaster-oven::before { - content: "\FCAF"; -} -.mdi-toggle-switch::before { - content: "\F521"; -} -.mdi-toggle-switch-off::before { - content: "\F522"; -} -.mdi-toggle-switch-off-outline::before { - content: "\FA18"; -} -.mdi-toggle-switch-outline::before { - content: "\FA19"; -} -.mdi-toilet::before { - content: "\F9AA"; -} -.mdi-toolbox::before { - content: "\F9AB"; -} -.mdi-toolbox-outline::before { - content: "\F9AC"; -} -.mdi-tooltip::before { - content: "\F523"; -} -.mdi-tooltip-account::before { - content: "\F00C"; -} -.mdi-tooltip-edit::before { - content: "\F524"; -} -.mdi-tooltip-image::before { - content: "\F525"; -} -.mdi-tooltip-image-outline::before { - content: "\FBB1"; -} -.mdi-tooltip-outline::before { - content: "\F526"; -} -.mdi-tooltip-plus::before { - content: "\FBB2"; -} -.mdi-tooltip-plus-outline::before { - content: "\F527"; -} -.mdi-tooltip-text::before { - content: "\F528"; -} -.mdi-tooltip-text-outline::before { - content: "\FBB3"; -} -.mdi-tooth::before { - content: "\F8C2"; -} -.mdi-tooth-outline::before { - content: "\F529"; -} -.mdi-tor::before { - content: "\F52A"; -} -.mdi-tortoise::before { - content: "\FD17"; -} -.mdi-tournament::before { - content: "\F9AD"; -} -.mdi-tower-beach::before { - content: "\F680"; -} -.mdi-tower-fire::before { - content: "\F681"; -} -.mdi-towing::before { - content: "\F83B"; -} -.mdi-track-light::before { - content: "\F913"; -} -.mdi-trackpad::before { - content: "\F7F7"; -} -.mdi-trackpad-lock::before { - content: "\F932"; -} -.mdi-tractor::before { - content: "\F891"; -} -.mdi-trademark::before { - content: "\FA77"; -} -.mdi-traffic-light::before { - content: "\F52B"; -} -.mdi-train::before { - content: "\F52C"; -} -.mdi-train-car::before { - content: "\FBB4"; -} -.mdi-train-variant::before { - content: "\F8C3"; -} -.mdi-tram::before { - content: "\F52D"; -} -.mdi-transcribe::before { - content: "\F52E"; -} -.mdi-transcribe-close::before { - content: "\F52F"; -} -.mdi-transfer-down::before { - content: "\FD7D"; -} -.mdi-transfer-left::before { - content: "\FD7E"; -} -.mdi-transfer-right::before { - content: "\F530"; -} -.mdi-transfer-up::before { - content: "\FD7F"; -} -.mdi-transit-connection::before { - content: "\FD18"; -} -.mdi-transit-connection-variant::before { - content: "\FD19"; -} -.mdi-transit-detour::before { - content: "\FFA8"; -} -.mdi-transit-transfer::before { - content: "\F6AD"; -} -.mdi-transition::before { - content: "\F914"; -} -.mdi-transition-masked::before { - content: "\F915"; -} -.mdi-translate::before { - content: "\F5CA"; -} -.mdi-translate-off::before { - content: "\FE66"; -} -.mdi-transmission-tower::before { - content: "\FD1A"; -} -.mdi-trash-can::before { - content: "\FA78"; -} -.mdi-trash-can-outline::before { - content: "\FA79"; -} -.mdi-treasure-chest::before { - content: "\F725"; -} -.mdi-tree::before { - content: "\F531"; -} -.mdi-tree-outline::before { - content: "\FE4C"; -} -.mdi-trello::before { - content: "\F532"; -} -.mdi-trending-down::before { - content: "\F533"; -} -.mdi-trending-neutral::before { - content: "\F534"; -} -.mdi-trending-up::before { - content: "\F535"; -} -.mdi-triangle::before { - content: "\F536"; -} -.mdi-triangle-outline::before { - content: "\F537"; -} -.mdi-triforce::before { - content: "\FBB5"; -} -.mdi-trophy::before { - content: "\F538"; -} -.mdi-trophy-award::before { - content: "\F539"; -} -.mdi-trophy-broken::before { - content: "\FD80"; -} -.mdi-trophy-outline::before { - content: "\F53A"; -} -.mdi-trophy-variant::before { - content: "\F53B"; -} -.mdi-trophy-variant-outline::before { - content: "\F53C"; -} -.mdi-truck::before { - content: "\F53D"; -} -.mdi-truck-check::before { - content: "\FCB0"; -} -.mdi-truck-delivery::before { - content: "\F53E"; -} -.mdi-truck-fast::before { - content: "\F787"; -} -.mdi-truck-trailer::before { - content: "\F726"; -} -.mdi-tshirt-crew::before { - content: "\FA7A"; -} -.mdi-tshirt-crew-outline::before { - content: "\F53F"; -} -.mdi-tshirt-v::before { - content: "\FA7B"; -} -.mdi-tshirt-v-outline::before { - content: "\F540"; -} -.mdi-tumble-dryer::before { - content: "\F916"; -} -.mdi-tumblr::before { - content: "\F541"; -} -.mdi-tumblr-box::before { - content: "\F917"; -} -.mdi-tumblr-reblog::before { - content: "\F542"; -} -.mdi-tune::before { - content: "\F62E"; -} -.mdi-tune-vertical::before { - content: "\F66A"; -} -.mdi-turnstile::before { - content: "\FCB1"; -} -.mdi-turnstile-outline::before { - content: "\FCB2"; -} -.mdi-turtle::before { - content: "\FCB3"; -} -.mdi-twitch::before { - content: "\F543"; -} -.mdi-twitter::before { - content: "\F544"; -} -.mdi-twitter-box::before { - content: "\F545"; -} -.mdi-twitter-circle::before { - content: "\F546"; -} -.mdi-twitter-retweet::before { - content: "\F547"; -} -.mdi-two-factor-authentication::before { - content: "\F9AE"; -} -.mdi-typewriter::before { - content: "\FF4A"; -} -.mdi-uber::before { - content: "\F748"; -} -.mdi-ubisoft::before { - content: "\FBB6"; -} -.mdi-ubuntu::before { - content: "\F548"; -} -.mdi-ultra-high-definition::before { - content: "\F7F8"; -} -.mdi-umbraco::before { - content: "\F549"; -} -.mdi-umbrella::before { - content: "\F54A"; -} -.mdi-umbrella-closed::before { - content: "\F9AF"; -} -.mdi-umbrella-outline::before { - content: "\F54B"; -} -.mdi-undo::before { - content: "\F54C"; -} -.mdi-undo-variant::before { - content: "\F54D"; -} -.mdi-unfold-less-horizontal::before { - content: "\F54E"; -} -.mdi-unfold-less-vertical::before { - content: "\F75F"; -} -.mdi-unfold-more-horizontal::before { - content: "\F54F"; -} -.mdi-unfold-more-vertical::before { - content: "\F760"; -} -.mdi-ungroup::before { - content: "\F550"; -} -.mdi-unicode::before { - content: "\FEED"; -} -.mdi-unity::before { - content: "\F6AE"; -} -.mdi-unreal::before { - content: "\F9B0"; -} -.mdi-untappd::before { - content: "\F551"; -} -.mdi-update::before { - content: "\F6AF"; -} -.mdi-upload::before { - content: "\F552"; -} -.mdi-upload-multiple::before { - content: "\F83C"; -} -.mdi-upload-network::before { - content: "\F6F5"; -} -.mdi-upload-network-outline::before { - content: "\FCB4"; -} -.mdi-upload-outline::before { - content: "\FE67"; -} -.mdi-usb::before { - content: "\F553"; -} -.mdi-van-passenger::before { - content: "\F7F9"; -} -.mdi-van-utility::before { - content: "\F7FA"; -} -.mdi-vanish::before { - content: "\F7FB"; -} -.mdi-variable::before { - content: "\FAE6"; -} -.mdi-vector-arrange-above::before { - content: "\F554"; -} -.mdi-vector-arrange-below::before { - content: "\F555"; -} -.mdi-vector-bezier::before { - content: "\FAE7"; -} -.mdi-vector-circle::before { - content: "\F556"; -} -.mdi-vector-circle-variant::before { - content: "\F557"; -} -.mdi-vector-combine::before { - content: "\F558"; -} -.mdi-vector-curve::before { - content: "\F559"; -} -.mdi-vector-difference::before { - content: "\F55A"; -} -.mdi-vector-difference-ab::before { - content: "\F55B"; -} -.mdi-vector-difference-ba::before { - content: "\F55C"; -} -.mdi-vector-ellipse::before { - content: "\F892"; -} -.mdi-vector-intersection::before { - content: "\F55D"; -} -.mdi-vector-line::before { - content: "\F55E"; -} -.mdi-vector-point::before { - content: "\F55F"; -} -.mdi-vector-polygon::before { - content: "\F560"; -} -.mdi-vector-polyline::before { - content: "\F561"; -} -.mdi-vector-radius::before { - content: "\F749"; -} -.mdi-vector-rectangle::before { - content: "\F5C6"; -} -.mdi-vector-selection::before { - content: "\F562"; -} -.mdi-vector-square::before { - content: "\F001"; -} -.mdi-vector-triangle::before { - content: "\F563"; -} -.mdi-vector-union::before { - content: "\F564"; -} -.mdi-venmo::before { - content: "\F578"; -} -.mdi-vhs::before { - content: "\FA1A"; -} -.mdi-vibrate::before { - content: "\F566"; -} -.mdi-vibrate-off::before { - content: "\FCB5"; -} -.mdi-video::before { - content: "\F567"; -} -.mdi-video-3d::before { - content: "\F7FC"; -} -.mdi-video-3d-variant::before { - content: "\FEEE"; -} -.mdi-video-4k-box::before { - content: "\F83D"; -} -.mdi-video-account::before { - content: "\F918"; -} -.mdi-video-image::before { - content: "\F919"; -} -.mdi-video-input-antenna::before { - content: "\F83E"; -} -.mdi-video-input-component::before { - content: "\F83F"; -} -.mdi-video-input-hdmi::before { - content: "\F840"; -} -.mdi-video-input-scart::before { - content: "\FFA9"; -} -.mdi-video-input-svideo::before { - content: "\F841"; -} -.mdi-video-minus::before { - content: "\F9B1"; -} -.mdi-video-off::before { - content: "\F568"; -} -.mdi-video-off-outline::before { - content: "\FBB7"; -} -.mdi-video-outline::before { - content: "\FBB8"; -} -.mdi-video-plus::before { - content: "\F9B2"; -} -.mdi-video-stabilization::before { - content: "\F91A"; -} -.mdi-video-switch::before { - content: "\F569"; -} -.mdi-video-vintage::before { - content: "\FA1B"; -} -.mdi-video-wireless::before { - content: "\FEEF"; -} -.mdi-video-wireless-outline::before { - content: "\FEF0"; -} -.mdi-view-agenda::before { - content: "\F56A"; -} -.mdi-view-array::before { - content: "\F56B"; -} -.mdi-view-carousel::before { - content: "\F56C"; -} -.mdi-view-column::before { - content: "\F56D"; -} -.mdi-view-comfy::before { - content: "\FE4D"; -} -.mdi-view-compact::before { - content: "\FE4E"; -} -.mdi-view-compact-outline::before { - content: "\FE4F"; -} -.mdi-view-dashboard::before { - content: "\F56E"; -} -.mdi-view-dashboard-outline::before { - content: "\FA1C"; -} -.mdi-view-dashboard-variant::before { - content: "\F842"; -} -.mdi-view-day::before { - content: "\F56F"; -} -.mdi-view-grid::before { - content: "\F570"; -} -.mdi-view-grid-plus::before { - content: "\FFAA"; -} -.mdi-view-headline::before { - content: "\F571"; -} -.mdi-view-list::before { - content: "\F572"; -} -.mdi-view-module::before { - content: "\F573"; -} -.mdi-view-parallel::before { - content: "\F727"; -} -.mdi-view-quilt::before { - content: "\F574"; -} -.mdi-view-sequential::before { - content: "\F728"; -} -.mdi-view-split-horizontal::before { - content: "\FBA7"; -} -.mdi-view-split-vertical::before { - content: "\FBA8"; -} -.mdi-view-stream::before { - content: "\F575"; -} -.mdi-view-week::before { - content: "\F576"; -} -.mdi-vimeo::before { - content: "\F577"; -} -.mdi-violin::before { - content: "\F60F"; -} -.mdi-virtual-reality::before { - content: "\F893"; -} -.mdi-visual-studio::before { - content: "\F610"; -} -.mdi-visual-studio-code::before { - content: "\FA1D"; -} -.mdi-vk::before { - content: "\F579"; -} -.mdi-vk-box::before { - content: "\F57A"; -} -.mdi-vk-circle::before { - content: "\F57B"; -} -.mdi-vlc::before { - content: "\F57C"; -} -.mdi-voice::before { - content: "\F5CB"; -} -.mdi-voice-off::before { - content: "\FEF1"; -} -.mdi-voicemail::before { - content: "\F57D"; -} -.mdi-volleyball::before { - content: "\F9B3"; -} -.mdi-volume-high::before { - content: "\F57E"; -} -.mdi-volume-low::before { - content: "\F57F"; -} -.mdi-volume-medium::before { - content: "\F580"; -} -.mdi-volume-minus::before { - content: "\F75D"; -} -.mdi-volume-mute::before { - content: "\F75E"; -} -.mdi-volume-off::before { - content: "\F581"; -} -.mdi-volume-plus::before { - content: "\F75C"; -} -.mdi-volume-variant-off::before { - content: "\FE68"; -} -.mdi-vote::before { - content: "\FA1E"; -} -.mdi-vote-outline::before { - content: "\FA1F"; -} -.mdi-vpn::before { - content: "\F582"; -} -.mdi-vuejs::before { - content: "\F843"; -} -.mdi-vuetify::before { - content: "\FE50"; -} -.mdi-walk::before { - content: "\F583"; -} -.mdi-wall::before { - content: "\F7FD"; -} -.mdi-wall-sconce::before { - content: "\F91B"; -} -.mdi-wall-sconce-flat::before { - content: "\F91C"; -} -.mdi-wall-sconce-variant::before { - content: "\F91D"; -} -.mdi-wallet::before { - content: "\F584"; -} -.mdi-wallet-giftcard::before { - content: "\F585"; -} -.mdi-wallet-membership::before { - content: "\F586"; -} -.mdi-wallet-outline::before { - content: "\FBB9"; -} -.mdi-wallet-plus::before { - content: "\FFAB"; -} -.mdi-wallet-plus-outline::before { - content: "\FFAC"; -} -.mdi-wallet-travel::before { - content: "\F587"; -} -.mdi-wallpaper::before { - content: "\FE69"; -} -.mdi-wan::before { - content: "\F588"; -} -.mdi-wardrobe::before { - content: "\FFAD"; -} -.mdi-wardrobe-outline::before { - content: "\FFAE"; -} -.mdi-warehouse::before { - content: "\FFBB"; -} -.mdi-washing-machine::before { - content: "\F729"; -} -.mdi-watch::before { - content: "\F589"; -} -.mdi-watch-export::before { - content: "\F58A"; -} -.mdi-watch-export-variant::before { - content: "\F894"; -} -.mdi-watch-import::before { - content: "\F58B"; -} -.mdi-watch-import-variant::before { - content: "\F895"; -} -.mdi-watch-variant::before { - content: "\F896"; -} -.mdi-watch-vibrate::before { - content: "\F6B0"; -} -.mdi-watch-vibrate-off::before { - content: "\FCB6"; -} -.mdi-water::before { - content: "\F58C"; -} -.mdi-water-boiler::before { - content: "\FFAF"; -} -.mdi-water-off::before { - content: "\F58D"; -} -.mdi-water-outline::before { - content: "\FE6A"; -} -.mdi-water-percent::before { - content: "\F58E"; -} -.mdi-water-pump::before { - content: "\F58F"; -} -.mdi-water-pump-off::before { - content: "\FFB0"; -} -.mdi-watermark::before { - content: "\F612"; -} -.mdi-wave::before { - content: "\FF4B"; -} -.mdi-waves::before { - content: "\F78C"; -} -.mdi-waze::before { - content: "\FBBA"; -} -.mdi-weather-cloudy::before { - content: "\F590"; -} -.mdi-weather-cloudy-alert::before { - content: "\FF4C"; -} -.mdi-weather-cloudy-arrow-right::before { - content: "\FE51"; -} -.mdi-weather-fog::before { - content: "\F591"; -} -.mdi-weather-hail::before { - content: "\F592"; -} -.mdi-weather-hazy::before { - content: "\FF4D"; -} -.mdi-weather-hurricane::before { - content: "\F897"; -} -.mdi-weather-lightning::before { - content: "\F593"; -} -.mdi-weather-lightning-rainy::before { - content: "\F67D"; -} -.mdi-weather-night::before { - content: "\F594"; -} -.mdi-weather-night-partly-cloudy::before { - content: "\FF4E"; -} -.mdi-weather-partly-cloudy::before { - content: "\F595"; -} -.mdi-weather-partly-lightning::before { - content: "\FF4F"; -} -.mdi-weather-partly-rainy::before { - content: "\FF50"; -} -.mdi-weather-partly-snowy::before { - content: "\FF51"; -} -.mdi-weather-partly-snowy-rainy::before { - content: "\FF52"; -} -.mdi-weather-pouring::before { - content: "\F596"; -} -.mdi-weather-rainy::before { - content: "\F597"; -} -.mdi-weather-snowy::before { - content: "\F598"; -} -.mdi-weather-snowy-heavy::before { - content: "\FF53"; -} -.mdi-weather-snowy-rainy::before { - content: "\F67E"; -} -.mdi-weather-sunny::before { - content: "\F599"; -} -.mdi-weather-sunny-alert::before { - content: "\FF54"; -} -.mdi-weather-sunset::before { - content: "\F59A"; -} -.mdi-weather-sunset-down::before { - content: "\F59B"; -} -.mdi-weather-sunset-up::before { - content: "\F59C"; -} -.mdi-weather-tornado::before { - content: "\FF55"; -} -.mdi-weather-windy::before { - content: "\F59D"; -} -.mdi-weather-windy-variant::before { - content: "\F59E"; -} -.mdi-web::before { - content: "\F59F"; -} -.mdi-web-box::before { - content: "\FFB1"; -} -.mdi-webcam::before { - content: "\F5A0"; -} -.mdi-webhook::before { - content: "\F62F"; -} -.mdi-webpack::before { - content: "\F72A"; -} -.mdi-wechat::before { - content: "\F611"; -} -.mdi-weight::before { - content: "\F5A1"; -} -.mdi-weight-gram::before { - content: "\FD1B"; -} -.mdi-weight-kilogram::before { - content: "\F5A2"; -} -.mdi-weight-pound::before { - content: "\F9B4"; -} -.mdi-whatsapp::before { - content: "\F5A3"; -} -.mdi-wheelchair-accessibility::before { - content: "\F5A4"; -} -.mdi-whistle::before { - content: "\F9B5"; -} -.mdi-white-balance-auto::before { - content: "\F5A5"; -} -.mdi-white-balance-incandescent::before { - content: "\F5A6"; -} -.mdi-white-balance-iridescent::before { - content: "\F5A7"; -} -.mdi-white-balance-sunny::before { - content: "\F5A8"; -} -.mdi-widgets::before { - content: "\F72B"; -} -.mdi-wifi::before { - content: "\F5A9"; -} -.mdi-wifi-off::before { - content: "\F5AA"; -} -.mdi-wifi-star::before { - content: "\FE6B"; -} -.mdi-wifi-strength-1::before { - content: "\F91E"; -} -.mdi-wifi-strength-1-alert::before { - content: "\F91F"; -} -.mdi-wifi-strength-1-lock::before { - content: "\F920"; -} -.mdi-wifi-strength-2::before { - content: "\F921"; -} -.mdi-wifi-strength-2-alert::before { - content: "\F922"; -} -.mdi-wifi-strength-2-lock::before { - content: "\F923"; -} -.mdi-wifi-strength-3::before { - content: "\F924"; -} -.mdi-wifi-strength-3-alert::before { - content: "\F925"; -} -.mdi-wifi-strength-3-lock::before { - content: "\F926"; -} -.mdi-wifi-strength-4::before { - content: "\F927"; -} -.mdi-wifi-strength-4-alert::before { - content: "\F928"; -} -.mdi-wifi-strength-4-lock::before { - content: "\F929"; -} -.mdi-wifi-strength-alert-outline::before { - content: "\F92A"; -} -.mdi-wifi-strength-lock-outline::before { - content: "\F92B"; -} -.mdi-wifi-strength-off::before { - content: "\F92C"; -} -.mdi-wifi-strength-off-outline::before { - content: "\F92D"; -} -.mdi-wifi-strength-outline::before { - content: "\F92E"; -} -.mdi-wii::before { - content: "\F5AB"; -} -.mdi-wiiu::before { - content: "\F72C"; -} -.mdi-wikipedia::before { - content: "\F5AC"; -} -.mdi-wind-turbine::before { - content: "\FD81"; -} -.mdi-window-close::before { - content: "\F5AD"; -} -.mdi-window-closed::before { - content: "\F5AE"; -} -.mdi-window-maximize::before { - content: "\F5AF"; -} -.mdi-window-minimize::before { - content: "\F5B0"; -} -.mdi-window-open::before { - content: "\F5B1"; -} -.mdi-window-restore::before { - content: "\F5B2"; -} -.mdi-windows::before { - content: "\F5B3"; -} -.mdi-windows-classic::before { - content: "\FA20"; -} -.mdi-wiper::before { - content: "\FAE8"; -} -.mdi-wiper-wash::before { - content: "\FD82"; -} -.mdi-wordpress::before { - content: "\F5B4"; -} -.mdi-worker::before { - content: "\F5B5"; -} -.mdi-wrap::before { - content: "\F5B6"; -} -.mdi-wrap-disabled::before { - content: "\FBBB"; -} -.mdi-wrench::before { - content: "\F5B7"; -} -.mdi-wrench-outline::before { - content: "\FBBC"; -} -.mdi-wunderlist::before { - content: "\F5B8"; -} -.mdi-xamarin::before { - content: "\F844"; -} -.mdi-xamarin-outline::before { - content: "\F845"; -} -.mdi-xaml::before { - content: "\F673"; -} -.mdi-xbox::before { - content: "\F5B9"; -} -.mdi-xbox-controller::before { - content: "\F5BA"; -} -.mdi-xbox-controller-battery-alert::before { - content: "\F74A"; -} -.mdi-xbox-controller-battery-charging::before { - content: "\FA21"; -} -.mdi-xbox-controller-battery-empty::before { - content: "\F74B"; -} -.mdi-xbox-controller-battery-full::before { - content: "\F74C"; -} -.mdi-xbox-controller-battery-low::before { - content: "\F74D"; -} -.mdi-xbox-controller-battery-medium::before { - content: "\F74E"; -} -.mdi-xbox-controller-battery-unknown::before { - content: "\F74F"; -} -.mdi-xbox-controller-menu::before { - content: "\FE52"; -} -.mdi-xbox-controller-off::before { - content: "\F5BB"; -} -.mdi-xbox-controller-view::before { - content: "\FE53"; -} -.mdi-xda::before { - content: "\F5BC"; -} -.mdi-xing::before { - content: "\F5BD"; -} -.mdi-xing-box::before { - content: "\F5BE"; -} -.mdi-xing-circle::before { - content: "\F5BF"; -} -.mdi-xml::before { - content: "\F5C0"; -} -.mdi-xmpp::before { - content: "\F7FE"; -} -.mdi-yahoo::before { - content: "\FB2A"; -} -.mdi-yammer::before { - content: "\F788"; -} -.mdi-yeast::before { - content: "\F5C1"; -} -.mdi-yelp::before { - content: "\F5C2"; -} -.mdi-yin-yang::before { - content: "\F67F"; -} -.mdi-youtube::before { - content: "\F5C3"; -} -.mdi-youtube-creator-studio::before { - content: "\F846"; -} -.mdi-youtube-gaming::before { - content: "\F847"; -} -.mdi-youtube-subscription::before { - content: "\FD1C"; -} -.mdi-youtube-tv::before { - content: "\F448"; -} -.mdi-z-wave::before { - content: "\FAE9"; -} -.mdi-zend::before { - content: "\FAEA"; -} -.mdi-zigbee::before { - content: "\FD1D"; -} -.mdi-zip-box::before { - content: "\F5C4"; -} -.mdi-zip-disk::before { - content: "\FA22"; -} -.mdi-zodiac-aquarius::before { - content: "\FA7C"; -} -.mdi-zodiac-aries::before { - content: "\FA7D"; -} -.mdi-zodiac-cancer::before { - content: "\FA7E"; -} -.mdi-zodiac-capricorn::before { - content: "\FA7F"; -} -.mdi-zodiac-gemini::before { - content: "\FA80"; -} -.mdi-zodiac-leo::before { - content: "\FA81"; -} -.mdi-zodiac-libra::before { - content: "\FA82"; -} -.mdi-zodiac-pisces::before { - content: "\FA83"; -} -.mdi-zodiac-sagittarius::before { - content: "\FA84"; -} -.mdi-zodiac-scorpio::before { - content: "\FA85"; -} -.mdi-zodiac-taurus::before { - content: "\FA86"; -} -.mdi-zodiac-virgo::before { - content: "\FA87"; -} -.mdi-blank::before { - content: "\F68C"; - visibility: hidden; -} -.mdi-18px.mdi-set, -.mdi-18px.mdi:before { - font-size: 18px; -} -.mdi-24px.mdi-set, -.mdi-24px.mdi:before { - font-size: 24px; -} -.mdi-36px.mdi-set, -.mdi-36px.mdi:before { - font-size: 36px; -} -.mdi-48px.mdi-set, -.mdi-48px.mdi:before { - font-size: 48px; -} -.mdi-dark:before { - color: rgba(0, 0, 0, 0.54); -} -.mdi-dark.mdi-inactive:before { - color: rgba(0, 0, 0, 0.26); -} -.mdi-light:before { - color: #fff; -} -.mdi-light.mdi-inactive:before { - color: rgba(255, 255, 255, 0.3); -} -.mdi-rotate-45:before { - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); -} -.mdi-rotate-90:before { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.mdi-rotate-135:before { - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.mdi-rotate-180:before { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.mdi-rotate-225:before { - -webkit-transform: rotate(225deg); - -ms-transform: rotate(225deg); - transform: rotate(225deg); -} -.mdi-rotate-270:before { - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.mdi-rotate-315:before { - -webkit-transform: rotate(315deg); - -ms-transform: rotate(315deg); - transform: rotate(315deg); -} -.mdi-flip-h:before { - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - filter: FlipH; - -ms-filter: "FlipH"; -} -.mdi-flip-v:before { - -webkit-transform: scaleY(-1); - transform: scaleY(-1); - filter: FlipV; - -ms-filter: "FlipV"; -} -.mdi-spin:before { - -webkit-animation: mdi-spin 2s infinite linear; - animation: mdi-spin 2s infinite linear; -} -@-webkit-keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} +@font-face{font-family:"Material Design Icons";src:url("../fonts/materialdesignicons-webfont.eot?v=3.9.97");src:url("../fonts/materialdesignicons-webfont.eot?#iefix&v=3.9.97") format("embedded-opentype"),url("../fonts/materialdesignicons-webfont.woff2?v=3.9.97") format("woff2"),url("../fonts/materialdesignicons-webfont.woff?v=3.9.97") format("woff"),url("../fonts/materialdesignicons-webfont.ttf?v=3.9.97") format("truetype");font-weight:normal;font-style:normal}.mdi:before,.mdi-set{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-access-point::before{content:"\F002"}.mdi-access-point-network::before{content:"\F003"}.mdi-access-point-network-off::before{content:"\FBBD"}.mdi-account::before{content:"\F004"}.mdi-account-alert::before{content:"\F005"}.mdi-account-alert-outline::before{content:"\FB2C"}.mdi-account-arrow-left::before{content:"\FB2D"}.mdi-account-arrow-left-outline::before{content:"\FB2E"}.mdi-account-arrow-right::before{content:"\FB2F"}.mdi-account-arrow-right-outline::before{content:"\FB30"}.mdi-account-badge::before{content:"\FD83"}.mdi-account-badge-alert::before{content:"\FD84"}.mdi-account-badge-alert-outline::before{content:"\FD85"}.mdi-account-badge-horizontal::before{content:"\FDF0"}.mdi-account-badge-horizontal-outline::before{content:"\FDF1"}.mdi-account-badge-outline::before{content:"\FD86"}.mdi-account-box::before{content:"\F006"}.mdi-account-box-multiple::before{content:"\F933"}.mdi-account-box-outline::before{content:"\F007"}.mdi-account-card-details::before{content:"\F5D2"}.mdi-account-card-details-outline::before{content:"\FD87"}.mdi-account-check::before{content:"\F008"}.mdi-account-check-outline::before{content:"\FBBE"}.mdi-account-child::before{content:"\FA88"}.mdi-account-child-circle::before{content:"\FA89"}.mdi-account-circle::before{content:"\F009"}.mdi-account-circle-outline::before{content:"\FB31"}.mdi-account-clock::before{content:"\FB32"}.mdi-account-clock-outline::before{content:"\FB33"}.mdi-account-convert::before{content:"\F00A"}.mdi-account-details::before{content:"\F631"}.mdi-account-edit::before{content:"\F6BB"}.mdi-account-group::before{content:"\F848"}.mdi-account-group-outline::before{content:"\FB34"}.mdi-account-heart::before{content:"\F898"}.mdi-account-heart-outline::before{content:"\FBBF"}.mdi-account-key::before{content:"\F00B"}.mdi-account-key-outline::before{content:"\FBC0"}.mdi-account-minus::before{content:"\F00D"}.mdi-account-minus-outline::before{content:"\FAEB"}.mdi-account-multiple::before{content:"\F00E"}.mdi-account-multiple-check::before{content:"\F8C4"}.mdi-account-multiple-minus::before{content:"\F5D3"}.mdi-account-multiple-minus-outline::before{content:"\FBC1"}.mdi-account-multiple-outline::before{content:"\F00F"}.mdi-account-multiple-plus::before{content:"\F010"}.mdi-account-multiple-plus-outline::before{content:"\F7FF"}.mdi-account-network::before{content:"\F011"}.mdi-account-network-outline::before{content:"\FBC2"}.mdi-account-off::before{content:"\F012"}.mdi-account-off-outline::before{content:"\FBC3"}.mdi-account-outline::before{content:"\F013"}.mdi-account-plus::before{content:"\F014"}.mdi-account-plus-outline::before{content:"\F800"}.mdi-account-question::before{content:"\FB35"}.mdi-account-question-outline::before{content:"\FB36"}.mdi-account-remove::before{content:"\F015"}.mdi-account-remove-outline::before{content:"\FAEC"}.mdi-account-search::before{content:"\F016"}.mdi-account-search-outline::before{content:"\F934"}.mdi-account-settings::before{content:"\F630"}.mdi-account-star::before{content:"\F017"}.mdi-account-star-outline::before{content:"\FBC4"}.mdi-account-supervisor::before{content:"\FA8A"}.mdi-account-supervisor-circle::before{content:"\FA8B"}.mdi-account-switch::before{content:"\F019"}.mdi-account-tie::before{content:"\FCBF"}.mdi-accusoft::before{content:"\F849"}.mdi-adchoices::before{content:"\FD1E"}.mdi-adjust::before{content:"\F01A"}.mdi-adobe::before{content:"\F935"}.mdi-air-conditioner::before{content:"\F01B"}.mdi-air-filter::before{content:"\FD1F"}.mdi-air-horn::before{content:"\FD88"}.mdi-air-purifier::before{content:"\FD20"}.mdi-airbag::before{content:"\FBC5"}.mdi-airballoon::before{content:"\F01C"}.mdi-airplane::before{content:"\F01D"}.mdi-airplane-landing::before{content:"\F5D4"}.mdi-airplane-off::before{content:"\F01E"}.mdi-airplane-takeoff::before{content:"\F5D5"}.mdi-airplay::before{content:"\F01F"}.mdi-airport::before{content:"\F84A"}.mdi-alarm::before{content:"\F020"}.mdi-alarm-bell::before{content:"\F78D"}.mdi-alarm-check::before{content:"\F021"}.mdi-alarm-light::before{content:"\F78E"}.mdi-alarm-light-outline::before{content:"\FBC6"}.mdi-alarm-multiple::before{content:"\F022"}.mdi-alarm-note::before{content:"\FE8E"}.mdi-alarm-note-off::before{content:"\FE8F"}.mdi-alarm-off::before{content:"\F023"}.mdi-alarm-plus::before{content:"\F024"}.mdi-alarm-snooze::before{content:"\F68D"}.mdi-album::before{content:"\F025"}.mdi-alert::before{content:"\F026"}.mdi-alert-box::before{content:"\F027"}.mdi-alert-box-outline::before{content:"\FCC0"}.mdi-alert-circle::before{content:"\F028"}.mdi-alert-circle-outline::before{content:"\F5D6"}.mdi-alert-decagram::before{content:"\F6BC"}.mdi-alert-decagram-outline::before{content:"\FCC1"}.mdi-alert-octagon::before{content:"\F029"}.mdi-alert-octagon-outline::before{content:"\FCC2"}.mdi-alert-octagram::before{content:"\F766"}.mdi-alert-octagram-outline::before{content:"\FCC3"}.mdi-alert-outline::before{content:"\F02A"}.mdi-alien::before{content:"\F899"}.mdi-all-inclusive::before{content:"\F6BD"}.mdi-alpha::before{content:"\F02B"}.mdi-alpha-a::before{content:"\41"}.mdi-alpha-a-box::before{content:"\FAED"}.mdi-alpha-a-box-outline::before{content:"\FBC7"}.mdi-alpha-a-circle::before{content:"\FBC8"}.mdi-alpha-a-circle-outline::before{content:"\FBC9"}.mdi-alpha-b::before{content:"\42"}.mdi-alpha-b-box::before{content:"\FAEE"}.mdi-alpha-b-box-outline::before{content:"\FBCA"}.mdi-alpha-b-circle::before{content:"\FBCB"}.mdi-alpha-b-circle-outline::before{content:"\FBCC"}.mdi-alpha-c::before{content:"\43"}.mdi-alpha-c-box::before{content:"\FAEF"}.mdi-alpha-c-box-outline::before{content:"\FBCD"}.mdi-alpha-c-circle::before{content:"\FBCE"}.mdi-alpha-c-circle-outline::before{content:"\FBCF"}.mdi-alpha-d::before{content:"\44"}.mdi-alpha-d-box::before{content:"\FAF0"}.mdi-alpha-d-box-outline::before{content:"\FBD0"}.mdi-alpha-d-circle::before{content:"\FBD1"}.mdi-alpha-d-circle-outline::before{content:"\FBD2"}.mdi-alpha-e::before{content:"\45"}.mdi-alpha-e-box::before{content:"\FAF1"}.mdi-alpha-e-box-outline::before{content:"\FBD3"}.mdi-alpha-e-circle::before{content:"\FBD4"}.mdi-alpha-e-circle-outline::before{content:"\FBD5"}.mdi-alpha-f::before{content:"\46"}.mdi-alpha-f-box::before{content:"\FAF2"}.mdi-alpha-f-box-outline::before{content:"\FBD6"}.mdi-alpha-f-circle::before{content:"\FBD7"}.mdi-alpha-f-circle-outline::before{content:"\FBD8"}.mdi-alpha-g::before{content:"\47"}.mdi-alpha-g-box::before{content:"\FAF3"}.mdi-alpha-g-box-outline::before{content:"\FBD9"}.mdi-alpha-g-circle::before{content:"\FBDA"}.mdi-alpha-g-circle-outline::before{content:"\FBDB"}.mdi-alpha-h::before{content:"\48"}.mdi-alpha-h-box::before{content:"\FAF4"}.mdi-alpha-h-box-outline::before{content:"\FBDC"}.mdi-alpha-h-circle::before{content:"\FBDD"}.mdi-alpha-h-circle-outline::before{content:"\FBDE"}.mdi-alpha-i::before{content:"\49"}.mdi-alpha-i-box::before{content:"\FAF5"}.mdi-alpha-i-box-outline::before{content:"\FBDF"}.mdi-alpha-i-circle::before{content:"\FBE0"}.mdi-alpha-i-circle-outline::before{content:"\FBE1"}.mdi-alpha-j::before{content:"\4A"}.mdi-alpha-j-box::before{content:"\FAF6"}.mdi-alpha-j-box-outline::before{content:"\FBE2"}.mdi-alpha-j-circle::before{content:"\FBE3"}.mdi-alpha-j-circle-outline::before{content:"\FBE4"}.mdi-alpha-k::before{content:"\4B"}.mdi-alpha-k-box::before{content:"\FAF7"}.mdi-alpha-k-box-outline::before{content:"\FBE5"}.mdi-alpha-k-circle::before{content:"\FBE6"}.mdi-alpha-k-circle-outline::before{content:"\FBE7"}.mdi-alpha-l::before{content:"\4C"}.mdi-alpha-l-box::before{content:"\FAF8"}.mdi-alpha-l-box-outline::before{content:"\FBE8"}.mdi-alpha-l-circle::before{content:"\FBE9"}.mdi-alpha-l-circle-outline::before{content:"\FBEA"}.mdi-alpha-m::before{content:"\4D"}.mdi-alpha-m-box::before{content:"\FAF9"}.mdi-alpha-m-box-outline::before{content:"\FBEB"}.mdi-alpha-m-circle::before{content:"\FBEC"}.mdi-alpha-m-circle-outline::before{content:"\FBED"}.mdi-alpha-n::before{content:"\4E"}.mdi-alpha-n-box::before{content:"\FAFA"}.mdi-alpha-n-box-outline::before{content:"\FBEE"}.mdi-alpha-n-circle::before{content:"\FBEF"}.mdi-alpha-n-circle-outline::before{content:"\FBF0"}.mdi-alpha-o::before{content:"\4F"}.mdi-alpha-o-box::before{content:"\FAFB"}.mdi-alpha-o-box-outline::before{content:"\FBF1"}.mdi-alpha-o-circle::before{content:"\FBF2"}.mdi-alpha-o-circle-outline::before{content:"\FBF3"}.mdi-alpha-p::before{content:"\50"}.mdi-alpha-p-box::before{content:"\FAFC"}.mdi-alpha-p-box-outline::before{content:"\FBF4"}.mdi-alpha-p-circle::before{content:"\FBF5"}.mdi-alpha-p-circle-outline::before{content:"\FBF6"}.mdi-alpha-q::before{content:"\51"}.mdi-alpha-q-box::before{content:"\FAFD"}.mdi-alpha-q-box-outline::before{content:"\FBF7"}.mdi-alpha-q-circle::before{content:"\FBF8"}.mdi-alpha-q-circle-outline::before{content:"\FBF9"}.mdi-alpha-r::before{content:"\52"}.mdi-alpha-r-box::before{content:"\FAFE"}.mdi-alpha-r-box-outline::before{content:"\FBFA"}.mdi-alpha-r-circle::before{content:"\FBFB"}.mdi-alpha-r-circle-outline::before{content:"\FBFC"}.mdi-alpha-s::before{content:"\53"}.mdi-alpha-s-box::before{content:"\FAFF"}.mdi-alpha-s-box-outline::before{content:"\FBFD"}.mdi-alpha-s-circle::before{content:"\FBFE"}.mdi-alpha-s-circle-outline::before{content:"\FBFF"}.mdi-alpha-t::before{content:"\54"}.mdi-alpha-t-box::before{content:"\FB00"}.mdi-alpha-t-box-outline::before{content:"\FC00"}.mdi-alpha-t-circle::before{content:"\FC01"}.mdi-alpha-t-circle-outline::before{content:"\FC02"}.mdi-alpha-u::before{content:"\55"}.mdi-alpha-u-box::before{content:"\FB01"}.mdi-alpha-u-box-outline::before{content:"\FC03"}.mdi-alpha-u-circle::before{content:"\FC04"}.mdi-alpha-u-circle-outline::before{content:"\FC05"}.mdi-alpha-v::before{content:"\56"}.mdi-alpha-v-box::before{content:"\FB02"}.mdi-alpha-v-box-outline::before{content:"\FC06"}.mdi-alpha-v-circle::before{content:"\FC07"}.mdi-alpha-v-circle-outline::before{content:"\FC08"}.mdi-alpha-w::before{content:"\57"}.mdi-alpha-w-box::before{content:"\FB03"}.mdi-alpha-w-box-outline::before{content:"\FC09"}.mdi-alpha-w-circle::before{content:"\FC0A"}.mdi-alpha-w-circle-outline::before{content:"\FC0B"}.mdi-alpha-x::before{content:"\58"}.mdi-alpha-x-box::before{content:"\FB04"}.mdi-alpha-x-box-outline::before{content:"\FC0C"}.mdi-alpha-x-circle::before{content:"\FC0D"}.mdi-alpha-x-circle-outline::before{content:"\FC0E"}.mdi-alpha-y::before{content:"\59"}.mdi-alpha-y-box::before{content:"\FB05"}.mdi-alpha-y-box-outline::before{content:"\FC0F"}.mdi-alpha-y-circle::before{content:"\FC10"}.mdi-alpha-y-circle-outline::before{content:"\FC11"}.mdi-alpha-z::before{content:"\5A"}.mdi-alpha-z-box::before{content:"\FB06"}.mdi-alpha-z-box-outline::before{content:"\FC12"}.mdi-alpha-z-circle::before{content:"\FC13"}.mdi-alpha-z-circle-outline::before{content:"\FC14"}.mdi-alphabetical::before{content:"\F02C"}.mdi-altimeter::before{content:"\F5D7"}.mdi-amazon::before{content:"\F02D"}.mdi-amazon-alexa::before{content:"\F8C5"}.mdi-amazon-drive::before{content:"\F02E"}.mdi-ambulance::before{content:"\F02F"}.mdi-ammunition::before{content:"\FCC4"}.mdi-ampersand::before{content:"\FA8C"}.mdi-amplifier::before{content:"\F030"}.mdi-anchor::before{content:"\F031"}.mdi-android::before{content:"\F032"}.mdi-android-auto::before{content:"\FA8D"}.mdi-android-debug-bridge::before{content:"\F033"}.mdi-android-head::before{content:"\F78F"}.mdi-android-messages::before{content:"\FD21"}.mdi-android-studio::before{content:"\F034"}.mdi-angle-acute::before{content:"\F936"}.mdi-angle-obtuse::before{content:"\F937"}.mdi-angle-right::before{content:"\F938"}.mdi-angular::before{content:"\F6B1"}.mdi-angularjs::before{content:"\F6BE"}.mdi-animation::before{content:"\F5D8"}.mdi-animation-outline::before{content:"\FA8E"}.mdi-animation-play::before{content:"\F939"}.mdi-animation-play-outline::before{content:"\FA8F"}.mdi-anvil::before{content:"\F89A"}.mdi-apple::before{content:"\F035"}.mdi-apple-finder::before{content:"\F036"}.mdi-apple-icloud::before{content:"\F038"}.mdi-apple-ios::before{content:"\F037"}.mdi-apple-keyboard-caps::before{content:"\F632"}.mdi-apple-keyboard-command::before{content:"\F633"}.mdi-apple-keyboard-control::before{content:"\F634"}.mdi-apple-keyboard-option::before{content:"\F635"}.mdi-apple-keyboard-shift::before{content:"\F636"}.mdi-apple-safari::before{content:"\F039"}.mdi-application::before{content:"\F614"}.mdi-application-export::before{content:"\FD89"}.mdi-application-import::before{content:"\FD8A"}.mdi-apps::before{content:"\F03B"}.mdi-apps-box::before{content:"\FD22"}.mdi-arch::before{content:"\F8C6"}.mdi-archive::before{content:"\F03C"}.mdi-arrange-bring-forward::before{content:"\F03D"}.mdi-arrange-bring-to-front::before{content:"\F03E"}.mdi-arrange-send-backward::before{content:"\F03F"}.mdi-arrange-send-to-back::before{content:"\F040"}.mdi-arrow-all::before{content:"\F041"}.mdi-arrow-bottom-left::before{content:"\F042"}.mdi-arrow-bottom-left-bold-outline::before{content:"\F9B6"}.mdi-arrow-bottom-left-thick::before{content:"\F9B7"}.mdi-arrow-bottom-right::before{content:"\F043"}.mdi-arrow-bottom-right-bold-outline::before{content:"\F9B8"}.mdi-arrow-bottom-right-thick::before{content:"\F9B9"}.mdi-arrow-collapse::before{content:"\F615"}.mdi-arrow-collapse-all::before{content:"\F044"}.mdi-arrow-collapse-down::before{content:"\F791"}.mdi-arrow-collapse-horizontal::before{content:"\F84B"}.mdi-arrow-collapse-left::before{content:"\F792"}.mdi-arrow-collapse-right::before{content:"\F793"}.mdi-arrow-collapse-up::before{content:"\F794"}.mdi-arrow-collapse-vertical::before{content:"\F84C"}.mdi-arrow-decision::before{content:"\F9BA"}.mdi-arrow-decision-auto::before{content:"\F9BB"}.mdi-arrow-decision-auto-outline::before{content:"\F9BC"}.mdi-arrow-decision-outline::before{content:"\F9BD"}.mdi-arrow-down::before{content:"\F045"}.mdi-arrow-down-bold::before{content:"\F72D"}.mdi-arrow-down-bold-box::before{content:"\F72E"}.mdi-arrow-down-bold-box-outline::before{content:"\F72F"}.mdi-arrow-down-bold-circle::before{content:"\F047"}.mdi-arrow-down-bold-circle-outline::before{content:"\F048"}.mdi-arrow-down-bold-hexagon-outline::before{content:"\F049"}.mdi-arrow-down-bold-outline::before{content:"\F9BE"}.mdi-arrow-down-box::before{content:"\F6BF"}.mdi-arrow-down-circle::before{content:"\FCB7"}.mdi-arrow-down-circle-outline::before{content:"\FCB8"}.mdi-arrow-down-drop-circle::before{content:"\F04A"}.mdi-arrow-down-drop-circle-outline::before{content:"\F04B"}.mdi-arrow-down-thick::before{content:"\F046"}.mdi-arrow-expand::before{content:"\F616"}.mdi-arrow-expand-all::before{content:"\F04C"}.mdi-arrow-expand-down::before{content:"\F795"}.mdi-arrow-expand-horizontal::before{content:"\F84D"}.mdi-arrow-expand-left::before{content:"\F796"}.mdi-arrow-expand-right::before{content:"\F797"}.mdi-arrow-expand-up::before{content:"\F798"}.mdi-arrow-expand-vertical::before{content:"\F84E"}.mdi-arrow-left::before{content:"\F04D"}.mdi-arrow-left-bold::before{content:"\F730"}.mdi-arrow-left-bold-box::before{content:"\F731"}.mdi-arrow-left-bold-box-outline::before{content:"\F732"}.mdi-arrow-left-bold-circle::before{content:"\F04F"}.mdi-arrow-left-bold-circle-outline::before{content:"\F050"}.mdi-arrow-left-bold-hexagon-outline::before{content:"\F051"}.mdi-arrow-left-bold-outline::before{content:"\F9BF"}.mdi-arrow-left-box::before{content:"\F6C0"}.mdi-arrow-left-circle::before{content:"\FCB9"}.mdi-arrow-left-circle-outline::before{content:"\FCBA"}.mdi-arrow-left-drop-circle::before{content:"\F052"}.mdi-arrow-left-drop-circle-outline::before{content:"\F053"}.mdi-arrow-left-right::before{content:"\FE90"}.mdi-arrow-left-right-bold::before{content:"\FE91"}.mdi-arrow-left-right-bold-outline::before{content:"\F9C0"}.mdi-arrow-left-thick::before{content:"\F04E"}.mdi-arrow-right::before{content:"\F054"}.mdi-arrow-right-bold::before{content:"\F733"}.mdi-arrow-right-bold-box::before{content:"\F734"}.mdi-arrow-right-bold-box-outline::before{content:"\F735"}.mdi-arrow-right-bold-circle::before{content:"\F056"}.mdi-arrow-right-bold-circle-outline::before{content:"\F057"}.mdi-arrow-right-bold-hexagon-outline::before{content:"\F058"}.mdi-arrow-right-bold-outline::before{content:"\F9C1"}.mdi-arrow-right-box::before{content:"\F6C1"}.mdi-arrow-right-circle::before{content:"\FCBB"}.mdi-arrow-right-circle-outline::before{content:"\FCBC"}.mdi-arrow-right-drop-circle::before{content:"\F059"}.mdi-arrow-right-drop-circle-outline::before{content:"\F05A"}.mdi-arrow-right-thick::before{content:"\F055"}.mdi-arrow-split-horizontal::before{content:"\F93A"}.mdi-arrow-split-vertical::before{content:"\F93B"}.mdi-arrow-top-left::before{content:"\F05B"}.mdi-arrow-top-left-bold-outline::before{content:"\F9C2"}.mdi-arrow-top-left-bottom-right::before{content:"\FE92"}.mdi-arrow-top-left-bottom-right-bold::before{content:"\FE93"}.mdi-arrow-top-left-thick::before{content:"\F9C3"}.mdi-arrow-top-right::before{content:"\F05C"}.mdi-arrow-top-right-bold-outline::before{content:"\F9C4"}.mdi-arrow-top-right-bottom-left::before{content:"\FE94"}.mdi-arrow-top-right-bottom-left-bold::before{content:"\FE95"}.mdi-arrow-top-right-thick::before{content:"\F9C5"}.mdi-arrow-up::before{content:"\F05D"}.mdi-arrow-up-bold::before{content:"\F736"}.mdi-arrow-up-bold-box::before{content:"\F737"}.mdi-arrow-up-bold-box-outline::before{content:"\F738"}.mdi-arrow-up-bold-circle::before{content:"\F05F"}.mdi-arrow-up-bold-circle-outline::before{content:"\F060"}.mdi-arrow-up-bold-hexagon-outline::before{content:"\F061"}.mdi-arrow-up-bold-outline::before{content:"\F9C6"}.mdi-arrow-up-box::before{content:"\F6C2"}.mdi-arrow-up-circle::before{content:"\FCBD"}.mdi-arrow-up-circle-outline::before{content:"\FCBE"}.mdi-arrow-up-down::before{content:"\FE96"}.mdi-arrow-up-down-bold::before{content:"\FE97"}.mdi-arrow-up-down-bold-outline::before{content:"\F9C7"}.mdi-arrow-up-drop-circle::before{content:"\F062"}.mdi-arrow-up-drop-circle-outline::before{content:"\F063"}.mdi-arrow-up-thick::before{content:"\F05E"}.mdi-artist::before{content:"\F802"}.mdi-artist-outline::before{content:"\FCC5"}.mdi-artstation::before{content:"\FB37"}.mdi-aspect-ratio::before{content:"\FA23"}.mdi-assistant::before{content:"\F064"}.mdi-asterisk::before{content:"\F6C3"}.mdi-at::before{content:"\F065"}.mdi-atlassian::before{content:"\F803"}.mdi-atm::before{content:"\FD23"}.mdi-atom::before{content:"\F767"}.mdi-atom-variant::before{content:"\FE98"}.mdi-attachment::before{content:"\F066"}.mdi-audio-video::before{content:"\F93C"}.mdi-audiobook::before{content:"\F067"}.mdi-augmented-reality::before{content:"\F84F"}.mdi-auto-fix::before{content:"\F068"}.mdi-auto-upload::before{content:"\F069"}.mdi-autorenew::before{content:"\F06A"}.mdi-av-timer::before{content:"\F06B"}.mdi-aws::before{content:"\FDF2"}.mdi-axe::before{content:"\F8C7"}.mdi-axis::before{content:"\FD24"}.mdi-axis-arrow::before{content:"\FD25"}.mdi-axis-arrow-lock::before{content:"\FD26"}.mdi-axis-lock::before{content:"\FD27"}.mdi-axis-x-arrow::before{content:"\FD28"}.mdi-axis-x-arrow-lock::before{content:"\FD29"}.mdi-axis-x-rotate-clockwise::before{content:"\FD2A"}.mdi-axis-x-rotate-counterclockwise::before{content:"\FD2B"}.mdi-axis-x-y-arrow-lock::before{content:"\FD2C"}.mdi-axis-y-arrow::before{content:"\FD2D"}.mdi-axis-y-arrow-lock::before{content:"\FD2E"}.mdi-axis-y-rotate-clockwise::before{content:"\FD2F"}.mdi-axis-y-rotate-counterclockwise::before{content:"\FD30"}.mdi-axis-z-arrow::before{content:"\FD31"}.mdi-axis-z-arrow-lock::before{content:"\FD32"}.mdi-axis-z-rotate-clockwise::before{content:"\FD33"}.mdi-axis-z-rotate-counterclockwise::before{content:"\FD34"}.mdi-azure::before{content:"\F804"}.mdi-babel::before{content:"\FA24"}.mdi-baby::before{content:"\F06C"}.mdi-baby-bottle::before{content:"\FF56"}.mdi-baby-bottle-outline::before{content:"\FF57"}.mdi-baby-buggy::before{content:"\F68E"}.mdi-baby-face::before{content:"\FE99"}.mdi-baby-face-outline::before{content:"\FE9A"}.mdi-backburger::before{content:"\F06D"}.mdi-backspace::before{content:"\F06E"}.mdi-backspace-outline::before{content:"\FB38"}.mdi-backspace-reverse::before{content:"\FE9B"}.mdi-backspace-reverse-outline::before{content:"\FE9C"}.mdi-backup-restore::before{content:"\F06F"}.mdi-bacteria::before{content:"\FEF2"}.mdi-bacteria-outline::before{content:"\FEF3"}.mdi-badminton::before{content:"\F850"}.mdi-bag-carry-on::before{content:"\FF58"}.mdi-bag-carry-on-check::before{content:"\FD41"}.mdi-bag-carry-on-off::before{content:"\FF59"}.mdi-bag-checked::before{content:"\FF5A"}.mdi-bag-personal::before{content:"\FDF3"}.mdi-bag-personal-off::before{content:"\FDF4"}.mdi-bag-personal-off-outline::before{content:"\FDF5"}.mdi-bag-personal-outline::before{content:"\FDF6"}.mdi-baguette::before{content:"\FF5B"}.mdi-balloon::before{content:"\FA25"}.mdi-ballot::before{content:"\F9C8"}.mdi-ballot-outline::before{content:"\F9C9"}.mdi-ballot-recount::before{content:"\FC15"}.mdi-ballot-recount-outline::before{content:"\FC16"}.mdi-bandage::before{content:"\FD8B"}.mdi-bandcamp::before{content:"\F674"}.mdi-bank::before{content:"\F070"}.mdi-bank-minus::before{content:"\FD8C"}.mdi-bank-outline::before{content:"\FE9D"}.mdi-bank-plus::before{content:"\FD8D"}.mdi-bank-remove::before{content:"\FD8E"}.mdi-bank-transfer::before{content:"\FA26"}.mdi-bank-transfer-in::before{content:"\FA27"}.mdi-bank-transfer-out::before{content:"\FA28"}.mdi-barcode::before{content:"\F071"}.mdi-barcode-scan::before{content:"\F072"}.mdi-barley::before{content:"\F073"}.mdi-barley-off::before{content:"\FB39"}.mdi-barn::before{content:"\FB3A"}.mdi-barrel::before{content:"\F074"}.mdi-baseball::before{content:"\F851"}.mdi-baseball-bat::before{content:"\F852"}.mdi-basecamp::before{content:"\F075"}.mdi-basket::before{content:"\F076"}.mdi-basket-fill::before{content:"\F077"}.mdi-basket-unfill::before{content:"\F078"}.mdi-basketball::before{content:"\F805"}.mdi-basketball-hoop::before{content:"\FC17"}.mdi-basketball-hoop-outline::before{content:"\FC18"}.mdi-bat::before{content:"\FB3B"}.mdi-battery::before{content:"\F079"}.mdi-battery-10::before{content:"\F07A"}.mdi-battery-10-bluetooth::before{content:"\F93D"}.mdi-battery-20::before{content:"\F07B"}.mdi-battery-20-bluetooth::before{content:"\F93E"}.mdi-battery-30::before{content:"\F07C"}.mdi-battery-30-bluetooth::before{content:"\F93F"}.mdi-battery-40::before{content:"\F07D"}.mdi-battery-40-bluetooth::before{content:"\F940"}.mdi-battery-50::before{content:"\F07E"}.mdi-battery-50-bluetooth::before{content:"\F941"}.mdi-battery-60::before{content:"\F07F"}.mdi-battery-60-bluetooth::before{content:"\F942"}.mdi-battery-70::before{content:"\F080"}.mdi-battery-70-bluetooth::before{content:"\F943"}.mdi-battery-80::before{content:"\F081"}.mdi-battery-80-bluetooth::before{content:"\F944"}.mdi-battery-90::before{content:"\F082"}.mdi-battery-90-bluetooth::before{content:"\F945"}.mdi-battery-alert::before{content:"\F083"}.mdi-battery-alert-bluetooth::before{content:"\F946"}.mdi-battery-bluetooth::before{content:"\F947"}.mdi-battery-bluetooth-variant::before{content:"\F948"}.mdi-battery-charging::before{content:"\F084"}.mdi-battery-charging-10::before{content:"\F89B"}.mdi-battery-charging-100::before{content:"\F085"}.mdi-battery-charging-20::before{content:"\F086"}.mdi-battery-charging-30::before{content:"\F087"}.mdi-battery-charging-40::before{content:"\F088"}.mdi-battery-charging-50::before{content:"\F89C"}.mdi-battery-charging-60::before{content:"\F089"}.mdi-battery-charging-70::before{content:"\F89D"}.mdi-battery-charging-80::before{content:"\F08A"}.mdi-battery-charging-90::before{content:"\F08B"}.mdi-battery-charging-outline::before{content:"\F89E"}.mdi-battery-charging-wireless::before{content:"\F806"}.mdi-battery-charging-wireless-10::before{content:"\F807"}.mdi-battery-charging-wireless-20::before{content:"\F808"}.mdi-battery-charging-wireless-30::before{content:"\F809"}.mdi-battery-charging-wireless-40::before{content:"\F80A"}.mdi-battery-charging-wireless-50::before{content:"\F80B"}.mdi-battery-charging-wireless-60::before{content:"\F80C"}.mdi-battery-charging-wireless-70::before{content:"\F80D"}.mdi-battery-charging-wireless-80::before{content:"\F80E"}.mdi-battery-charging-wireless-90::before{content:"\F80F"}.mdi-battery-charging-wireless-alert::before{content:"\F810"}.mdi-battery-charging-wireless-outline::before{content:"\F811"}.mdi-battery-minus::before{content:"\F08C"}.mdi-battery-negative::before{content:"\F08D"}.mdi-battery-outline::before{content:"\F08E"}.mdi-battery-plus::before{content:"\F08F"}.mdi-battery-positive::before{content:"\F090"}.mdi-battery-unknown::before{content:"\F091"}.mdi-battery-unknown-bluetooth::before{content:"\F949"}.mdi-battlenet::before{content:"\FB3C"}.mdi-beach::before{content:"\F092"}.mdi-beaker::before{content:"\FCC6"}.mdi-beaker-outline::before{content:"\F68F"}.mdi-beats::before{content:"\F097"}.mdi-bed-empty::before{content:"\F89F"}.mdi-beer::before{content:"\F098"}.mdi-behance::before{content:"\F099"}.mdi-bell::before{content:"\F09A"}.mdi-bell-alert::before{content:"\FD35"}.mdi-bell-alert-outline::before{content:"\FE9E"}.mdi-bell-circle::before{content:"\FD36"}.mdi-bell-circle-outline::before{content:"\FD37"}.mdi-bell-off::before{content:"\F09B"}.mdi-bell-off-outline::before{content:"\FA90"}.mdi-bell-outline::before{content:"\F09C"}.mdi-bell-plus::before{content:"\F09D"}.mdi-bell-plus-outline::before{content:"\FA91"}.mdi-bell-ring::before{content:"\F09E"}.mdi-bell-ring-outline::before{content:"\F09F"}.mdi-bell-sleep::before{content:"\F0A0"}.mdi-bell-sleep-outline::before{content:"\FA92"}.mdi-beta::before{content:"\F0A1"}.mdi-betamax::before{content:"\F9CA"}.mdi-biathlon::before{content:"\FDF7"}.mdi-bible::before{content:"\F0A2"}.mdi-bike::before{content:"\F0A3"}.mdi-billiards::before{content:"\FB3D"}.mdi-billiards-rack::before{content:"\FB3E"}.mdi-bing::before{content:"\F0A4"}.mdi-binoculars::before{content:"\F0A5"}.mdi-bio::before{content:"\F0A6"}.mdi-biohazard::before{content:"\F0A7"}.mdi-bitbucket::before{content:"\F0A8"}.mdi-bitcoin::before{content:"\F812"}.mdi-black-mesa::before{content:"\F0A9"}.mdi-blackberry::before{content:"\F0AA"}.mdi-blender::before{content:"\FCC7"}.mdi-blender-software::before{content:"\F0AB"}.mdi-blinds::before{content:"\F0AC"}.mdi-block-helper::before{content:"\F0AD"}.mdi-blogger::before{content:"\F0AE"}.mdi-blood-bag::before{content:"\FCC8"}.mdi-bluetooth::before{content:"\F0AF"}.mdi-bluetooth-audio::before{content:"\F0B0"}.mdi-bluetooth-connect::before{content:"\F0B1"}.mdi-bluetooth-off::before{content:"\F0B2"}.mdi-bluetooth-settings::before{content:"\F0B3"}.mdi-bluetooth-transfer::before{content:"\F0B4"}.mdi-blur::before{content:"\F0B5"}.mdi-blur-linear::before{content:"\F0B6"}.mdi-blur-off::before{content:"\F0B7"}.mdi-blur-radial::before{content:"\F0B8"}.mdi-bolnisi-cross::before{content:"\FCC9"}.mdi-bolt::before{content:"\FD8F"}.mdi-bomb::before{content:"\F690"}.mdi-bomb-off::before{content:"\F6C4"}.mdi-bone::before{content:"\F0B9"}.mdi-book::before{content:"\F0BA"}.mdi-book-lock::before{content:"\F799"}.mdi-book-lock-open::before{content:"\F79A"}.mdi-book-minus::before{content:"\F5D9"}.mdi-book-minus-multiple::before{content:"\FA93"}.mdi-book-multiple::before{content:"\F0BB"}.mdi-book-open::before{content:"\F0BD"}.mdi-book-open-outline::before{content:"\FB3F"}.mdi-book-open-page-variant::before{content:"\F5DA"}.mdi-book-open-variant::before{content:"\F0BE"}.mdi-book-outline::before{content:"\FB40"}.mdi-book-play::before{content:"\FE9F"}.mdi-book-play-outline::before{content:"\FEA0"}.mdi-book-plus::before{content:"\F5DB"}.mdi-book-plus-multiple::before{content:"\FA94"}.mdi-book-remove::before{content:"\FA96"}.mdi-book-remove-multiple::before{content:"\FA95"}.mdi-book-search::before{content:"\FEA1"}.mdi-book-search-outline::before{content:"\FEA2"}.mdi-book-variant::before{content:"\F0BF"}.mdi-book-variant-multiple::before{content:"\F0BC"}.mdi-bookmark::before{content:"\F0C0"}.mdi-bookmark-check::before{content:"\F0C1"}.mdi-bookmark-minus::before{content:"\F9CB"}.mdi-bookmark-minus-outline::before{content:"\F9CC"}.mdi-bookmark-multiple::before{content:"\FDF8"}.mdi-bookmark-multiple-outline::before{content:"\FDF9"}.mdi-bookmark-music::before{content:"\F0C2"}.mdi-bookmark-off::before{content:"\F9CD"}.mdi-bookmark-off-outline::before{content:"\F9CE"}.mdi-bookmark-outline::before{content:"\F0C3"}.mdi-bookmark-plus::before{content:"\F0C5"}.mdi-bookmark-plus-outline::before{content:"\F0C4"}.mdi-bookmark-remove::before{content:"\F0C6"}.mdi-boom-gate::before{content:"\FEA3"}.mdi-boom-gate-alert::before{content:"\FEA4"}.mdi-boom-gate-alert-outline::before{content:"\FEA5"}.mdi-boom-gate-down::before{content:"\FEA6"}.mdi-boom-gate-down-outline::before{content:"\FEA7"}.mdi-boom-gate-outline::before{content:"\FEA8"}.mdi-boom-gate-up::before{content:"\FEA9"}.mdi-boom-gate-up-outline::before{content:"\FEAA"}.mdi-boombox::before{content:"\F5DC"}.mdi-bootstrap::before{content:"\F6C5"}.mdi-border-all::before{content:"\F0C7"}.mdi-border-all-variant::before{content:"\F8A0"}.mdi-border-bottom::before{content:"\F0C8"}.mdi-border-bottom-variant::before{content:"\F8A1"}.mdi-border-color::before{content:"\F0C9"}.mdi-border-horizontal::before{content:"\F0CA"}.mdi-border-inside::before{content:"\F0CB"}.mdi-border-left::before{content:"\F0CC"}.mdi-border-left-variant::before{content:"\F8A2"}.mdi-border-none::before{content:"\F0CD"}.mdi-border-none-variant::before{content:"\F8A3"}.mdi-border-outside::before{content:"\F0CE"}.mdi-border-right::before{content:"\F0CF"}.mdi-border-right-variant::before{content:"\F8A4"}.mdi-border-style::before{content:"\F0D0"}.mdi-border-top::before{content:"\F0D1"}.mdi-border-top-variant::before{content:"\F8A5"}.mdi-border-vertical::before{content:"\F0D2"}.mdi-bottle-wine::before{content:"\F853"}.mdi-bow-tie::before{content:"\F677"}.mdi-bowl::before{content:"\F617"}.mdi-bowling::before{content:"\F0D3"}.mdi-box::before{content:"\F0D4"}.mdi-box-cutter::before{content:"\F0D5"}.mdi-box-shadow::before{content:"\F637"}.mdi-boxing-glove::before{content:"\FB41"}.mdi-braille::before{content:"\F9CF"}.mdi-brain::before{content:"\F9D0"}.mdi-bread-slice::before{content:"\FCCA"}.mdi-bread-slice-outline::before{content:"\FCCB"}.mdi-bridge::before{content:"\F618"}.mdi-briefcase::before{content:"\F0D6"}.mdi-briefcase-account::before{content:"\FCCC"}.mdi-briefcase-account-outline::before{content:"\FCCD"}.mdi-briefcase-check::before{content:"\F0D7"}.mdi-briefcase-download::before{content:"\F0D8"}.mdi-briefcase-download-outline::before{content:"\FC19"}.mdi-briefcase-edit::before{content:"\FA97"}.mdi-briefcase-edit-outline::before{content:"\FC1A"}.mdi-briefcase-minus::before{content:"\FA29"}.mdi-briefcase-minus-outline::before{content:"\FC1B"}.mdi-briefcase-outline::before{content:"\F813"}.mdi-briefcase-plus::before{content:"\FA2A"}.mdi-briefcase-plus-outline::before{content:"\FC1C"}.mdi-briefcase-remove::before{content:"\FA2B"}.mdi-briefcase-remove-outline::before{content:"\FC1D"}.mdi-briefcase-search::before{content:"\FA2C"}.mdi-briefcase-search-outline::before{content:"\FC1E"}.mdi-briefcase-upload::before{content:"\F0D9"}.mdi-briefcase-upload-outline::before{content:"\FC1F"}.mdi-brightness-1::before{content:"\F0DA"}.mdi-brightness-2::before{content:"\F0DB"}.mdi-brightness-3::before{content:"\F0DC"}.mdi-brightness-4::before{content:"\F0DD"}.mdi-brightness-5::before{content:"\F0DE"}.mdi-brightness-6::before{content:"\F0DF"}.mdi-brightness-7::before{content:"\F0E0"}.mdi-brightness-auto::before{content:"\F0E1"}.mdi-brightness-percent::before{content:"\FCCE"}.mdi-broom::before{content:"\F0E2"}.mdi-brush::before{content:"\F0E3"}.mdi-buddhism::before{content:"\F94A"}.mdi-buffer::before{content:"\F619"}.mdi-bug::before{content:"\F0E4"}.mdi-bug-check::before{content:"\FA2D"}.mdi-bug-check-outline::before{content:"\FA2E"}.mdi-bug-outline::before{content:"\FA2F"}.mdi-bugle::before{content:"\FD90"}.mdi-bulldozer::before{content:"\FB07"}.mdi-bullet::before{content:"\FCCF"}.mdi-bulletin-board::before{content:"\F0E5"}.mdi-bullhorn::before{content:"\F0E6"}.mdi-bullhorn-outline::before{content:"\FB08"}.mdi-bullseye::before{content:"\F5DD"}.mdi-bullseye-arrow::before{content:"\F8C8"}.mdi-bus::before{content:"\F0E7"}.mdi-bus-alert::before{content:"\FA98"}.mdi-bus-articulated-end::before{content:"\F79B"}.mdi-bus-articulated-front::before{content:"\F79C"}.mdi-bus-clock::before{content:"\F8C9"}.mdi-bus-double-decker::before{content:"\F79D"}.mdi-bus-multiple::before{content:"\FF5C"}.mdi-bus-school::before{content:"\F79E"}.mdi-bus-side::before{content:"\F79F"}.mdi-cached::before{content:"\F0E8"}.mdi-cactus::before{content:"\FD91"}.mdi-cake::before{content:"\F0E9"}.mdi-cake-layered::before{content:"\F0EA"}.mdi-cake-variant::before{content:"\F0EB"}.mdi-calculator::before{content:"\F0EC"}.mdi-calculator-variant::before{content:"\FA99"}.mdi-calendar::before{content:"\F0ED"}.mdi-calendar-account::before{content:"\FEF4"}.mdi-calendar-account-outline::before{content:"\FEF5"}.mdi-calendar-alert::before{content:"\FA30"}.mdi-calendar-blank::before{content:"\F0EE"}.mdi-calendar-blank-outline::before{content:"\FB42"}.mdi-calendar-check::before{content:"\F0EF"}.mdi-calendar-check-outline::before{content:"\FC20"}.mdi-calendar-clock::before{content:"\F0F0"}.mdi-calendar-edit::before{content:"\F8A6"}.mdi-calendar-export::before{content:"\FB09"}.mdi-calendar-heart::before{content:"\F9D1"}.mdi-calendar-import::before{content:"\FB0A"}.mdi-calendar-minus::before{content:"\FD38"}.mdi-calendar-month::before{content:"\FDFA"}.mdi-calendar-month-outline::before{content:"\FDFB"}.mdi-calendar-multiple::before{content:"\F0F1"}.mdi-calendar-multiple-check::before{content:"\F0F2"}.mdi-calendar-multiselect::before{content:"\FA31"}.mdi-calendar-outline::before{content:"\FB43"}.mdi-calendar-plus::before{content:"\F0F3"}.mdi-calendar-question::before{content:"\F691"}.mdi-calendar-range::before{content:"\F678"}.mdi-calendar-range-outline::before{content:"\FB44"}.mdi-calendar-remove::before{content:"\F0F4"}.mdi-calendar-remove-outline::before{content:"\FC21"}.mdi-calendar-repeat::before{content:"\FEAB"}.mdi-calendar-repeat-outline::before{content:"\FEAC"}.mdi-calendar-search::before{content:"\F94B"}.mdi-calendar-star::before{content:"\F9D2"}.mdi-calendar-text::before{content:"\F0F5"}.mdi-calendar-text-outline::before{content:"\FC22"}.mdi-calendar-today::before{content:"\F0F6"}.mdi-calendar-week::before{content:"\FA32"}.mdi-calendar-week-begin::before{content:"\FA33"}.mdi-calendar-weekend::before{content:"\FEF6"}.mdi-calendar-weekend-outline::before{content:"\FEF7"}.mdi-call-made::before{content:"\F0F7"}.mdi-call-merge::before{content:"\F0F8"}.mdi-call-missed::before{content:"\F0F9"}.mdi-call-received::before{content:"\F0FA"}.mdi-call-split::before{content:"\F0FB"}.mdi-camcorder::before{content:"\F0FC"}.mdi-camcorder-box::before{content:"\F0FD"}.mdi-camcorder-box-off::before{content:"\F0FE"}.mdi-camcorder-off::before{content:"\F0FF"}.mdi-camera::before{content:"\F100"}.mdi-camera-account::before{content:"\F8CA"}.mdi-camera-burst::before{content:"\F692"}.mdi-camera-control::before{content:"\FB45"}.mdi-camera-enhance::before{content:"\F101"}.mdi-camera-enhance-outline::before{content:"\FB46"}.mdi-camera-front::before{content:"\F102"}.mdi-camera-front-variant::before{content:"\F103"}.mdi-camera-gopro::before{content:"\F7A0"}.mdi-camera-image::before{content:"\F8CB"}.mdi-camera-iris::before{content:"\F104"}.mdi-camera-metering-center::before{content:"\F7A1"}.mdi-camera-metering-matrix::before{content:"\F7A2"}.mdi-camera-metering-partial::before{content:"\F7A3"}.mdi-camera-metering-spot::before{content:"\F7A4"}.mdi-camera-off::before{content:"\F5DF"}.mdi-camera-outline::before{content:"\FD39"}.mdi-camera-party-mode::before{content:"\F105"}.mdi-camera-plus::before{content:"\FEF8"}.mdi-camera-plus-outline::before{content:"\FEF9"}.mdi-camera-rear::before{content:"\F106"}.mdi-camera-rear-variant::before{content:"\F107"}.mdi-camera-retake::before{content:"\FDFC"}.mdi-camera-retake-outline::before{content:"\FDFD"}.mdi-camera-switch::before{content:"\F108"}.mdi-camera-timer::before{content:"\F109"}.mdi-camera-wireless::before{content:"\FD92"}.mdi-camera-wireless-outline::before{content:"\FD93"}.mdi-campfire::before{content:"\FEFA"}.mdi-cancel::before{content:"\F739"}.mdi-candle::before{content:"\F5E2"}.mdi-candycane::before{content:"\F10A"}.mdi-cannabis::before{content:"\F7A5"}.mdi-caps-lock::before{content:"\FA9A"}.mdi-car::before{content:"\F10B"}.mdi-car-back::before{content:"\FDFE"}.mdi-car-battery::before{content:"\F10C"}.mdi-car-brake-abs::before{content:"\FC23"}.mdi-car-brake-alert::before{content:"\FC24"}.mdi-car-brake-hold::before{content:"\FD3A"}.mdi-car-brake-parking::before{content:"\FD3B"}.mdi-car-connected::before{content:"\F10D"}.mdi-car-convertible::before{content:"\F7A6"}.mdi-car-cruise-control::before{content:"\FD3C"}.mdi-car-defrost-front::before{content:"\FD3D"}.mdi-car-defrost-rear::before{content:"\FD3E"}.mdi-car-door::before{content:"\FB47"}.mdi-car-electric::before{content:"\FB48"}.mdi-car-esp::before{content:"\FC25"}.mdi-car-estate::before{content:"\F7A7"}.mdi-car-hatchback::before{content:"\F7A8"}.mdi-car-key::before{content:"\FB49"}.mdi-car-light-dimmed::before{content:"\FC26"}.mdi-car-light-fog::before{content:"\FC27"}.mdi-car-light-high::before{content:"\FC28"}.mdi-car-limousine::before{content:"\F8CC"}.mdi-car-multiple::before{content:"\FB4A"}.mdi-car-off::before{content:"\FDFF"}.mdi-car-parking-lights::before{content:"\FD3F"}.mdi-car-pickup::before{content:"\F7A9"}.mdi-car-shift-pattern::before{content:"\FF5D"}.mdi-car-side::before{content:"\F7AA"}.mdi-car-sports::before{content:"\F7AB"}.mdi-car-tire-alert::before{content:"\FC29"}.mdi-car-traction-control::before{content:"\FD40"}.mdi-car-wash::before{content:"\F10E"}.mdi-caravan::before{content:"\F7AC"}.mdi-card::before{content:"\FB4B"}.mdi-card-bulleted::before{content:"\FB4C"}.mdi-card-bulleted-off::before{content:"\FB4D"}.mdi-card-bulleted-off-outline::before{content:"\FB4E"}.mdi-card-bulleted-outline::before{content:"\FB4F"}.mdi-card-bulleted-settings::before{content:"\FB50"}.mdi-card-bulleted-settings-outline::before{content:"\FB51"}.mdi-card-outline::before{content:"\FB52"}.mdi-card-text::before{content:"\FB53"}.mdi-card-text-outline::before{content:"\FB54"}.mdi-cards::before{content:"\F638"}.mdi-cards-club::before{content:"\F8CD"}.mdi-cards-diamond::before{content:"\F8CE"}.mdi-cards-heart::before{content:"\F8CF"}.mdi-cards-outline::before{content:"\F639"}.mdi-cards-playing-outline::before{content:"\F63A"}.mdi-cards-spade::before{content:"\F8D0"}.mdi-cards-variant::before{content:"\F6C6"}.mdi-carrot::before{content:"\F10F"}.mdi-cart::before{content:"\F110"}.mdi-cart-arrow-down::before{content:"\FD42"}.mdi-cart-arrow-right::before{content:"\FC2A"}.mdi-cart-arrow-up::before{content:"\FD43"}.mdi-cart-minus::before{content:"\FD44"}.mdi-cart-off::before{content:"\F66B"}.mdi-cart-outline::before{content:"\F111"}.mdi-cart-plus::before{content:"\F112"}.mdi-cart-remove::before{content:"\FD45"}.mdi-case-sensitive-alt::before{content:"\F113"}.mdi-cash::before{content:"\F114"}.mdi-cash-100::before{content:"\F115"}.mdi-cash-marker::before{content:"\FD94"}.mdi-cash-multiple::before{content:"\F116"}.mdi-cash-refund::before{content:"\FA9B"}.mdi-cash-register::before{content:"\FCD0"}.mdi-cash-usd::before{content:"\F117"}.mdi-cassette::before{content:"\F9D3"}.mdi-cast::before{content:"\F118"}.mdi-cast-connected::before{content:"\F119"}.mdi-cast-education::before{content:"\FE6D"}.mdi-cast-off::before{content:"\F789"}.mdi-castle::before{content:"\F11A"}.mdi-cat::before{content:"\F11B"}.mdi-cctv::before{content:"\F7AD"}.mdi-ceiling-light::before{content:"\F768"}.mdi-cellphone::before{content:"\F11C"}.mdi-cellphone-android::before{content:"\F11D"}.mdi-cellphone-arrow-down::before{content:"\F9D4"}.mdi-cellphone-basic::before{content:"\F11E"}.mdi-cellphone-dock::before{content:"\F11F"}.mdi-cellphone-erase::before{content:"\F94C"}.mdi-cellphone-information::before{content:"\FF5E"}.mdi-cellphone-iphone::before{content:"\F120"}.mdi-cellphone-key::before{content:"\F94D"}.mdi-cellphone-link::before{content:"\F121"}.mdi-cellphone-link-off::before{content:"\F122"}.mdi-cellphone-lock::before{content:"\F94E"}.mdi-cellphone-message::before{content:"\F8D2"}.mdi-cellphone-nfc::before{content:"\FEAD"}.mdi-cellphone-off::before{content:"\F94F"}.mdi-cellphone-screenshot::before{content:"\FA34"}.mdi-cellphone-settings::before{content:"\F123"}.mdi-cellphone-settings-variant::before{content:"\F950"}.mdi-cellphone-sound::before{content:"\F951"}.mdi-cellphone-text::before{content:"\F8D1"}.mdi-cellphone-wireless::before{content:"\F814"}.mdi-celtic-cross::before{content:"\FCD1"}.mdi-certificate::before{content:"\F124"}.mdi-chair-rolling::before{content:"\FFBA"}.mdi-chair-school::before{content:"\F125"}.mdi-charity::before{content:"\FC2B"}.mdi-chart-arc::before{content:"\F126"}.mdi-chart-areaspline::before{content:"\F127"}.mdi-chart-areaspline-variant::before{content:"\FEAE"}.mdi-chart-bar::before{content:"\F128"}.mdi-chart-bar-stacked::before{content:"\F769"}.mdi-chart-bell-curve::before{content:"\FC2C"}.mdi-chart-bubble::before{content:"\F5E3"}.mdi-chart-donut::before{content:"\F7AE"}.mdi-chart-donut-variant::before{content:"\F7AF"}.mdi-chart-gantt::before{content:"\F66C"}.mdi-chart-histogram::before{content:"\F129"}.mdi-chart-line::before{content:"\F12A"}.mdi-chart-line-stacked::before{content:"\F76A"}.mdi-chart-line-variant::before{content:"\F7B0"}.mdi-chart-multiline::before{content:"\F8D3"}.mdi-chart-pie::before{content:"\F12B"}.mdi-chart-scatter-plot::before{content:"\FEAF"}.mdi-chart-scatter-plot-hexbin::before{content:"\F66D"}.mdi-chart-timeline::before{content:"\F66E"}.mdi-chart-timeline-variant::before{content:"\FEB0"}.mdi-chart-tree::before{content:"\FEB1"}.mdi-chat::before{content:"\FB55"}.mdi-chat-alert::before{content:"\FB56"}.mdi-chat-outline::before{content:"\FEFB"}.mdi-chat-processing::before{content:"\FB57"}.mdi-check::before{content:"\F12C"}.mdi-check-all::before{content:"\F12D"}.mdi-check-bold::before{content:"\FE6E"}.mdi-check-box-multiple-outline::before{content:"\FC2D"}.mdi-check-box-outline::before{content:"\FC2E"}.mdi-check-circle::before{content:"\F5E0"}.mdi-check-circle-outline::before{content:"\F5E1"}.mdi-check-decagram::before{content:"\F790"}.mdi-check-network::before{content:"\FC2F"}.mdi-check-network-outline::before{content:"\FC30"}.mdi-check-outline::before{content:"\F854"}.mdi-check-underline::before{content:"\FE70"}.mdi-check-underline-circle::before{content:"\FE71"}.mdi-check-underline-circle-outline::before{content:"\FE72"}.mdi-checkbook::before{content:"\FA9C"}.mdi-checkbox-blank::before{content:"\F12E"}.mdi-checkbox-blank-circle::before{content:"\F12F"}.mdi-checkbox-blank-circle-outline::before{content:"\F130"}.mdi-checkbox-blank-outline::before{content:"\F131"}.mdi-checkbox-intermediate::before{content:"\F855"}.mdi-checkbox-marked::before{content:"\F132"}.mdi-checkbox-marked-circle::before{content:"\F133"}.mdi-checkbox-marked-circle-outline::before{content:"\F134"}.mdi-checkbox-marked-outline::before{content:"\F135"}.mdi-checkbox-multiple-blank::before{content:"\F136"}.mdi-checkbox-multiple-blank-circle::before{content:"\F63B"}.mdi-checkbox-multiple-blank-circle-outline::before{content:"\F63C"}.mdi-checkbox-multiple-blank-outline::before{content:"\F137"}.mdi-checkbox-multiple-marked::before{content:"\F138"}.mdi-checkbox-multiple-marked-circle::before{content:"\F63D"}.mdi-checkbox-multiple-marked-circle-outline::before{content:"\F63E"}.mdi-checkbox-multiple-marked-outline::before{content:"\F139"}.mdi-checkerboard::before{content:"\F13A"}.mdi-chef-hat::before{content:"\FB58"}.mdi-chemical-weapon::before{content:"\F13B"}.mdi-chess-bishop::before{content:"\F85B"}.mdi-chess-king::before{content:"\F856"}.mdi-chess-knight::before{content:"\F857"}.mdi-chess-pawn::before{content:"\F858"}.mdi-chess-queen::before{content:"\F859"}.mdi-chess-rook::before{content:"\F85A"}.mdi-chevron-double-down::before{content:"\F13C"}.mdi-chevron-double-left::before{content:"\F13D"}.mdi-chevron-double-right::before{content:"\F13E"}.mdi-chevron-double-up::before{content:"\F13F"}.mdi-chevron-down::before{content:"\F140"}.mdi-chevron-down-box::before{content:"\F9D5"}.mdi-chevron-down-box-outline::before{content:"\F9D6"}.mdi-chevron-down-circle::before{content:"\FB0B"}.mdi-chevron-down-circle-outline::before{content:"\FB0C"}.mdi-chevron-left::before{content:"\F141"}.mdi-chevron-left-box::before{content:"\F9D7"}.mdi-chevron-left-box-outline::before{content:"\F9D8"}.mdi-chevron-left-circle::before{content:"\FB0D"}.mdi-chevron-left-circle-outline::before{content:"\FB0E"}.mdi-chevron-right::before{content:"\F142"}.mdi-chevron-right-box::before{content:"\F9D9"}.mdi-chevron-right-box-outline::before{content:"\F9DA"}.mdi-chevron-right-circle::before{content:"\FB0F"}.mdi-chevron-right-circle-outline::before{content:"\FB10"}.mdi-chevron-triple-down::before{content:"\FD95"}.mdi-chevron-triple-left::before{content:"\FD96"}.mdi-chevron-triple-right::before{content:"\FD97"}.mdi-chevron-triple-up::before{content:"\FD98"}.mdi-chevron-up::before{content:"\F143"}.mdi-chevron-up-box::before{content:"\F9DB"}.mdi-chevron-up-box-outline::before{content:"\F9DC"}.mdi-chevron-up-circle::before{content:"\FB11"}.mdi-chevron-up-circle-outline::before{content:"\FB12"}.mdi-chili-hot::before{content:"\F7B1"}.mdi-chili-medium::before{content:"\F7B2"}.mdi-chili-mild::before{content:"\F7B3"}.mdi-chip::before{content:"\F61A"}.mdi-christianity::before{content:"\F952"}.mdi-christianity-outline::before{content:"\FCD2"}.mdi-church::before{content:"\F144"}.mdi-circle::before{content:"\F764"}.mdi-circle-double::before{content:"\FEB2"}.mdi-circle-edit-outline::before{content:"\F8D4"}.mdi-circle-expand::before{content:"\FEB3"}.mdi-circle-medium::before{content:"\F9DD"}.mdi-circle-outline::before{content:"\F765"}.mdi-circle-slice-1::before{content:"\FA9D"}.mdi-circle-slice-2::before{content:"\FA9E"}.mdi-circle-slice-3::before{content:"\FA9F"}.mdi-circle-slice-4::before{content:"\FAA0"}.mdi-circle-slice-5::before{content:"\FAA1"}.mdi-circle-slice-6::before{content:"\FAA2"}.mdi-circle-slice-7::before{content:"\FAA3"}.mdi-circle-slice-8::before{content:"\FAA4"}.mdi-circle-small::before{content:"\F9DE"}.mdi-circular-saw::before{content:"\FE73"}.mdi-cisco-webex::before{content:"\F145"}.mdi-city::before{content:"\F146"}.mdi-city-variant::before{content:"\FA35"}.mdi-city-variant-outline::before{content:"\FA36"}.mdi-clipboard::before{content:"\F147"}.mdi-clipboard-account::before{content:"\F148"}.mdi-clipboard-account-outline::before{content:"\FC31"}.mdi-clipboard-alert::before{content:"\F149"}.mdi-clipboard-alert-outline::before{content:"\FCD3"}.mdi-clipboard-arrow-down::before{content:"\F14A"}.mdi-clipboard-arrow-down-outline::before{content:"\FC32"}.mdi-clipboard-arrow-left::before{content:"\F14B"}.mdi-clipboard-arrow-left-outline::before{content:"\FCD4"}.mdi-clipboard-arrow-right::before{content:"\FCD5"}.mdi-clipboard-arrow-right-outline::before{content:"\FCD6"}.mdi-clipboard-arrow-up::before{content:"\FC33"}.mdi-clipboard-arrow-up-outline::before{content:"\FC34"}.mdi-clipboard-check::before{content:"\F14C"}.mdi-clipboard-check-outline::before{content:"\F8A7"}.mdi-clipboard-flow::before{content:"\F6C7"}.mdi-clipboard-outline::before{content:"\F14D"}.mdi-clipboard-play::before{content:"\FC35"}.mdi-clipboard-play-outline::before{content:"\FC36"}.mdi-clipboard-plus::before{content:"\F750"}.mdi-clipboard-pulse::before{content:"\F85C"}.mdi-clipboard-pulse-outline::before{content:"\F85D"}.mdi-clipboard-text::before{content:"\F14E"}.mdi-clipboard-text-outline::before{content:"\FA37"}.mdi-clipboard-text-play::before{content:"\FC37"}.mdi-clipboard-text-play-outline::before{content:"\FC38"}.mdi-clippy::before{content:"\F14F"}.mdi-clock::before{content:"\F953"}.mdi-clock-alert::before{content:"\F954"}.mdi-clock-alert-outline::before{content:"\F5CE"}.mdi-clock-digital::before{content:"\FEB4"}.mdi-clock-end::before{content:"\F151"}.mdi-clock-fast::before{content:"\F152"}.mdi-clock-in::before{content:"\F153"}.mdi-clock-out::before{content:"\F154"}.mdi-clock-outline::before{content:"\F150"}.mdi-clock-start::before{content:"\F155"}.mdi-close::before{content:"\F156"}.mdi-close-box::before{content:"\F157"}.mdi-close-box-multiple::before{content:"\FC39"}.mdi-close-box-multiple-outline::before{content:"\FC3A"}.mdi-close-box-outline::before{content:"\F158"}.mdi-close-circle::before{content:"\F159"}.mdi-close-circle-outline::before{content:"\F15A"}.mdi-close-network::before{content:"\F15B"}.mdi-close-network-outline::before{content:"\FC3B"}.mdi-close-octagon::before{content:"\F15C"}.mdi-close-octagon-outline::before{content:"\F15D"}.mdi-close-outline::before{content:"\F6C8"}.mdi-closed-caption::before{content:"\F15E"}.mdi-closed-caption-outline::before{content:"\FD99"}.mdi-cloud::before{content:"\F15F"}.mdi-cloud-alert::before{content:"\F9DF"}.mdi-cloud-braces::before{content:"\F7B4"}.mdi-cloud-check::before{content:"\F160"}.mdi-cloud-circle::before{content:"\F161"}.mdi-cloud-download::before{content:"\F162"}.mdi-cloud-download-outline::before{content:"\FB59"}.mdi-cloud-off-outline::before{content:"\F164"}.mdi-cloud-outline::before{content:"\F163"}.mdi-cloud-print::before{content:"\F165"}.mdi-cloud-print-outline::before{content:"\F166"}.mdi-cloud-question::before{content:"\FA38"}.mdi-cloud-search::before{content:"\F955"}.mdi-cloud-search-outline::before{content:"\F956"}.mdi-cloud-sync::before{content:"\F63F"}.mdi-cloud-tags::before{content:"\F7B5"}.mdi-cloud-upload::before{content:"\F167"}.mdi-cloud-upload-outline::before{content:"\FB5A"}.mdi-clover::before{content:"\F815"}.mdi-code-array::before{content:"\F168"}.mdi-code-braces::before{content:"\F169"}.mdi-code-brackets::before{content:"\F16A"}.mdi-code-equal::before{content:"\F16B"}.mdi-code-greater-than::before{content:"\F16C"}.mdi-code-greater-than-or-equal::before{content:"\F16D"}.mdi-code-less-than::before{content:"\F16E"}.mdi-code-less-than-or-equal::before{content:"\F16F"}.mdi-code-not-equal::before{content:"\F170"}.mdi-code-not-equal-variant::before{content:"\F171"}.mdi-code-parentheses::before{content:"\F172"}.mdi-code-string::before{content:"\F173"}.mdi-code-tags::before{content:"\F174"}.mdi-code-tags-check::before{content:"\F693"}.mdi-codepen::before{content:"\F175"}.mdi-coffee::before{content:"\F176"}.mdi-coffee-off::before{content:"\FFCA"}.mdi-coffee-off-outline::before{content:"\FFCB"}.mdi-coffee-outline::before{content:"\F6C9"}.mdi-coffee-to-go::before{content:"\F177"}.mdi-coffin::before{content:"\FB5B"}.mdi-cogs::before{content:"\F8D5"}.mdi-coin::before{content:"\F178"}.mdi-coins::before{content:"\F694"}.mdi-collage::before{content:"\F640"}.mdi-collapse-all::before{content:"\FAA5"}.mdi-collapse-all-outline::before{content:"\FAA6"}.mdi-color-helper::before{content:"\F179"}.mdi-comma::before{content:"\FE74"}.mdi-comma-box::before{content:"\FE75"}.mdi-comma-box-outline::before{content:"\FE76"}.mdi-comma-circle::before{content:"\FE77"}.mdi-comma-circle-outline::before{content:"\FE78"}.mdi-comment::before{content:"\F17A"}.mdi-comment-account::before{content:"\F17B"}.mdi-comment-account-outline::before{content:"\F17C"}.mdi-comment-alert::before{content:"\F17D"}.mdi-comment-alert-outline::before{content:"\F17E"}.mdi-comment-arrow-left::before{content:"\F9E0"}.mdi-comment-arrow-left-outline::before{content:"\F9E1"}.mdi-comment-arrow-right::before{content:"\F9E2"}.mdi-comment-arrow-right-outline::before{content:"\F9E3"}.mdi-comment-check::before{content:"\F17F"}.mdi-comment-check-outline::before{content:"\F180"}.mdi-comment-eye::before{content:"\FA39"}.mdi-comment-eye-outline::before{content:"\FA3A"}.mdi-comment-multiple::before{content:"\F85E"}.mdi-comment-multiple-outline::before{content:"\F181"}.mdi-comment-outline::before{content:"\F182"}.mdi-comment-plus::before{content:"\F9E4"}.mdi-comment-plus-outline::before{content:"\F183"}.mdi-comment-processing::before{content:"\F184"}.mdi-comment-processing-outline::before{content:"\F185"}.mdi-comment-question::before{content:"\F816"}.mdi-comment-question-outline::before{content:"\F186"}.mdi-comment-remove::before{content:"\F5DE"}.mdi-comment-remove-outline::before{content:"\F187"}.mdi-comment-search::before{content:"\FA3B"}.mdi-comment-search-outline::before{content:"\FA3C"}.mdi-comment-text::before{content:"\F188"}.mdi-comment-text-multiple::before{content:"\F85F"}.mdi-comment-text-multiple-outline::before{content:"\F860"}.mdi-comment-text-outline::before{content:"\F189"}.mdi-compare::before{content:"\F18A"}.mdi-compass::before{content:"\F18B"}.mdi-compass-off::before{content:"\FB5C"}.mdi-compass-off-outline::before{content:"\FB5D"}.mdi-compass-outline::before{content:"\F18C"}.mdi-console::before{content:"\F18D"}.mdi-console-line::before{content:"\F7B6"}.mdi-console-network::before{content:"\F8A8"}.mdi-console-network-outline::before{content:"\FC3C"}.mdi-contact-mail::before{content:"\F18E"}.mdi-contact-mail-outline::before{content:"\FEB5"}.mdi-contact-phone::before{content:"\FEB6"}.mdi-contact-phone-outline::before{content:"\FEB7"}.mdi-contactless-payment::before{content:"\FD46"}.mdi-contacts::before{content:"\F6CA"}.mdi-contain::before{content:"\FA3D"}.mdi-contain-end::before{content:"\FA3E"}.mdi-contain-start::before{content:"\FA3F"}.mdi-content-copy::before{content:"\F18F"}.mdi-content-cut::before{content:"\F190"}.mdi-content-duplicate::before{content:"\F191"}.mdi-content-paste::before{content:"\F192"}.mdi-content-save::before{content:"\F193"}.mdi-content-save-alert::before{content:"\FF5F"}.mdi-content-save-alert-outline::before{content:"\FF60"}.mdi-content-save-all::before{content:"\F194"}.mdi-content-save-all-outline::before{content:"\FF61"}.mdi-content-save-edit::before{content:"\FCD7"}.mdi-content-save-edit-outline::before{content:"\FCD8"}.mdi-content-save-move::before{content:"\FE79"}.mdi-content-save-move-outline::before{content:"\FE7A"}.mdi-content-save-outline::before{content:"\F817"}.mdi-content-save-settings::before{content:"\F61B"}.mdi-content-save-settings-outline::before{content:"\FB13"}.mdi-contrast::before{content:"\F195"}.mdi-contrast-box::before{content:"\F196"}.mdi-contrast-circle::before{content:"\F197"}.mdi-controller-classic::before{content:"\FB5E"}.mdi-controller-classic-outline::before{content:"\FB5F"}.mdi-cookie::before{content:"\F198"}.mdi-copyright::before{content:"\F5E6"}.mdi-cordova::before{content:"\F957"}.mdi-corn::before{content:"\F7B7"}.mdi-counter::before{content:"\F199"}.mdi-cow::before{content:"\F19A"}.mdi-cowboy::before{content:"\FEB8"}.mdi-cpu-32-bit::before{content:"\FEFC"}.mdi-cpu-64-bit::before{content:"\FEFD"}.mdi-crane::before{content:"\F861"}.mdi-creation::before{content:"\F1C9"}.mdi-creative-commons::before{content:"\FD47"}.mdi-credit-card::before{content:"\F19B"}.mdi-credit-card-clock::before{content:"\FEFE"}.mdi-credit-card-clock-outline::before{content:"\FFBC"}.mdi-credit-card-marker::before{content:"\FD9A"}.mdi-credit-card-multiple::before{content:"\F19C"}.mdi-credit-card-off::before{content:"\F5E4"}.mdi-credit-card-plus::before{content:"\F675"}.mdi-credit-card-refund::before{content:"\FAA7"}.mdi-credit-card-scan::before{content:"\F19D"}.mdi-credit-card-settings::before{content:"\F8D6"}.mdi-credit-card-wireless::before{content:"\FD48"}.mdi-cricket::before{content:"\FD49"}.mdi-crop::before{content:"\F19E"}.mdi-crop-free::before{content:"\F19F"}.mdi-crop-landscape::before{content:"\F1A0"}.mdi-crop-portrait::before{content:"\F1A1"}.mdi-crop-rotate::before{content:"\F695"}.mdi-crop-square::before{content:"\F1A2"}.mdi-crosshairs::before{content:"\F1A3"}.mdi-crosshairs-gps::before{content:"\F1A4"}.mdi-crosshairs-off::before{content:"\FF62"}.mdi-crown::before{content:"\F1A5"}.mdi-cryengine::before{content:"\F958"}.mdi-crystal-ball::before{content:"\FB14"}.mdi-cube::before{content:"\F1A6"}.mdi-cube-outline::before{content:"\F1A7"}.mdi-cube-scan::before{content:"\FB60"}.mdi-cube-send::before{content:"\F1A8"}.mdi-cube-unfolded::before{content:"\F1A9"}.mdi-cup::before{content:"\F1AA"}.mdi-cup-off::before{content:"\F5E5"}.mdi-cup-water::before{content:"\F1AB"}.mdi-cupboard::before{content:"\FF63"}.mdi-cupboard-outline::before{content:"\FF64"}.mdi-cupcake::before{content:"\F959"}.mdi-curling::before{content:"\F862"}.mdi-currency-bdt::before{content:"\F863"}.mdi-currency-brl::before{content:"\FB61"}.mdi-currency-btc::before{content:"\F1AC"}.mdi-currency-chf::before{content:"\F7B8"}.mdi-currency-cny::before{content:"\F7B9"}.mdi-currency-eth::before{content:"\F7BA"}.mdi-currency-eur::before{content:"\F1AD"}.mdi-currency-gbp::before{content:"\F1AE"}.mdi-currency-ils::before{content:"\FC3D"}.mdi-currency-inr::before{content:"\F1AF"}.mdi-currency-jpy::before{content:"\F7BB"}.mdi-currency-krw::before{content:"\F7BC"}.mdi-currency-kzt::before{content:"\F864"}.mdi-currency-ngn::before{content:"\F1B0"}.mdi-currency-php::before{content:"\F9E5"}.mdi-currency-rial::before{content:"\FEB9"}.mdi-currency-rub::before{content:"\F1B1"}.mdi-currency-sign::before{content:"\F7BD"}.mdi-currency-try::before{content:"\F1B2"}.mdi-currency-twd::before{content:"\F7BE"}.mdi-currency-usd::before{content:"\F1B3"}.mdi-currency-usd-off::before{content:"\F679"}.mdi-current-ac::before{content:"\F95A"}.mdi-current-dc::before{content:"\F95B"}.mdi-cursor-default::before{content:"\F1B4"}.mdi-cursor-default-click::before{content:"\FCD9"}.mdi-cursor-default-click-outline::before{content:"\FCDA"}.mdi-cursor-default-outline::before{content:"\F1B5"}.mdi-cursor-move::before{content:"\F1B6"}.mdi-cursor-pointer::before{content:"\F1B7"}.mdi-cursor-text::before{content:"\F5E7"}.mdi-database::before{content:"\F1B8"}.mdi-database-check::before{content:"\FAA8"}.mdi-database-edit::before{content:"\FB62"}.mdi-database-export::before{content:"\F95D"}.mdi-database-import::before{content:"\F95C"}.mdi-database-lock::before{content:"\FAA9"}.mdi-database-minus::before{content:"\F1B9"}.mdi-database-plus::before{content:"\F1BA"}.mdi-database-refresh::before{content:"\FCDB"}.mdi-database-remove::before{content:"\FCDC"}.mdi-database-search::before{content:"\F865"}.mdi-database-settings::before{content:"\FCDD"}.mdi-death-star::before{content:"\F8D7"}.mdi-death-star-variant::before{content:"\F8D8"}.mdi-deathly-hallows::before{content:"\FB63"}.mdi-debian::before{content:"\F8D9"}.mdi-debug-step-into::before{content:"\F1BB"}.mdi-debug-step-out::before{content:"\F1BC"}.mdi-debug-step-over::before{content:"\F1BD"}.mdi-decagram::before{content:"\F76B"}.mdi-decagram-outline::before{content:"\F76C"}.mdi-decimal-decrease::before{content:"\F1BE"}.mdi-decimal-increase::before{content:"\F1BF"}.mdi-delete::before{content:"\F1C0"}.mdi-delete-circle::before{content:"\F682"}.mdi-delete-circle-outline::before{content:"\FB64"}.mdi-delete-empty::before{content:"\F6CB"}.mdi-delete-empty-outline::before{content:"\FEBA"}.mdi-delete-forever::before{content:"\F5E8"}.mdi-delete-forever-outline::before{content:"\FB65"}.mdi-delete-outline::before{content:"\F9E6"}.mdi-delete-restore::before{content:"\F818"}.mdi-delete-sweep::before{content:"\F5E9"}.mdi-delete-sweep-outline::before{content:"\FC3E"}.mdi-delete-variant::before{content:"\F1C1"}.mdi-delta::before{content:"\F1C2"}.mdi-desk-lamp::before{content:"\F95E"}.mdi-deskphone::before{content:"\F1C3"}.mdi-desktop-classic::before{content:"\F7BF"}.mdi-desktop-mac::before{content:"\F1C4"}.mdi-desktop-mac-dashboard::before{content:"\F9E7"}.mdi-desktop-tower::before{content:"\F1C5"}.mdi-desktop-tower-monitor::before{content:"\FAAA"}.mdi-details::before{content:"\F1C6"}.mdi-dev-to::before{content:"\FD4A"}.mdi-developer-board::before{content:"\F696"}.mdi-deviantart::before{content:"\F1C7"}.mdi-dialpad::before{content:"\F61C"}.mdi-diameter::before{content:"\FC3F"}.mdi-diameter-outline::before{content:"\FC40"}.mdi-diameter-variant::before{content:"\FC41"}.mdi-diamond::before{content:"\FB66"}.mdi-diamond-outline::before{content:"\FB67"}.mdi-diamond-stone::before{content:"\F1C8"}.mdi-dice-1::before{content:"\F1CA"}.mdi-dice-2::before{content:"\F1CB"}.mdi-dice-3::before{content:"\F1CC"}.mdi-dice-4::before{content:"\F1CD"}.mdi-dice-5::before{content:"\F1CE"}.mdi-dice-6::before{content:"\F1CF"}.mdi-dice-d10::before{content:"\F76E"}.mdi-dice-d12::before{content:"\F866"}.mdi-dice-d20::before{content:"\F5EA"}.mdi-dice-d4::before{content:"\F5EB"}.mdi-dice-d6::before{content:"\F5EC"}.mdi-dice-d8::before{content:"\F5ED"}.mdi-dice-multiple::before{content:"\F76D"}.mdi-dictionary::before{content:"\F61D"}.mdi-dip-switch::before{content:"\F7C0"}.mdi-directions::before{content:"\F1D0"}.mdi-directions-fork::before{content:"\F641"}.mdi-disc::before{content:"\F5EE"}.mdi-disc-alert::before{content:"\F1D1"}.mdi-disc-player::before{content:"\F95F"}.mdi-discord::before{content:"\F66F"}.mdi-dishwasher::before{content:"\FAAB"}.mdi-disqus::before{content:"\F1D2"}.mdi-disqus-outline::before{content:"\F1D3"}.mdi-diving-flippers::before{content:"\FD9B"}.mdi-diving-helmet::before{content:"\FD9C"}.mdi-diving-scuba::before{content:"\FD9D"}.mdi-diving-scuba-flag::before{content:"\FD9E"}.mdi-diving-scuba-tank::before{content:"\FD9F"}.mdi-diving-scuba-tank-multiple::before{content:"\FDA0"}.mdi-diving-snorkel::before{content:"\FDA1"}.mdi-division::before{content:"\F1D4"}.mdi-division-box::before{content:"\F1D5"}.mdi-dlna::before{content:"\FA40"}.mdi-dna::before{content:"\F683"}.mdi-dns::before{content:"\F1D6"}.mdi-dns-outline::before{content:"\FB68"}.mdi-do-not-disturb::before{content:"\F697"}.mdi-do-not-disturb-off::before{content:"\F698"}.mdi-docker::before{content:"\F867"}.mdi-doctor::before{content:"\FA41"}.mdi-dog::before{content:"\FA42"}.mdi-dog-service::before{content:"\FAAC"}.mdi-dog-side::before{content:"\FA43"}.mdi-dolby::before{content:"\F6B2"}.mdi-dolly::before{content:"\FEBB"}.mdi-domain::before{content:"\F1D7"}.mdi-domain-off::before{content:"\FD4B"}.mdi-donkey::before{content:"\F7C1"}.mdi-door::before{content:"\F819"}.mdi-door-closed::before{content:"\F81A"}.mdi-door-open::before{content:"\F81B"}.mdi-doorbell-video::before{content:"\F868"}.mdi-dot-net::before{content:"\FAAD"}.mdi-dots-horizontal::before{content:"\F1D8"}.mdi-dots-horizontal-circle::before{content:"\F7C2"}.mdi-dots-horizontal-circle-outline::before{content:"\FB69"}.mdi-dots-vertical::before{content:"\F1D9"}.mdi-dots-vertical-circle::before{content:"\F7C3"}.mdi-dots-vertical-circle-outline::before{content:"\FB6A"}.mdi-douban::before{content:"\F699"}.mdi-download::before{content:"\F1DA"}.mdi-download-multiple::before{content:"\F9E8"}.mdi-download-network::before{content:"\F6F3"}.mdi-download-network-outline::before{content:"\FC42"}.mdi-download-outline::before{content:"\FB6B"}.mdi-drag::before{content:"\F1DB"}.mdi-drag-horizontal::before{content:"\F1DC"}.mdi-drag-variant::before{content:"\FB6C"}.mdi-drag-vertical::before{content:"\F1DD"}.mdi-drama-masks::before{content:"\FCDE"}.mdi-draw::before{content:"\FF66"}.mdi-drawing::before{content:"\F1DE"}.mdi-drawing-box::before{content:"\F1DF"}.mdi-dresser::before{content:"\FF67"}.mdi-dresser-outline::before{content:"\FF68"}.mdi-dribbble::before{content:"\F1E0"}.mdi-dribbble-box::before{content:"\F1E1"}.mdi-drone::before{content:"\F1E2"}.mdi-dropbox::before{content:"\F1E3"}.mdi-drupal::before{content:"\F1E4"}.mdi-duck::before{content:"\F1E5"}.mdi-dumbbell::before{content:"\F1E6"}.mdi-dump-truck::before{content:"\FC43"}.mdi-ear-hearing::before{content:"\F7C4"}.mdi-ear-hearing-off::before{content:"\FA44"}.mdi-earth::before{content:"\F1E7"}.mdi-earth-box::before{content:"\F6CC"}.mdi-earth-box-off::before{content:"\F6CD"}.mdi-earth-off::before{content:"\F1E8"}.mdi-edge::before{content:"\F1E9"}.mdi-egg::before{content:"\FAAE"}.mdi-egg-easter::before{content:"\FAAF"}.mdi-eight-track::before{content:"\F9E9"}.mdi-eject::before{content:"\F1EA"}.mdi-eject-outline::before{content:"\FB6D"}.mdi-electric-switch::before{content:"\FEBC"}.mdi-elephant::before{content:"\F7C5"}.mdi-elevation-decline::before{content:"\F1EB"}.mdi-elevation-rise::before{content:"\F1EC"}.mdi-elevator::before{content:"\F1ED"}.mdi-ellipse::before{content:"\FEBD"}.mdi-ellipse-outline::before{content:"\FEBE"}.mdi-email::before{content:"\F1EE"}.mdi-email-alert::before{content:"\F6CE"}.mdi-email-box::before{content:"\FCDF"}.mdi-email-check::before{content:"\FAB0"}.mdi-email-check-outline::before{content:"\FAB1"}.mdi-email-edit::before{content:"\FF00"}.mdi-email-edit-outline::before{content:"\FF01"}.mdi-email-lock::before{content:"\F1F1"}.mdi-email-mark-as-unread::before{content:"\FB6E"}.mdi-email-minus::before{content:"\FF02"}.mdi-email-minus-outline::before{content:"\FF03"}.mdi-email-multiple::before{content:"\FF04"}.mdi-email-multiple-outline::before{content:"\FF05"}.mdi-email-open::before{content:"\F1EF"}.mdi-email-open-multiple::before{content:"\FF06"}.mdi-email-open-multiple-outline::before{content:"\FF07"}.mdi-email-open-outline::before{content:"\F5EF"}.mdi-email-outline::before{content:"\F1F0"}.mdi-email-plus::before{content:"\F9EA"}.mdi-email-plus-outline::before{content:"\F9EB"}.mdi-email-search::before{content:"\F960"}.mdi-email-search-outline::before{content:"\F961"}.mdi-email-variant::before{content:"\F5F0"}.mdi-ember::before{content:"\FB15"}.mdi-emby::before{content:"\F6B3"}.mdi-emoticon::before{content:"\FC44"}.mdi-emoticon-angry::before{content:"\FC45"}.mdi-emoticon-angry-outline::before{content:"\FC46"}.mdi-emoticon-cool::before{content:"\FC47"}.mdi-emoticon-cool-outline::before{content:"\F1F3"}.mdi-emoticon-cry::before{content:"\FC48"}.mdi-emoticon-cry-outline::before{content:"\FC49"}.mdi-emoticon-dead::before{content:"\FC4A"}.mdi-emoticon-dead-outline::before{content:"\F69A"}.mdi-emoticon-devil::before{content:"\FC4B"}.mdi-emoticon-devil-outline::before{content:"\F1F4"}.mdi-emoticon-excited::before{content:"\FC4C"}.mdi-emoticon-excited-outline::before{content:"\F69B"}.mdi-emoticon-frown::before{content:"\FF69"}.mdi-emoticon-frown-outline::before{content:"\FF6A"}.mdi-emoticon-happy::before{content:"\FC4D"}.mdi-emoticon-happy-outline::before{content:"\F1F5"}.mdi-emoticon-kiss::before{content:"\FC4E"}.mdi-emoticon-kiss-outline::before{content:"\FC4F"}.mdi-emoticon-neutral::before{content:"\FC50"}.mdi-emoticon-neutral-outline::before{content:"\F1F6"}.mdi-emoticon-outline::before{content:"\F1F2"}.mdi-emoticon-poop::before{content:"\F1F7"}.mdi-emoticon-poop-outline::before{content:"\FC51"}.mdi-emoticon-sad::before{content:"\FC52"}.mdi-emoticon-sad-outline::before{content:"\F1F8"}.mdi-emoticon-tongue::before{content:"\F1F9"}.mdi-emoticon-tongue-outline::before{content:"\FC53"}.mdi-emoticon-wink::before{content:"\FC54"}.mdi-emoticon-wink-outline::before{content:"\FC55"}.mdi-engine::before{content:"\F1FA"}.mdi-engine-off::before{content:"\FA45"}.mdi-engine-off-outline::before{content:"\FA46"}.mdi-engine-outline::before{content:"\F1FB"}.mdi-equal::before{content:"\F1FC"}.mdi-equal-box::before{content:"\F1FD"}.mdi-equalizer::before{content:"\FEBF"}.mdi-equalizer-outline::before{content:"\FEC0"}.mdi-eraser::before{content:"\F1FE"}.mdi-eraser-variant::before{content:"\F642"}.mdi-escalator::before{content:"\F1FF"}.mdi-eslint::before{content:"\FC56"}.mdi-et::before{content:"\FAB2"}.mdi-ethereum::before{content:"\F869"}.mdi-ethernet::before{content:"\F200"}.mdi-ethernet-cable::before{content:"\F201"}.mdi-ethernet-cable-off::before{content:"\F202"}.mdi-etsy::before{content:"\F203"}.mdi-ev-station::before{content:"\F5F1"}.mdi-eventbrite::before{content:"\F7C6"}.mdi-evernote::before{content:"\F204"}.mdi-exclamation::before{content:"\F205"}.mdi-exit-run::before{content:"\FA47"}.mdi-exit-to-app::before{content:"\F206"}.mdi-expand-all::before{content:"\FAB3"}.mdi-expand-all-outline::before{content:"\FAB4"}.mdi-exponent::before{content:"\F962"}.mdi-exponent-box::before{content:"\F963"}.mdi-export::before{content:"\F207"}.mdi-export-variant::before{content:"\FB6F"}.mdi-eye::before{content:"\F208"}.mdi-eye-check::before{content:"\FCE0"}.mdi-eye-check-outline::before{content:"\FCE1"}.mdi-eye-circle::before{content:"\FB70"}.mdi-eye-circle-outline::before{content:"\FB71"}.mdi-eye-off::before{content:"\F209"}.mdi-eye-off-outline::before{content:"\F6D0"}.mdi-eye-outline::before{content:"\F6CF"}.mdi-eye-plus::before{content:"\F86A"}.mdi-eye-plus-outline::before{content:"\F86B"}.mdi-eye-settings::before{content:"\F86C"}.mdi-eye-settings-outline::before{content:"\F86D"}.mdi-eyedropper::before{content:"\F20A"}.mdi-eyedropper-variant::before{content:"\F20B"}.mdi-face::before{content:"\F643"}.mdi-face-agent::before{content:"\FD4C"}.mdi-face-outline::before{content:"\FB72"}.mdi-face-profile::before{content:"\F644"}.mdi-face-recognition::before{content:"\FC57"}.mdi-facebook::before{content:"\F20C"}.mdi-facebook-box::before{content:"\F20D"}.mdi-facebook-messenger::before{content:"\F20E"}.mdi-facebook-workplace::before{content:"\FB16"}.mdi-factory::before{content:"\F20F"}.mdi-fan::before{content:"\F210"}.mdi-fan-off::before{content:"\F81C"}.mdi-fast-forward::before{content:"\F211"}.mdi-fast-forward-10::before{content:"\FD4D"}.mdi-fast-forward-30::before{content:"\FCE2"}.mdi-fast-forward-outline::before{content:"\F6D1"}.mdi-fax::before{content:"\F212"}.mdi-feather::before{content:"\F6D2"}.mdi-feature-search::before{content:"\FA48"}.mdi-feature-search-outline::before{content:"\FA49"}.mdi-fedora::before{content:"\F8DA"}.mdi-ferris-wheel::before{content:"\FEC1"}.mdi-ferry::before{content:"\F213"}.mdi-file::before{content:"\F214"}.mdi-file-account::before{content:"\F73A"}.mdi-file-alert::before{content:"\FA4A"}.mdi-file-alert-outline::before{content:"\FA4B"}.mdi-file-cabinet::before{content:"\FAB5"}.mdi-file-cad::before{content:"\FF08"}.mdi-file-cad-box::before{content:"\FF09"}.mdi-file-cancel::before{content:"\FDA2"}.mdi-file-cancel-outline::before{content:"\FDA3"}.mdi-file-chart::before{content:"\F215"}.mdi-file-check::before{content:"\F216"}.mdi-file-check-outline::before{content:"\FE7B"}.mdi-file-cloud::before{content:"\F217"}.mdi-file-compare::before{content:"\F8A9"}.mdi-file-delimited::before{content:"\F218"}.mdi-file-delimited-outline::before{content:"\FEC2"}.mdi-file-document::before{content:"\F219"}.mdi-file-document-box::before{content:"\F21A"}.mdi-file-document-box-check::before{content:"\FEC3"}.mdi-file-document-box-check-outline::before{content:"\FEC4"}.mdi-file-document-box-minus::before{content:"\FEC5"}.mdi-file-document-box-minus-outline::before{content:"\FEC6"}.mdi-file-document-box-multiple::before{content:"\FAB6"}.mdi-file-document-box-multiple-outline::before{content:"\FAB7"}.mdi-file-document-box-outline::before{content:"\F9EC"}.mdi-file-document-box-plus::before{content:"\FEC7"}.mdi-file-document-box-plus-outline::before{content:"\FEC8"}.mdi-file-document-box-remove::before{content:"\FEC9"}.mdi-file-document-box-remove-outline::before{content:"\FECA"}.mdi-file-document-box-search::before{content:"\FECB"}.mdi-file-document-box-search-outline::before{content:"\FECC"}.mdi-file-document-edit::before{content:"\FDA4"}.mdi-file-document-edit-outline::before{content:"\FDA5"}.mdi-file-document-outline::before{content:"\F9ED"}.mdi-file-download::before{content:"\F964"}.mdi-file-download-outline::before{content:"\F965"}.mdi-file-excel::before{content:"\F21B"}.mdi-file-excel-box::before{content:"\F21C"}.mdi-file-export::before{content:"\F21D"}.mdi-file-eye::before{content:"\FDA6"}.mdi-file-eye-outline::before{content:"\FDA7"}.mdi-file-find::before{content:"\F21E"}.mdi-file-find-outline::before{content:"\FB73"}.mdi-file-hidden::before{content:"\F613"}.mdi-file-image::before{content:"\F21F"}.mdi-file-image-outline::before{content:"\FECD"}.mdi-file-import::before{content:"\F220"}.mdi-file-lock::before{content:"\F221"}.mdi-file-move::before{content:"\FAB8"}.mdi-file-multiple::before{content:"\F222"}.mdi-file-music::before{content:"\F223"}.mdi-file-music-outline::before{content:"\FE7C"}.mdi-file-outline::before{content:"\F224"}.mdi-file-pdf::before{content:"\F225"}.mdi-file-pdf-box::before{content:"\F226"}.mdi-file-pdf-outline::before{content:"\FE7D"}.mdi-file-percent::before{content:"\F81D"}.mdi-file-plus::before{content:"\F751"}.mdi-file-plus-outline::before{content:"\FF0A"}.mdi-file-powerpoint::before{content:"\F227"}.mdi-file-powerpoint-box::before{content:"\F228"}.mdi-file-presentation-box::before{content:"\F229"}.mdi-file-question::before{content:"\F86E"}.mdi-file-remove::before{content:"\FB74"}.mdi-file-replace::before{content:"\FB17"}.mdi-file-replace-outline::before{content:"\FB18"}.mdi-file-restore::before{content:"\F670"}.mdi-file-search::before{content:"\FC58"}.mdi-file-search-outline::before{content:"\FC59"}.mdi-file-send::before{content:"\F22A"}.mdi-file-table::before{content:"\FC5A"}.mdi-file-table-outline::before{content:"\FC5B"}.mdi-file-tree::before{content:"\F645"}.mdi-file-undo::before{content:"\F8DB"}.mdi-file-upload::before{content:"\FA4C"}.mdi-file-upload-outline::before{content:"\FA4D"}.mdi-file-video::before{content:"\F22B"}.mdi-file-video-outline::before{content:"\FE10"}.mdi-file-word::before{content:"\F22C"}.mdi-file-word-box::before{content:"\F22D"}.mdi-file-xml::before{content:"\F22E"}.mdi-film::before{content:"\F22F"}.mdi-filmstrip::before{content:"\F230"}.mdi-filmstrip-off::before{content:"\F231"}.mdi-filter::before{content:"\F232"}.mdi-filter-minus::before{content:"\FF0B"}.mdi-filter-minus-outline::before{content:"\FF0C"}.mdi-filter-outline::before{content:"\F233"}.mdi-filter-plus::before{content:"\FF0D"}.mdi-filter-plus-outline::before{content:"\FF0E"}.mdi-filter-remove::before{content:"\F234"}.mdi-filter-remove-outline::before{content:"\F235"}.mdi-filter-variant::before{content:"\F236"}.mdi-finance::before{content:"\F81E"}.mdi-find-replace::before{content:"\F6D3"}.mdi-fingerprint::before{content:"\F237"}.mdi-fingerprint-off::before{content:"\FECE"}.mdi-fire::before{content:"\F238"}.mdi-fire-extinguisher::before{content:"\FF0F"}.mdi-fire-truck::before{content:"\F8AA"}.mdi-firebase::before{content:"\F966"}.mdi-firefox::before{content:"\F239"}.mdi-fireplace::before{content:"\FE11"}.mdi-fireplace-off::before{content:"\FE12"}.mdi-firework::before{content:"\FE13"}.mdi-fish::before{content:"\F23A"}.mdi-fishbowl::before{content:"\FF10"}.mdi-fishbowl-outline::before{content:"\FF11"}.mdi-fit-to-page::before{content:"\FF12"}.mdi-fit-to-page-outline::before{content:"\FF13"}.mdi-flag::before{content:"\F23B"}.mdi-flag-checkered::before{content:"\F23C"}.mdi-flag-minus::before{content:"\FB75"}.mdi-flag-outline::before{content:"\F23D"}.mdi-flag-plus::before{content:"\FB76"}.mdi-flag-remove::before{content:"\FB77"}.mdi-flag-triangle::before{content:"\F23F"}.mdi-flag-variant::before{content:"\F240"}.mdi-flag-variant-outline::before{content:"\F23E"}.mdi-flare::before{content:"\FD4E"}.mdi-flash::before{content:"\F241"}.mdi-flash-alert::before{content:"\FF14"}.mdi-flash-alert-outline::before{content:"\FF15"}.mdi-flash-auto::before{content:"\F242"}.mdi-flash-circle::before{content:"\F81F"}.mdi-flash-off::before{content:"\F243"}.mdi-flash-outline::before{content:"\F6D4"}.mdi-flash-red-eye::before{content:"\F67A"}.mdi-flashlight::before{content:"\F244"}.mdi-flashlight-off::before{content:"\F245"}.mdi-flask::before{content:"\F093"}.mdi-flask-empty::before{content:"\F094"}.mdi-flask-empty-outline::before{content:"\F095"}.mdi-flask-outline::before{content:"\F096"}.mdi-flattr::before{content:"\F246"}.mdi-flickr::before{content:"\FCE3"}.mdi-flip-to-back::before{content:"\F247"}.mdi-flip-to-front::before{content:"\F248"}.mdi-floor-lamp::before{content:"\F8DC"}.mdi-floor-plan::before{content:"\F820"}.mdi-floppy::before{content:"\F249"}.mdi-floppy-variant::before{content:"\F9EE"}.mdi-flower::before{content:"\F24A"}.mdi-flower-outline::before{content:"\F9EF"}.mdi-flower-poppy::before{content:"\FCE4"}.mdi-flower-tulip::before{content:"\F9F0"}.mdi-flower-tulip-outline::before{content:"\F9F1"}.mdi-focus-auto::before{content:"\FF6B"}.mdi-focus-field::before{content:"\FF6C"}.mdi-focus-field-horizontal::before{content:"\FF6D"}.mdi-focus-field-vertical::before{content:"\FF6E"}.mdi-folder::before{content:"\F24B"}.mdi-folder-account::before{content:"\F24C"}.mdi-folder-account-outline::before{content:"\FB78"}.mdi-folder-alert::before{content:"\FDA8"}.mdi-folder-alert-outline::before{content:"\FDA9"}.mdi-folder-clock::before{content:"\FAB9"}.mdi-folder-clock-outline::before{content:"\FABA"}.mdi-folder-download::before{content:"\F24D"}.mdi-folder-edit::before{content:"\F8DD"}.mdi-folder-edit-outline::before{content:"\FDAA"}.mdi-folder-google-drive::before{content:"\F24E"}.mdi-folder-image::before{content:"\F24F"}.mdi-folder-key::before{content:"\F8AB"}.mdi-folder-key-network::before{content:"\F8AC"}.mdi-folder-key-network-outline::before{content:"\FC5C"}.mdi-folder-lock::before{content:"\F250"}.mdi-folder-lock-open::before{content:"\F251"}.mdi-folder-move::before{content:"\F252"}.mdi-folder-multiple::before{content:"\F253"}.mdi-folder-multiple-image::before{content:"\F254"}.mdi-folder-multiple-outline::before{content:"\F255"}.mdi-folder-network::before{content:"\F86F"}.mdi-folder-network-outline::before{content:"\FC5D"}.mdi-folder-open::before{content:"\F76F"}.mdi-folder-open-outline::before{content:"\FDAB"}.mdi-folder-outline::before{content:"\F256"}.mdi-folder-plus::before{content:"\F257"}.mdi-folder-plus-outline::before{content:"\FB79"}.mdi-folder-pound::before{content:"\FCE5"}.mdi-folder-pound-outline::before{content:"\FCE6"}.mdi-folder-remove::before{content:"\F258"}.mdi-folder-remove-outline::before{content:"\FB7A"}.mdi-folder-search::before{content:"\F967"}.mdi-folder-search-outline::before{content:"\F968"}.mdi-folder-star::before{content:"\F69C"}.mdi-folder-star-outline::before{content:"\FB7B"}.mdi-folder-sync::before{content:"\FCE7"}.mdi-folder-sync-outline::before{content:"\FCE8"}.mdi-folder-text::before{content:"\FC5E"}.mdi-folder-text-outline::before{content:"\FC5F"}.mdi-folder-upload::before{content:"\F259"}.mdi-font-awesome::before{content:"\F03A"}.mdi-food::before{content:"\F25A"}.mdi-food-apple::before{content:"\F25B"}.mdi-food-apple-outline::before{content:"\FC60"}.mdi-food-croissant::before{content:"\F7C7"}.mdi-food-fork-drink::before{content:"\F5F2"}.mdi-food-off::before{content:"\F5F3"}.mdi-food-variant::before{content:"\F25C"}.mdi-foot-print::before{content:"\FF6F"}.mdi-football::before{content:"\F25D"}.mdi-football-australian::before{content:"\F25E"}.mdi-football-helmet::before{content:"\F25F"}.mdi-forklift::before{content:"\F7C8"}.mdi-format-align-bottom::before{content:"\F752"}.mdi-format-align-center::before{content:"\F260"}.mdi-format-align-justify::before{content:"\F261"}.mdi-format-align-left::before{content:"\F262"}.mdi-format-align-middle::before{content:"\F753"}.mdi-format-align-right::before{content:"\F263"}.mdi-format-align-top::before{content:"\F754"}.mdi-format-annotation-minus::before{content:"\FABB"}.mdi-format-annotation-plus::before{content:"\F646"}.mdi-format-bold::before{content:"\F264"}.mdi-format-clear::before{content:"\F265"}.mdi-format-color-fill::before{content:"\F266"}.mdi-format-color-highlight::before{content:"\FE14"}.mdi-format-color-text::before{content:"\F69D"}.mdi-format-columns::before{content:"\F8DE"}.mdi-format-float-center::before{content:"\F267"}.mdi-format-float-left::before{content:"\F268"}.mdi-format-float-none::before{content:"\F269"}.mdi-format-float-right::before{content:"\F26A"}.mdi-format-font::before{content:"\F6D5"}.mdi-format-font-size-decrease::before{content:"\F9F2"}.mdi-format-font-size-increase::before{content:"\F9F3"}.mdi-format-header-1::before{content:"\F26B"}.mdi-format-header-2::before{content:"\F26C"}.mdi-format-header-3::before{content:"\F26D"}.mdi-format-header-4::before{content:"\F26E"}.mdi-format-header-5::before{content:"\F26F"}.mdi-format-header-6::before{content:"\F270"}.mdi-format-header-decrease::before{content:"\F271"}.mdi-format-header-equal::before{content:"\F272"}.mdi-format-header-increase::before{content:"\F273"}.mdi-format-header-pound::before{content:"\F274"}.mdi-format-horizontal-align-center::before{content:"\F61E"}.mdi-format-horizontal-align-left::before{content:"\F61F"}.mdi-format-horizontal-align-right::before{content:"\F620"}.mdi-format-indent-decrease::before{content:"\F275"}.mdi-format-indent-increase::before{content:"\F276"}.mdi-format-italic::before{content:"\F277"}.mdi-format-letter-case::before{content:"\FB19"}.mdi-format-letter-case-lower::before{content:"\FB1A"}.mdi-format-letter-case-upper::before{content:"\FB1B"}.mdi-format-line-spacing::before{content:"\F278"}.mdi-format-line-style::before{content:"\F5C8"}.mdi-format-line-weight::before{content:"\F5C9"}.mdi-format-list-bulleted::before{content:"\F279"}.mdi-format-list-bulleted-square::before{content:"\FDAC"}.mdi-format-list-bulleted-type::before{content:"\F27A"}.mdi-format-list-checkbox::before{content:"\F969"}.mdi-format-list-checks::before{content:"\F755"}.mdi-format-list-numbered::before{content:"\F27B"}.mdi-format-list-numbered-rtl::before{content:"\FCE9"}.mdi-format-list-triangle::before{content:"\FECF"}.mdi-format-overline::before{content:"\FED0"}.mdi-format-page-break::before{content:"\F6D6"}.mdi-format-paint::before{content:"\F27C"}.mdi-format-paragraph::before{content:"\F27D"}.mdi-format-pilcrow::before{content:"\F6D7"}.mdi-format-quote-close::before{content:"\F27E"}.mdi-format-quote-open::before{content:"\F756"}.mdi-format-rotate-90::before{content:"\F6A9"}.mdi-format-section::before{content:"\F69E"}.mdi-format-size::before{content:"\F27F"}.mdi-format-strikethrough::before{content:"\F280"}.mdi-format-strikethrough-variant::before{content:"\F281"}.mdi-format-subscript::before{content:"\F282"}.mdi-format-superscript::before{content:"\F283"}.mdi-format-text::before{content:"\F284"}.mdi-format-text-rotation-down::before{content:"\FD4F"}.mdi-format-text-rotation-none::before{content:"\FD50"}.mdi-format-text-variant::before{content:"\FE15"}.mdi-format-text-wrapping-clip::before{content:"\FCEA"}.mdi-format-text-wrapping-overflow::before{content:"\FCEB"}.mdi-format-text-wrapping-wrap::before{content:"\FCEC"}.mdi-format-textbox::before{content:"\FCED"}.mdi-format-textdirection-l-to-r::before{content:"\F285"}.mdi-format-textdirection-r-to-l::before{content:"\F286"}.mdi-format-title::before{content:"\F5F4"}.mdi-format-underline::before{content:"\F287"}.mdi-format-vertical-align-bottom::before{content:"\F621"}.mdi-format-vertical-align-center::before{content:"\F622"}.mdi-format-vertical-align-top::before{content:"\F623"}.mdi-format-wrap-inline::before{content:"\F288"}.mdi-format-wrap-square::before{content:"\F289"}.mdi-format-wrap-tight::before{content:"\F28A"}.mdi-format-wrap-top-bottom::before{content:"\F28B"}.mdi-forum::before{content:"\F28C"}.mdi-forum-outline::before{content:"\F821"}.mdi-forward::before{content:"\F28D"}.mdi-forwardburger::before{content:"\FD51"}.mdi-fountain::before{content:"\F96A"}.mdi-fountain-pen::before{content:"\FCEE"}.mdi-fountain-pen-tip::before{content:"\FCEF"}.mdi-foursquare::before{content:"\F28E"}.mdi-freebsd::before{content:"\F8DF"}.mdi-frequently-asked-questions::before{content:"\FED1"}.mdi-fridge::before{content:"\F290"}.mdi-fridge-bottom::before{content:"\F292"}.mdi-fridge-outline::before{content:"\F28F"}.mdi-fridge-top::before{content:"\F291"}.mdi-fuel::before{content:"\F7C9"}.mdi-fullscreen::before{content:"\F293"}.mdi-fullscreen-exit::before{content:"\F294"}.mdi-function::before{content:"\F295"}.mdi-function-variant::before{content:"\F870"}.mdi-fuse::before{content:"\FC61"}.mdi-fuse-blade::before{content:"\FC62"}.mdi-gamepad::before{content:"\F296"}.mdi-gamepad-circle::before{content:"\FE16"}.mdi-gamepad-circle-down::before{content:"\FE17"}.mdi-gamepad-circle-left::before{content:"\FE18"}.mdi-gamepad-circle-outline::before{content:"\FE19"}.mdi-gamepad-circle-right::before{content:"\FE1A"}.mdi-gamepad-circle-up::before{content:"\FE1B"}.mdi-gamepad-down::before{content:"\FE1C"}.mdi-gamepad-left::before{content:"\FE1D"}.mdi-gamepad-right::before{content:"\FE1E"}.mdi-gamepad-round::before{content:"\FE1F"}.mdi-gamepad-round-down::before{content:"\FE7E"}.mdi-gamepad-round-left::before{content:"\FE7F"}.mdi-gamepad-round-outline::before{content:"\FE80"}.mdi-gamepad-round-right::before{content:"\FE81"}.mdi-gamepad-round-up::before{content:"\FE82"}.mdi-gamepad-square::before{content:"\FED2"}.mdi-gamepad-square-outline::before{content:"\FED3"}.mdi-gamepad-up::before{content:"\FE83"}.mdi-gamepad-variant::before{content:"\F297"}.mdi-gamepad-variant-outline::before{content:"\FED4"}.mdi-gantry-crane::before{content:"\FDAD"}.mdi-garage::before{content:"\F6D8"}.mdi-garage-alert::before{content:"\F871"}.mdi-garage-open::before{content:"\F6D9"}.mdi-gas-cylinder::before{content:"\F647"}.mdi-gas-station::before{content:"\F298"}.mdi-gas-station-outline::before{content:"\FED5"}.mdi-gate::before{content:"\F299"}.mdi-gate-and::before{content:"\F8E0"}.mdi-gate-nand::before{content:"\F8E1"}.mdi-gate-nor::before{content:"\F8E2"}.mdi-gate-not::before{content:"\F8E3"}.mdi-gate-or::before{content:"\F8E4"}.mdi-gate-xnor::before{content:"\F8E5"}.mdi-gate-xor::before{content:"\F8E6"}.mdi-gatsby::before{content:"\FE84"}.mdi-gauge::before{content:"\F29A"}.mdi-gauge-empty::before{content:"\F872"}.mdi-gauge-full::before{content:"\F873"}.mdi-gauge-low::before{content:"\F874"}.mdi-gavel::before{content:"\F29B"}.mdi-gender-female::before{content:"\F29C"}.mdi-gender-male::before{content:"\F29D"}.mdi-gender-male-female::before{content:"\F29E"}.mdi-gender-transgender::before{content:"\F29F"}.mdi-gentoo::before{content:"\F8E7"}.mdi-gesture::before{content:"\F7CA"}.mdi-gesture-double-tap::before{content:"\F73B"}.mdi-gesture-pinch::before{content:"\FABC"}.mdi-gesture-spread::before{content:"\FABD"}.mdi-gesture-swipe::before{content:"\FD52"}.mdi-gesture-swipe-down::before{content:"\F73C"}.mdi-gesture-swipe-horizontal::before{content:"\FABE"}.mdi-gesture-swipe-left::before{content:"\F73D"}.mdi-gesture-swipe-right::before{content:"\F73E"}.mdi-gesture-swipe-up::before{content:"\F73F"}.mdi-gesture-swipe-vertical::before{content:"\FABF"}.mdi-gesture-tap::before{content:"\F740"}.mdi-gesture-tap-hold::before{content:"\FD53"}.mdi-gesture-two-double-tap::before{content:"\F741"}.mdi-gesture-two-tap::before{content:"\F742"}.mdi-ghost::before{content:"\F2A0"}.mdi-ghost-off::before{content:"\F9F4"}.mdi-gif::before{content:"\FD54"}.mdi-gift::before{content:"\FE85"}.mdi-gift-outline::before{content:"\F2A1"}.mdi-git::before{content:"\F2A2"}.mdi-github-box::before{content:"\F2A3"}.mdi-github-circle::before{content:"\F2A4"}.mdi-github-face::before{content:"\F6DA"}.mdi-gitlab::before{content:"\FB7C"}.mdi-glass-cocktail::before{content:"\F356"}.mdi-glass-flute::before{content:"\F2A5"}.mdi-glass-mug::before{content:"\F2A6"}.mdi-glass-stange::before{content:"\F2A7"}.mdi-glass-tulip::before{content:"\F2A8"}.mdi-glass-wine::before{content:"\F875"}.mdi-glassdoor::before{content:"\F2A9"}.mdi-glasses::before{content:"\F2AA"}.mdi-globe-model::before{content:"\F8E8"}.mdi-gmail::before{content:"\F2AB"}.mdi-gnome::before{content:"\F2AC"}.mdi-go-kart::before{content:"\FD55"}.mdi-go-kart-track::before{content:"\FD56"}.mdi-gog::before{content:"\FB7D"}.mdi-golf::before{content:"\F822"}.mdi-gondola::before{content:"\F685"}.mdi-goodreads::before{content:"\FD57"}.mdi-google::before{content:"\F2AD"}.mdi-google-adwords::before{content:"\FC63"}.mdi-google-allo::before{content:"\F801"}.mdi-google-analytics::before{content:"\F7CB"}.mdi-google-assistant::before{content:"\F7CC"}.mdi-google-cardboard::before{content:"\F2AE"}.mdi-google-chrome::before{content:"\F2AF"}.mdi-google-circles::before{content:"\F2B0"}.mdi-google-circles-communities::before{content:"\F2B1"}.mdi-google-circles-extended::before{content:"\F2B2"}.mdi-google-circles-group::before{content:"\F2B3"}.mdi-google-classroom::before{content:"\F2C0"}.mdi-google-controller::before{content:"\F2B4"}.mdi-google-controller-off::before{content:"\F2B5"}.mdi-google-drive::before{content:"\F2B6"}.mdi-google-earth::before{content:"\F2B7"}.mdi-google-fit::before{content:"\F96B"}.mdi-google-glass::before{content:"\F2B8"}.mdi-google-hangouts::before{content:"\F2C9"}.mdi-google-home::before{content:"\F823"}.mdi-google-keep::before{content:"\F6DB"}.mdi-google-lens::before{content:"\F9F5"}.mdi-google-maps::before{content:"\F5F5"}.mdi-google-nearby::before{content:"\F2B9"}.mdi-google-pages::before{content:"\F2BA"}.mdi-google-photos::before{content:"\F6DC"}.mdi-google-physical-web::before{content:"\F2BB"}.mdi-google-play::before{content:"\F2BC"}.mdi-google-plus::before{content:"\F2BD"}.mdi-google-plus-box::before{content:"\F2BE"}.mdi-google-podcast::before{content:"\FED6"}.mdi-google-spreadsheet::before{content:"\F9F6"}.mdi-google-street-view::before{content:"\FC64"}.mdi-google-translate::before{content:"\F2BF"}.mdi-gpu::before{content:"\F8AD"}.mdi-gradient::before{content:"\F69F"}.mdi-grain::before{content:"\FD58"}.mdi-graphql::before{content:"\F876"}.mdi-grave-stone::before{content:"\FB7E"}.mdi-grease-pencil::before{content:"\F648"}.mdi-greater-than::before{content:"\F96C"}.mdi-greater-than-or-equal::before{content:"\F96D"}.mdi-grid::before{content:"\F2C1"}.mdi-grid-large::before{content:"\F757"}.mdi-grid-off::before{content:"\F2C2"}.mdi-grill::before{content:"\FE86"}.mdi-group::before{content:"\F2C3"}.mdi-guitar-acoustic::before{content:"\F770"}.mdi-guitar-electric::before{content:"\F2C4"}.mdi-guitar-pick::before{content:"\F2C5"}.mdi-guitar-pick-outline::before{content:"\F2C6"}.mdi-guy-fawkes-mask::before{content:"\F824"}.mdi-hackernews::before{content:"\F624"}.mdi-hail::before{content:"\FAC0"}.mdi-halloween::before{content:"\FB7F"}.mdi-hamburger::before{content:"\F684"}.mdi-hammer::before{content:"\F8E9"}.mdi-hand::before{content:"\FA4E"}.mdi-hand-left::before{content:"\FE87"}.mdi-hand-okay::before{content:"\FA4F"}.mdi-hand-peace::before{content:"\FA50"}.mdi-hand-peace-variant::before{content:"\FA51"}.mdi-hand-pointing-down::before{content:"\FA52"}.mdi-hand-pointing-left::before{content:"\FA53"}.mdi-hand-pointing-right::before{content:"\F2C7"}.mdi-hand-pointing-up::before{content:"\FA54"}.mdi-hand-right::before{content:"\FE88"}.mdi-hand-saw::before{content:"\FE89"}.mdi-handball::before{content:"\FF70"}.mdi-hanger::before{content:"\F2C8"}.mdi-hard-hat::before{content:"\F96E"}.mdi-harddisk::before{content:"\F2CA"}.mdi-hat-fedora::before{content:"\FB80"}.mdi-hazard-lights::before{content:"\FC65"}.mdi-hdr::before{content:"\FD59"}.mdi-hdr-off::before{content:"\FD5A"}.mdi-headphones::before{content:"\F2CB"}.mdi-headphones-bluetooth::before{content:"\F96F"}.mdi-headphones-box::before{content:"\F2CC"}.mdi-headphones-off::before{content:"\F7CD"}.mdi-headphones-settings::before{content:"\F2CD"}.mdi-headset::before{content:"\F2CE"}.mdi-headset-dock::before{content:"\F2CF"}.mdi-headset-off::before{content:"\F2D0"}.mdi-heart::before{content:"\F2D1"}.mdi-heart-box::before{content:"\F2D2"}.mdi-heart-box-outline::before{content:"\F2D3"}.mdi-heart-broken::before{content:"\F2D4"}.mdi-heart-broken-outline::before{content:"\FCF0"}.mdi-heart-circle::before{content:"\F970"}.mdi-heart-circle-outline::before{content:"\F971"}.mdi-heart-flash::before{content:"\FF16"}.mdi-heart-half::before{content:"\F6DE"}.mdi-heart-half-full::before{content:"\F6DD"}.mdi-heart-half-outline::before{content:"\F6DF"}.mdi-heart-multiple::before{content:"\FA55"}.mdi-heart-multiple-outline::before{content:"\FA56"}.mdi-heart-off::before{content:"\F758"}.mdi-heart-outline::before{content:"\F2D5"}.mdi-heart-pulse::before{content:"\F5F6"}.mdi-helicopter::before{content:"\FAC1"}.mdi-help::before{content:"\F2D6"}.mdi-help-box::before{content:"\F78A"}.mdi-help-circle::before{content:"\F2D7"}.mdi-help-circle-outline::before{content:"\F625"}.mdi-help-network::before{content:"\F6F4"}.mdi-help-network-outline::before{content:"\FC66"}.mdi-help-rhombus::before{content:"\FB81"}.mdi-help-rhombus-outline::before{content:"\FB82"}.mdi-hexagon::before{content:"\F2D8"}.mdi-hexagon-multiple::before{content:"\F6E0"}.mdi-hexagon-outline::before{content:"\F2D9"}.mdi-hexagon-slice-1::before{content:"\FAC2"}.mdi-hexagon-slice-2::before{content:"\FAC3"}.mdi-hexagon-slice-3::before{content:"\FAC4"}.mdi-hexagon-slice-4::before{content:"\FAC5"}.mdi-hexagon-slice-5::before{content:"\FAC6"}.mdi-hexagon-slice-6::before{content:"\FAC7"}.mdi-hexagram::before{content:"\FAC8"}.mdi-hexagram-outline::before{content:"\FAC9"}.mdi-high-definition::before{content:"\F7CE"}.mdi-high-definition-box::before{content:"\F877"}.mdi-highway::before{content:"\F5F7"}.mdi-hiking::before{content:"\FD5B"}.mdi-hinduism::before{content:"\F972"}.mdi-history::before{content:"\F2DA"}.mdi-hockey-puck::before{content:"\F878"}.mdi-hockey-sticks::before{content:"\F879"}.mdi-hololens::before{content:"\F2DB"}.mdi-home::before{content:"\F2DC"}.mdi-home-account::before{content:"\F825"}.mdi-home-alert::before{content:"\F87A"}.mdi-home-analytics::before{content:"\FED7"}.mdi-home-assistant::before{content:"\F7CF"}.mdi-home-automation::before{content:"\F7D0"}.mdi-home-circle::before{content:"\F7D1"}.mdi-home-city::before{content:"\FCF1"}.mdi-home-city-outline::before{content:"\FCF2"}.mdi-home-currency-usd::before{content:"\F8AE"}.mdi-home-export-outline::before{content:"\FFB8"}.mdi-home-flood::before{content:"\FF17"}.mdi-home-floor-0::before{content:"\FDAE"}.mdi-home-floor-1::before{content:"\FD5C"}.mdi-home-floor-2::before{content:"\FD5D"}.mdi-home-floor-3::before{content:"\FD5E"}.mdi-home-floor-a::before{content:"\FD5F"}.mdi-home-floor-b::before{content:"\FD60"}.mdi-home-floor-g::before{content:"\FD61"}.mdi-home-floor-l::before{content:"\FD62"}.mdi-home-floor-negative-1::before{content:"\FDAF"}.mdi-home-group::before{content:"\FDB0"}.mdi-home-heart::before{content:"\F826"}.mdi-home-import-outline::before{content:"\FFB9"}.mdi-home-lock::before{content:"\F8EA"}.mdi-home-lock-open::before{content:"\F8EB"}.mdi-home-map-marker::before{content:"\F5F8"}.mdi-home-minus::before{content:"\F973"}.mdi-home-modern::before{content:"\F2DD"}.mdi-home-outline::before{content:"\F6A0"}.mdi-home-plus::before{content:"\F974"}.mdi-home-thermometer::before{content:"\FF71"}.mdi-home-thermometer-outline::before{content:"\FF72"}.mdi-home-variant::before{content:"\F2DE"}.mdi-home-variant-outline::before{content:"\FB83"}.mdi-hook::before{content:"\F6E1"}.mdi-hook-off::before{content:"\F6E2"}.mdi-hops::before{content:"\F2DF"}.mdi-horseshoe::before{content:"\FA57"}.mdi-hospital::before{content:"\F2E0"}.mdi-hospital-building::before{content:"\F2E1"}.mdi-hospital-marker::before{content:"\F2E2"}.mdi-hot-tub::before{content:"\F827"}.mdi-hotel::before{content:"\F2E3"}.mdi-houzz::before{content:"\F2E4"}.mdi-houzz-box::before{content:"\F2E5"}.mdi-hubspot::before{content:"\FCF3"}.mdi-hulu::before{content:"\F828"}.mdi-human::before{content:"\F2E6"}.mdi-human-child::before{content:"\F2E7"}.mdi-human-female::before{content:"\F649"}.mdi-human-female-boy::before{content:"\FA58"}.mdi-human-female-female::before{content:"\FA59"}.mdi-human-female-girl::before{content:"\FA5A"}.mdi-human-greeting::before{content:"\F64A"}.mdi-human-handsdown::before{content:"\F64B"}.mdi-human-handsup::before{content:"\F64C"}.mdi-human-male::before{content:"\F64D"}.mdi-human-male-boy::before{content:"\FA5B"}.mdi-human-male-female::before{content:"\F2E8"}.mdi-human-male-girl::before{content:"\FA5C"}.mdi-human-male-height::before{content:"\FF18"}.mdi-human-male-height-variant::before{content:"\FF19"}.mdi-human-male-male::before{content:"\FA5D"}.mdi-human-pregnant::before{content:"\F5CF"}.mdi-humble-bundle::before{content:"\F743"}.mdi-ice-cream::before{content:"\F829"}.mdi-ice-pop::before{content:"\FF1A"}.mdi-identifier::before{content:"\FF1B"}.mdi-iframe::before{content:"\FC67"}.mdi-iframe-outline::before{content:"\FC68"}.mdi-image::before{content:"\F2E9"}.mdi-image-album::before{content:"\F2EA"}.mdi-image-area::before{content:"\F2EB"}.mdi-image-area-close::before{content:"\F2EC"}.mdi-image-broken::before{content:"\F2ED"}.mdi-image-broken-variant::before{content:"\F2EE"}.mdi-image-filter::before{content:"\F2EF"}.mdi-image-filter-black-white::before{content:"\F2F0"}.mdi-image-filter-center-focus::before{content:"\F2F1"}.mdi-image-filter-center-focus-strong::before{content:"\FF1C"}.mdi-image-filter-center-focus-strong-outline::before{content:"\FF1D"}.mdi-image-filter-center-focus-weak::before{content:"\F2F2"}.mdi-image-filter-drama::before{content:"\F2F3"}.mdi-image-filter-frames::before{content:"\F2F4"}.mdi-image-filter-hdr::before{content:"\F2F5"}.mdi-image-filter-none::before{content:"\F2F6"}.mdi-image-filter-tilt-shift::before{content:"\F2F7"}.mdi-image-filter-vintage::before{content:"\F2F8"}.mdi-image-frame::before{content:"\FE8A"}.mdi-image-move::before{content:"\F9F7"}.mdi-image-multiple::before{content:"\F2F9"}.mdi-image-off::before{content:"\F82A"}.mdi-image-outline::before{content:"\F975"}.mdi-image-plus::before{content:"\F87B"}.mdi-image-search::before{content:"\F976"}.mdi-image-search-outline::before{content:"\F977"}.mdi-image-size-select-actual::before{content:"\FC69"}.mdi-image-size-select-large::before{content:"\FC6A"}.mdi-image-size-select-small::before{content:"\FC6B"}.mdi-import::before{content:"\F2FA"}.mdi-inbox::before{content:"\F686"}.mdi-inbox-arrow-down::before{content:"\F2FB"}.mdi-inbox-arrow-up::before{content:"\F3D1"}.mdi-inbox-multiple::before{content:"\F8AF"}.mdi-inbox-multiple-outline::before{content:"\FB84"}.mdi-incognito::before{content:"\F5F9"}.mdi-infinity::before{content:"\F6E3"}.mdi-information::before{content:"\F2FC"}.mdi-information-outline::before{content:"\F2FD"}.mdi-information-variant::before{content:"\F64E"}.mdi-instagram::before{content:"\F2FE"}.mdi-instapaper::before{content:"\F2FF"}.mdi-internet-explorer::before{content:"\F300"}.mdi-invert-colors::before{content:"\F301"}.mdi-invert-colors-off::before{content:"\FE8B"}.mdi-ip::before{content:"\FA5E"}.mdi-ip-network::before{content:"\FA5F"}.mdi-ip-network-outline::before{content:"\FC6C"}.mdi-ipod::before{content:"\FC6D"}.mdi-islam::before{content:"\F978"}.mdi-itunes::before{content:"\F676"}.mdi-jabber::before{content:"\FDB1"}.mdi-jeepney::before{content:"\F302"}.mdi-jellyfish::before{content:"\FF1E"}.mdi-jellyfish-outline::before{content:"\FF1F"}.mdi-jira::before{content:"\F303"}.mdi-jquery::before{content:"\F87C"}.mdi-jsfiddle::before{content:"\F304"}.mdi-json::before{content:"\F626"}.mdi-judaism::before{content:"\F979"}.mdi-kabaddi::before{content:"\FD63"}.mdi-karate::before{content:"\F82B"}.mdi-keg::before{content:"\F305"}.mdi-kettle::before{content:"\F5FA"}.mdi-kettle-outline::before{content:"\FF73"}.mdi-key::before{content:"\F306"}.mdi-key-change::before{content:"\F307"}.mdi-key-minus::before{content:"\F308"}.mdi-key-outline::before{content:"\FDB2"}.mdi-key-plus::before{content:"\F309"}.mdi-key-remove::before{content:"\F30A"}.mdi-key-variant::before{content:"\F30B"}.mdi-keyboard::before{content:"\F30C"}.mdi-keyboard-backspace::before{content:"\F30D"}.mdi-keyboard-caps::before{content:"\F30E"}.mdi-keyboard-close::before{content:"\F30F"}.mdi-keyboard-off::before{content:"\F310"}.mdi-keyboard-off-outline::before{content:"\FE8C"}.mdi-keyboard-outline::before{content:"\F97A"}.mdi-keyboard-return::before{content:"\F311"}.mdi-keyboard-settings::before{content:"\F9F8"}.mdi-keyboard-settings-outline::before{content:"\F9F9"}.mdi-keyboard-tab::before{content:"\F312"}.mdi-keyboard-variant::before{content:"\F313"}.mdi-kickstarter::before{content:"\F744"}.mdi-knife::before{content:"\F9FA"}.mdi-knife-military::before{content:"\F9FB"}.mdi-kodi::before{content:"\F314"}.mdi-label::before{content:"\F315"}.mdi-label-off::before{content:"\FACA"}.mdi-label-off-outline::before{content:"\FACB"}.mdi-label-outline::before{content:"\F316"}.mdi-label-variant::before{content:"\FACC"}.mdi-label-variant-outline::before{content:"\FACD"}.mdi-ladybug::before{content:"\F82C"}.mdi-lambda::before{content:"\F627"}.mdi-lamp::before{content:"\F6B4"}.mdi-lan::before{content:"\F317"}.mdi-lan-connect::before{content:"\F318"}.mdi-lan-disconnect::before{content:"\F319"}.mdi-lan-pending::before{content:"\F31A"}.mdi-language-c::before{content:"\F671"}.mdi-language-cpp::before{content:"\F672"}.mdi-language-csharp::before{content:"\F31B"}.mdi-language-css3::before{content:"\F31C"}.mdi-language-go::before{content:"\F7D2"}.mdi-language-haskell::before{content:"\FC6E"}.mdi-language-html5::before{content:"\F31D"}.mdi-language-java::before{content:"\FB1C"}.mdi-language-javascript::before{content:"\F31E"}.mdi-language-lua::before{content:"\F8B0"}.mdi-language-php::before{content:"\F31F"}.mdi-language-python::before{content:"\F320"}.mdi-language-python-text::before{content:"\F321"}.mdi-language-r::before{content:"\F7D3"}.mdi-language-ruby-on-rails::before{content:"\FACE"}.mdi-language-swift::before{content:"\F6E4"}.mdi-language-typescript::before{content:"\F6E5"}.mdi-laptop::before{content:"\F322"}.mdi-laptop-chromebook::before{content:"\F323"}.mdi-laptop-mac::before{content:"\F324"}.mdi-laptop-off::before{content:"\F6E6"}.mdi-laptop-windows::before{content:"\F325"}.mdi-laravel::before{content:"\FACF"}.mdi-lasso::before{content:"\FF20"}.mdi-lastfm::before{content:"\F326"}.mdi-lastpass::before{content:"\F446"}.mdi-latitude::before{content:"\FF74"}.mdi-launch::before{content:"\F327"}.mdi-lava-lamp::before{content:"\F7D4"}.mdi-layers::before{content:"\F328"}.mdi-layers-minus::before{content:"\FE8D"}.mdi-layers-off::before{content:"\F329"}.mdi-layers-off-outline::before{content:"\F9FC"}.mdi-layers-outline::before{content:"\F9FD"}.mdi-layers-plus::before{content:"\FE30"}.mdi-layers-remove::before{content:"\FE31"}.mdi-layers-triple::before{content:"\FF75"}.mdi-layers-triple-outline::before{content:"\FF76"}.mdi-lead-pencil::before{content:"\F64F"}.mdi-leaf::before{content:"\F32A"}.mdi-leaf-maple::before{content:"\FC6F"}.mdi-leak::before{content:"\FDB3"}.mdi-leak-off::before{content:"\FDB4"}.mdi-led-off::before{content:"\F32B"}.mdi-led-on::before{content:"\F32C"}.mdi-led-outline::before{content:"\F32D"}.mdi-led-strip::before{content:"\F7D5"}.mdi-led-variant-off::before{content:"\F32E"}.mdi-led-variant-on::before{content:"\F32F"}.mdi-led-variant-outline::before{content:"\F330"}.mdi-less-than::before{content:"\F97B"}.mdi-less-than-or-equal::before{content:"\F97C"}.mdi-library::before{content:"\F331"}.mdi-library-books::before{content:"\F332"}.mdi-library-movie::before{content:"\FCF4"}.mdi-library-music::before{content:"\F333"}.mdi-library-music-outline::before{content:"\FF21"}.mdi-library-plus::before{content:"\F334"}.mdi-library-shelves::before{content:"\FB85"}.mdi-library-video::before{content:"\FCF5"}.mdi-lifebuoy::before{content:"\F87D"}.mdi-light-switch::before{content:"\F97D"}.mdi-lightbulb::before{content:"\F335"}.mdi-lightbulb-off::before{content:"\FE32"}.mdi-lightbulb-off-outline::before{content:"\FE33"}.mdi-lightbulb-on::before{content:"\F6E7"}.mdi-lightbulb-on-outline::before{content:"\F6E8"}.mdi-lightbulb-outline::before{content:"\F336"}.mdi-lighthouse::before{content:"\F9FE"}.mdi-lighthouse-on::before{content:"\F9FF"}.mdi-link::before{content:"\F337"}.mdi-link-box::before{content:"\FCF6"}.mdi-link-box-outline::before{content:"\FCF7"}.mdi-link-box-variant::before{content:"\FCF8"}.mdi-link-box-variant-outline::before{content:"\FCF9"}.mdi-link-off::before{content:"\F338"}.mdi-link-plus::before{content:"\FC70"}.mdi-link-variant::before{content:"\F339"}.mdi-link-variant-off::before{content:"\F33A"}.mdi-linkedin::before{content:"\F33B"}.mdi-linkedin-box::before{content:"\F33C"}.mdi-linux::before{content:"\F33D"}.mdi-linux-mint::before{content:"\F8EC"}.mdi-litecoin::before{content:"\FA60"}.mdi-loading::before{content:"\F771"}.mdi-lock::before{content:"\F33E"}.mdi-lock-alert::before{content:"\F8ED"}.mdi-lock-clock::before{content:"\F97E"}.mdi-lock-open::before{content:"\F33F"}.mdi-lock-open-outline::before{content:"\F340"}.mdi-lock-outline::before{content:"\F341"}.mdi-lock-pattern::before{content:"\F6E9"}.mdi-lock-plus::before{content:"\F5FB"}.mdi-lock-question::before{content:"\F8EE"}.mdi-lock-reset::before{content:"\F772"}.mdi-lock-smart::before{content:"\F8B1"}.mdi-locker::before{content:"\F7D6"}.mdi-locker-multiple::before{content:"\F7D7"}.mdi-login::before{content:"\F342"}.mdi-login-variant::before{content:"\F5FC"}.mdi-logout::before{content:"\F343"}.mdi-logout-variant::before{content:"\F5FD"}.mdi-longitude::before{content:"\FF77"}.mdi-looks::before{content:"\F344"}.mdi-loop::before{content:"\F6EA"}.mdi-loupe::before{content:"\F345"}.mdi-lumx::before{content:"\F346"}.mdi-lyft::before{content:"\FB1D"}.mdi-magnet::before{content:"\F347"}.mdi-magnet-on::before{content:"\F348"}.mdi-magnify::before{content:"\F349"}.mdi-magnify-close::before{content:"\F97F"}.mdi-magnify-minus::before{content:"\F34A"}.mdi-magnify-minus-cursor::before{content:"\FA61"}.mdi-magnify-minus-outline::before{content:"\F6EB"}.mdi-magnify-plus::before{content:"\F34B"}.mdi-magnify-plus-cursor::before{content:"\FA62"}.mdi-magnify-plus-outline::before{content:"\F6EC"}.mdi-mail::before{content:"\FED8"}.mdi-mail-ru::before{content:"\F34C"}.mdi-mailbox::before{content:"\F6ED"}.mdi-mailbox-open::before{content:"\FD64"}.mdi-mailbox-open-outline::before{content:"\FD65"}.mdi-mailbox-open-up::before{content:"\FD66"}.mdi-mailbox-open-up-outline::before{content:"\FD67"}.mdi-mailbox-outline::before{content:"\FD68"}.mdi-mailbox-up::before{content:"\FD69"}.mdi-mailbox-up-outline::before{content:"\FD6A"}.mdi-map::before{content:"\F34D"}.mdi-map-check::before{content:"\FED9"}.mdi-map-check-outline::before{content:"\FEDA"}.mdi-map-clock::before{content:"\FCFA"}.mdi-map-clock-outline::before{content:"\FCFB"}.mdi-map-legend::before{content:"\FA00"}.mdi-map-marker::before{content:"\F34E"}.mdi-map-marker-alert::before{content:"\FF22"}.mdi-map-marker-alert-outline::before{content:"\FF23"}.mdi-map-marker-check::before{content:"\FC71"}.mdi-map-marker-circle::before{content:"\F34F"}.mdi-map-marker-distance::before{content:"\F8EF"}.mdi-map-marker-minus::before{content:"\F650"}.mdi-map-marker-multiple::before{content:"\F350"}.mdi-map-marker-off::before{content:"\F351"}.mdi-map-marker-outline::before{content:"\F7D8"}.mdi-map-marker-path::before{content:"\FCFC"}.mdi-map-marker-plus::before{content:"\F651"}.mdi-map-marker-question::before{content:"\FF24"}.mdi-map-marker-question-outline::before{content:"\FF25"}.mdi-map-marker-radius::before{content:"\F352"}.mdi-map-marker-remove::before{content:"\FF26"}.mdi-map-marker-remove-variant::before{content:"\FF27"}.mdi-map-minus::before{content:"\F980"}.mdi-map-outline::before{content:"\F981"}.mdi-map-plus::before{content:"\F982"}.mdi-map-search::before{content:"\F983"}.mdi-map-search-outline::before{content:"\F984"}.mdi-mapbox::before{content:"\FB86"}.mdi-margin::before{content:"\F353"}.mdi-markdown::before{content:"\F354"}.mdi-markdown-outline::before{content:"\FF78"}.mdi-marker::before{content:"\F652"}.mdi-marker-cancel::before{content:"\FDB5"}.mdi-marker-check::before{content:"\F355"}.mdi-mastodon::before{content:"\FAD0"}.mdi-mastodon-variant::before{content:"\FAD1"}.mdi-material-design::before{content:"\F985"}.mdi-material-ui::before{content:"\F357"}.mdi-math-compass::before{content:"\F358"}.mdi-math-cos::before{content:"\FC72"}.mdi-math-sin::before{content:"\FC73"}.mdi-math-tan::before{content:"\FC74"}.mdi-matrix::before{content:"\F628"}.mdi-maxcdn::before{content:"\F359"}.mdi-medal::before{content:"\F986"}.mdi-medical-bag::before{content:"\F6EE"}.mdi-medium::before{content:"\F35A"}.mdi-meetup::before{content:"\FAD2"}.mdi-memory::before{content:"\F35B"}.mdi-menu::before{content:"\F35C"}.mdi-menu-down::before{content:"\F35D"}.mdi-menu-down-outline::before{content:"\F6B5"}.mdi-menu-left::before{content:"\F35E"}.mdi-menu-left-outline::before{content:"\FA01"}.mdi-menu-open::before{content:"\FB87"}.mdi-menu-right::before{content:"\F35F"}.mdi-menu-right-outline::before{content:"\FA02"}.mdi-menu-swap::before{content:"\FA63"}.mdi-menu-swap-outline::before{content:"\FA64"}.mdi-menu-up::before{content:"\F360"}.mdi-menu-up-outline::before{content:"\F6B6"}.mdi-merge::before{content:"\FF79"}.mdi-message::before{content:"\F361"}.mdi-message-alert::before{content:"\F362"}.mdi-message-alert-outline::before{content:"\FA03"}.mdi-message-bulleted::before{content:"\F6A1"}.mdi-message-bulleted-off::before{content:"\F6A2"}.mdi-message-draw::before{content:"\F363"}.mdi-message-image::before{content:"\F364"}.mdi-message-outline::before{content:"\F365"}.mdi-message-plus::before{content:"\F653"}.mdi-message-processing::before{content:"\F366"}.mdi-message-reply::before{content:"\F367"}.mdi-message-reply-text::before{content:"\F368"}.mdi-message-settings::before{content:"\F6EF"}.mdi-message-settings-variant::before{content:"\F6F0"}.mdi-message-text::before{content:"\F369"}.mdi-message-text-outline::before{content:"\F36A"}.mdi-message-video::before{content:"\F36B"}.mdi-meteor::before{content:"\F629"}.mdi-metronome::before{content:"\F7D9"}.mdi-metronome-tick::before{content:"\F7DA"}.mdi-micro-sd::before{content:"\F7DB"}.mdi-microphone::before{content:"\F36C"}.mdi-microphone-minus::before{content:"\F8B2"}.mdi-microphone-off::before{content:"\F36D"}.mdi-microphone-outline::before{content:"\F36E"}.mdi-microphone-plus::before{content:"\F8B3"}.mdi-microphone-settings::before{content:"\F36F"}.mdi-microphone-variant::before{content:"\F370"}.mdi-microphone-variant-off::before{content:"\F371"}.mdi-microscope::before{content:"\F654"}.mdi-microsoft::before{content:"\F372"}.mdi-microsoft-dynamics::before{content:"\F987"}.mdi-microwave::before{content:"\FC75"}.mdi-middleware::before{content:"\FF7A"}.mdi-middleware-outline::before{content:"\FF7B"}.mdi-midi::before{content:"\F8F0"}.mdi-midi-port::before{content:"\F8F1"}.mdi-mine::before{content:"\FDB6"}.mdi-minecraft::before{content:"\F373"}.mdi-mini-sd::before{content:"\FA04"}.mdi-minidisc::before{content:"\FA05"}.mdi-minus::before{content:"\F374"}.mdi-minus-box::before{content:"\F375"}.mdi-minus-box-outline::before{content:"\F6F1"}.mdi-minus-circle::before{content:"\F376"}.mdi-minus-circle-outline::before{content:"\F377"}.mdi-minus-network::before{content:"\F378"}.mdi-minus-network-outline::before{content:"\FC76"}.mdi-mixcloud::before{content:"\F62A"}.mdi-mixed-martial-arts::before{content:"\FD6B"}.mdi-mixed-reality::before{content:"\F87E"}.mdi-mixer::before{content:"\F7DC"}.mdi-molecule::before{content:"\FB88"}.mdi-monitor::before{content:"\F379"}.mdi-monitor-cellphone::before{content:"\F988"}.mdi-monitor-cellphone-star::before{content:"\F989"}.mdi-monitor-dashboard::before{content:"\FA06"}.mdi-monitor-lock::before{content:"\FDB7"}.mdi-monitor-multiple::before{content:"\F37A"}.mdi-monitor-off::before{content:"\FD6C"}.mdi-monitor-screenshot::before{content:"\FE34"}.mdi-monitor-speaker::before{content:"\FF7C"}.mdi-monitor-speaker-off::before{content:"\FF7D"}.mdi-monitor-star::before{content:"\FDB8"}.mdi-moon-first-quarter::before{content:"\FF7E"}.mdi-moon-full::before{content:"\FF7F"}.mdi-moon-last-quarter::before{content:"\FF80"}.mdi-moon-new::before{content:"\FF81"}.mdi-moon-waning-crescent::before{content:"\FF82"}.mdi-moon-waning-gibbous::before{content:"\FF83"}.mdi-moon-waxing-crescent::before{content:"\FF84"}.mdi-moon-waxing-gibbous::before{content:"\FF85"}.mdi-more::before{content:"\F37B"}.mdi-mother-nurse::before{content:"\FCFD"}.mdi-motion-sensor::before{content:"\FD6D"}.mdi-motorbike::before{content:"\F37C"}.mdi-mouse::before{content:"\F37D"}.mdi-mouse-bluetooth::before{content:"\F98A"}.mdi-mouse-off::before{content:"\F37E"}.mdi-mouse-variant::before{content:"\F37F"}.mdi-mouse-variant-off::before{content:"\F380"}.mdi-move-resize::before{content:"\F655"}.mdi-move-resize-variant::before{content:"\F656"}.mdi-movie::before{content:"\F381"}.mdi-movie-outline::before{content:"\FDB9"}.mdi-movie-roll::before{content:"\F7DD"}.mdi-muffin::before{content:"\F98B"}.mdi-multiplication::before{content:"\F382"}.mdi-multiplication-box::before{content:"\F383"}.mdi-mushroom::before{content:"\F7DE"}.mdi-mushroom-outline::before{content:"\F7DF"}.mdi-music::before{content:"\F759"}.mdi-music-accidental-double-flat::before{content:"\FF86"}.mdi-music-accidental-double-sharp::before{content:"\FF87"}.mdi-music-accidental-flat::before{content:"\FF88"}.mdi-music-accidental-natural::before{content:"\FF89"}.mdi-music-accidental-sharp::before{content:"\FF8A"}.mdi-music-box::before{content:"\F384"}.mdi-music-box-outline::before{content:"\F385"}.mdi-music-circle::before{content:"\F386"}.mdi-music-circle-outline::before{content:"\FAD3"}.mdi-music-clef-alto::before{content:"\FF8B"}.mdi-music-clef-bass::before{content:"\FF8C"}.mdi-music-clef-treble::before{content:"\FF8D"}.mdi-music-note::before{content:"\F387"}.mdi-music-note-bluetooth::before{content:"\F5FE"}.mdi-music-note-bluetooth-off::before{content:"\F5FF"}.mdi-music-note-eighth::before{content:"\F388"}.mdi-music-note-eighth-dotted::before{content:"\FF8E"}.mdi-music-note-half::before{content:"\F389"}.mdi-music-note-half-dotted::before{content:"\FF8F"}.mdi-music-note-off::before{content:"\F38A"}.mdi-music-note-off-outline::before{content:"\FF90"}.mdi-music-note-outline::before{content:"\FF91"}.mdi-music-note-plus::before{content:"\FDBA"}.mdi-music-note-quarter::before{content:"\F38B"}.mdi-music-note-quarter-dotted::before{content:"\FF92"}.mdi-music-note-sixteenth::before{content:"\F38C"}.mdi-music-note-sixteenth-dotted::before{content:"\FF93"}.mdi-music-note-whole::before{content:"\F38D"}.mdi-music-note-whole-dotted::before{content:"\FF94"}.mdi-music-off::before{content:"\F75A"}.mdi-music-rest-eighth::before{content:"\FF95"}.mdi-music-rest-half::before{content:"\FF96"}.mdi-music-rest-quarter::before{content:"\FF97"}.mdi-music-rest-sixteenth::before{content:"\FF98"}.mdi-music-rest-whole::before{content:"\FF99"}.mdi-nail::before{content:"\FDBB"}.mdi-nas::before{content:"\F8F2"}.mdi-nativescript::before{content:"\F87F"}.mdi-nature::before{content:"\F38E"}.mdi-nature-people::before{content:"\F38F"}.mdi-navigation::before{content:"\F390"}.mdi-near-me::before{content:"\F5CD"}.mdi-necklace::before{content:"\FF28"}.mdi-needle::before{content:"\F391"}.mdi-netflix::before{content:"\F745"}.mdi-network::before{content:"\F6F2"}.mdi-network-off::before{content:"\FC77"}.mdi-network-off-outline::before{content:"\FC78"}.mdi-network-outline::before{content:"\FC79"}.mdi-network-strength-1::before{content:"\F8F3"}.mdi-network-strength-1-alert::before{content:"\F8F4"}.mdi-network-strength-2::before{content:"\F8F5"}.mdi-network-strength-2-alert::before{content:"\F8F6"}.mdi-network-strength-3::before{content:"\F8F7"}.mdi-network-strength-3-alert::before{content:"\F8F8"}.mdi-network-strength-4::before{content:"\F8F9"}.mdi-network-strength-4-alert::before{content:"\F8FA"}.mdi-network-strength-off::before{content:"\F8FB"}.mdi-network-strength-off-outline::before{content:"\F8FC"}.mdi-network-strength-outline::before{content:"\F8FD"}.mdi-new-box::before{content:"\F394"}.mdi-newspaper::before{content:"\F395"}.mdi-newspaper-minus::before{content:"\FF29"}.mdi-newspaper-plus::before{content:"\FF2A"}.mdi-nfc::before{content:"\F396"}.mdi-nfc-off::before{content:"\FE35"}.mdi-nfc-search-variant::before{content:"\FE36"}.mdi-nfc-tap::before{content:"\F397"}.mdi-nfc-variant::before{content:"\F398"}.mdi-nfc-variant-off::before{content:"\FE37"}.mdi-ninja::before{content:"\F773"}.mdi-nintendo-switch::before{content:"\F7E0"}.mdi-nodejs::before{content:"\F399"}.mdi-not-equal::before{content:"\F98C"}.mdi-not-equal-variant::before{content:"\F98D"}.mdi-note::before{content:"\F39A"}.mdi-note-circle::before{content:"\FEDB"}.mdi-note-multiple::before{content:"\F6B7"}.mdi-note-multiple-outline::before{content:"\F6B8"}.mdi-note-outline::before{content:"\F39B"}.mdi-note-plus::before{content:"\F39C"}.mdi-note-plus-outline::before{content:"\F39D"}.mdi-note-text::before{content:"\F39E"}.mdi-notebook::before{content:"\F82D"}.mdi-notebook-multiple::before{content:"\FE38"}.mdi-notebook-outline::before{content:"\FEDC"}.mdi-notification-clear-all::before{content:"\F39F"}.mdi-npm::before{content:"\F6F6"}.mdi-npm-variant::before{content:"\F98E"}.mdi-npm-variant-outline::before{content:"\F98F"}.mdi-nuke::before{content:"\F6A3"}.mdi-null::before{content:"\F7E1"}.mdi-numeric::before{content:"\F3A0"}.mdi-numeric-0::before{content:"\30"}.mdi-numeric-0-box::before{content:"\F3A1"}.mdi-numeric-0-box-multiple::before{content:"\FF2B"}.mdi-numeric-0-box-multiple-outline::before{content:"\F3A2"}.mdi-numeric-0-box-outline::before{content:"\F3A3"}.mdi-numeric-0-circle::before{content:"\FC7A"}.mdi-numeric-0-circle-outline::before{content:"\FC7B"}.mdi-numeric-1::before{content:"\31"}.mdi-numeric-1-box::before{content:"\F3A4"}.mdi-numeric-1-box-multiple::before{content:"\FF2C"}.mdi-numeric-1-box-multiple-outline::before{content:"\F3A5"}.mdi-numeric-1-box-outline::before{content:"\F3A6"}.mdi-numeric-1-circle::before{content:"\FC7C"}.mdi-numeric-1-circle-outline::before{content:"\FC7D"}.mdi-numeric-10-box::before{content:"\FF9A"}.mdi-numeric-10-box-outline::before{content:"\FF9B"}.mdi-numeric-2::before{content:"\32"}.mdi-numeric-2-box::before{content:"\F3A7"}.mdi-numeric-2-box-multiple::before{content:"\FF2D"}.mdi-numeric-2-box-multiple-outline::before{content:"\F3A8"}.mdi-numeric-2-box-outline::before{content:"\F3A9"}.mdi-numeric-2-circle::before{content:"\FC7E"}.mdi-numeric-2-circle-outline::before{content:"\FC7F"}.mdi-numeric-3::before{content:"\33"}.mdi-numeric-3-box::before{content:"\F3AA"}.mdi-numeric-3-box-multiple::before{content:"\FF2E"}.mdi-numeric-3-box-multiple-outline::before{content:"\F3AB"}.mdi-numeric-3-box-outline::before{content:"\F3AC"}.mdi-numeric-3-circle::before{content:"\FC80"}.mdi-numeric-3-circle-outline::before{content:"\FC81"}.mdi-numeric-4::before{content:"\34"}.mdi-numeric-4-box::before{content:"\F3AD"}.mdi-numeric-4-box-multiple::before{content:"\FF2F"}.mdi-numeric-4-box-multiple-outline::before{content:"\F3AE"}.mdi-numeric-4-box-outline::before{content:"\F3AF"}.mdi-numeric-4-circle::before{content:"\FC82"}.mdi-numeric-4-circle-outline::before{content:"\FC83"}.mdi-numeric-5::before{content:"\35"}.mdi-numeric-5-box::before{content:"\F3B0"}.mdi-numeric-5-box-multiple::before{content:"\FF30"}.mdi-numeric-5-box-multiple-outline::before{content:"\F3B1"}.mdi-numeric-5-box-outline::before{content:"\F3B2"}.mdi-numeric-5-circle::before{content:"\FC84"}.mdi-numeric-5-circle-outline::before{content:"\FC85"}.mdi-numeric-6::before{content:"\36"}.mdi-numeric-6-box::before{content:"\F3B3"}.mdi-numeric-6-box-multiple::before{content:"\FF31"}.mdi-numeric-6-box-multiple-outline::before{content:"\F3B4"}.mdi-numeric-6-box-outline::before{content:"\F3B5"}.mdi-numeric-6-circle::before{content:"\FC86"}.mdi-numeric-6-circle-outline::before{content:"\FC87"}.mdi-numeric-7::before{content:"\37"}.mdi-numeric-7-box::before{content:"\F3B6"}.mdi-numeric-7-box-multiple::before{content:"\FF32"}.mdi-numeric-7-box-multiple-outline::before{content:"\F3B7"}.mdi-numeric-7-box-outline::before{content:"\F3B8"}.mdi-numeric-7-circle::before{content:"\FC88"}.mdi-numeric-7-circle-outline::before{content:"\FC89"}.mdi-numeric-8::before{content:"\38"}.mdi-numeric-8-box::before{content:"\F3B9"}.mdi-numeric-8-box-multiple::before{content:"\FF33"}.mdi-numeric-8-box-multiple-outline::before{content:"\F3BA"}.mdi-numeric-8-box-outline::before{content:"\F3BB"}.mdi-numeric-8-circle::before{content:"\FC8A"}.mdi-numeric-8-circle-outline::before{content:"\FC8B"}.mdi-numeric-9::before{content:"\39"}.mdi-numeric-9-box::before{content:"\F3BC"}.mdi-numeric-9-box-multiple::before{content:"\FF34"}.mdi-numeric-9-box-multiple-outline::before{content:"\F3BD"}.mdi-numeric-9-box-outline::before{content:"\F3BE"}.mdi-numeric-9-circle::before{content:"\FC8C"}.mdi-numeric-9-circle-outline::before{content:"\FC8D"}.mdi-numeric-9-plus-box::before{content:"\F3BF"}.mdi-numeric-9-plus-box-multiple::before{content:"\FF35"}.mdi-numeric-9-plus-box-multiple-outline::before{content:"\F3C0"}.mdi-numeric-9-plus-box-outline::before{content:"\F3C1"}.mdi-numeric-9-plus-circle::before{content:"\FC8E"}.mdi-numeric-9-plus-circle-outline::before{content:"\FC8F"}.mdi-nut::before{content:"\F6F7"}.mdi-nutrition::before{content:"\F3C2"}.mdi-oar::before{content:"\F67B"}.mdi-ocarina::before{content:"\FDBC"}.mdi-octagon::before{content:"\F3C3"}.mdi-octagon-outline::before{content:"\F3C4"}.mdi-octagram::before{content:"\F6F8"}.mdi-octagram-outline::before{content:"\F774"}.mdi-odnoklassniki::before{content:"\F3C5"}.mdi-office::before{content:"\F3C6"}.mdi-office-building::before{content:"\F990"}.mdi-oil::before{content:"\F3C7"}.mdi-oil-lamp::before{content:"\FF36"}.mdi-oil-temperature::before{content:"\F3C8"}.mdi-omega::before{content:"\F3C9"}.mdi-one-up::before{content:"\FB89"}.mdi-onedrive::before{content:"\F3CA"}.mdi-onenote::before{content:"\F746"}.mdi-onepassword::before{content:"\F880"}.mdi-opacity::before{content:"\F5CC"}.mdi-open-in-app::before{content:"\F3CB"}.mdi-open-in-new::before{content:"\F3CC"}.mdi-open-source-initiative::before{content:"\FB8A"}.mdi-openid::before{content:"\F3CD"}.mdi-opera::before{content:"\F3CE"}.mdi-orbit::before{content:"\F018"}.mdi-origin::before{content:"\FB2B"}.mdi-ornament::before{content:"\F3CF"}.mdi-ornament-variant::before{content:"\F3D0"}.mdi-outlook::before{content:"\FCFE"}.mdi-owl::before{content:"\F3D2"}.mdi-pac-man::before{content:"\FB8B"}.mdi-package::before{content:"\F3D3"}.mdi-package-down::before{content:"\F3D4"}.mdi-package-up::before{content:"\F3D5"}.mdi-package-variant::before{content:"\F3D6"}.mdi-package-variant-closed::before{content:"\F3D7"}.mdi-page-first::before{content:"\F600"}.mdi-page-last::before{content:"\F601"}.mdi-page-layout-body::before{content:"\F6F9"}.mdi-page-layout-footer::before{content:"\F6FA"}.mdi-page-layout-header::before{content:"\F6FB"}.mdi-page-layout-header-footer::before{content:"\FF9C"}.mdi-page-layout-sidebar-left::before{content:"\F6FC"}.mdi-page-layout-sidebar-right::before{content:"\F6FD"}.mdi-page-next::before{content:"\FB8C"}.mdi-page-next-outline::before{content:"\FB8D"}.mdi-page-previous::before{content:"\FB8E"}.mdi-page-previous-outline::before{content:"\FB8F"}.mdi-palette::before{content:"\F3D8"}.mdi-palette-advanced::before{content:"\F3D9"}.mdi-palette-outline::before{content:"\FE6C"}.mdi-palette-swatch::before{content:"\F8B4"}.mdi-pan::before{content:"\FB90"}.mdi-pan-bottom-left::before{content:"\FB91"}.mdi-pan-bottom-right::before{content:"\FB92"}.mdi-pan-down::before{content:"\FB93"}.mdi-pan-horizontal::before{content:"\FB94"}.mdi-pan-left::before{content:"\FB95"}.mdi-pan-right::before{content:"\FB96"}.mdi-pan-top-left::before{content:"\FB97"}.mdi-pan-top-right::before{content:"\FB98"}.mdi-pan-up::before{content:"\FB99"}.mdi-pan-vertical::before{content:"\FB9A"}.mdi-panda::before{content:"\F3DA"}.mdi-pandora::before{content:"\F3DB"}.mdi-panorama::before{content:"\F3DC"}.mdi-panorama-fisheye::before{content:"\F3DD"}.mdi-panorama-horizontal::before{content:"\F3DE"}.mdi-panorama-vertical::before{content:"\F3DF"}.mdi-panorama-wide-angle::before{content:"\F3E0"}.mdi-paper-cut-vertical::before{content:"\F3E1"}.mdi-paperclip::before{content:"\F3E2"}.mdi-parachute::before{content:"\FC90"}.mdi-parachute-outline::before{content:"\FC91"}.mdi-parking::before{content:"\F3E3"}.mdi-passport::before{content:"\F7E2"}.mdi-passport-biometric::before{content:"\FDBD"}.mdi-patio-heater::before{content:"\FF9D"}.mdi-patreon::before{content:"\F881"}.mdi-pause::before{content:"\F3E4"}.mdi-pause-circle::before{content:"\F3E5"}.mdi-pause-circle-outline::before{content:"\F3E6"}.mdi-pause-octagon::before{content:"\F3E7"}.mdi-pause-octagon-outline::before{content:"\F3E8"}.mdi-paw::before{content:"\F3E9"}.mdi-paw-off::before{content:"\F657"}.mdi-paypal::before{content:"\F882"}.mdi-pdf-box::before{content:"\FE39"}.mdi-peace::before{content:"\F883"}.mdi-pen::before{content:"\F3EA"}.mdi-pen-lock::before{content:"\FDBE"}.mdi-pen-minus::before{content:"\FDBF"}.mdi-pen-off::before{content:"\FDC0"}.mdi-pen-plus::before{content:"\FDC1"}.mdi-pen-remove::before{content:"\FDC2"}.mdi-pencil::before{content:"\F3EB"}.mdi-pencil-box::before{content:"\F3EC"}.mdi-pencil-box-outline::before{content:"\F3ED"}.mdi-pencil-circle::before{content:"\F6FE"}.mdi-pencil-circle-outline::before{content:"\F775"}.mdi-pencil-lock::before{content:"\F3EE"}.mdi-pencil-lock-outline::before{content:"\FDC3"}.mdi-pencil-minus::before{content:"\FDC4"}.mdi-pencil-minus-outline::before{content:"\FDC5"}.mdi-pencil-off::before{content:"\F3EF"}.mdi-pencil-off-outline::before{content:"\FDC6"}.mdi-pencil-outline::before{content:"\FC92"}.mdi-pencil-plus::before{content:"\FDC7"}.mdi-pencil-plus-outline::before{content:"\FDC8"}.mdi-pencil-remove::before{content:"\FDC9"}.mdi-pencil-remove-outline::before{content:"\FDCA"}.mdi-penguin::before{content:"\FEDD"}.mdi-pentagon::before{content:"\F6FF"}.mdi-pentagon-outline::before{content:"\F700"}.mdi-percent::before{content:"\F3F0"}.mdi-periodic-table::before{content:"\F8B5"}.mdi-periodic-table-co2::before{content:"\F7E3"}.mdi-periscope::before{content:"\F747"}.mdi-perspective-less::before{content:"\FCFF"}.mdi-perspective-more::before{content:"\FD00"}.mdi-pharmacy::before{content:"\F3F1"}.mdi-phone::before{content:"\F3F2"}.mdi-phone-alert::before{content:"\FF37"}.mdi-phone-bluetooth::before{content:"\F3F3"}.mdi-phone-classic::before{content:"\F602"}.mdi-phone-forward::before{content:"\F3F4"}.mdi-phone-hangup::before{content:"\F3F5"}.mdi-phone-in-talk::before{content:"\F3F6"}.mdi-phone-incoming::before{content:"\F3F7"}.mdi-phone-lock::before{content:"\F3F8"}.mdi-phone-log::before{content:"\F3F9"}.mdi-phone-minus::before{content:"\F658"}.mdi-phone-missed::before{content:"\F3FA"}.mdi-phone-off::before{content:"\FDCB"}.mdi-phone-outgoing::before{content:"\F3FB"}.mdi-phone-outline::before{content:"\FDCC"}.mdi-phone-paused::before{content:"\F3FC"}.mdi-phone-plus::before{content:"\F659"}.mdi-phone-return::before{content:"\F82E"}.mdi-phone-rotate-landscape::before{content:"\F884"}.mdi-phone-rotate-portrait::before{content:"\F885"}.mdi-phone-settings::before{content:"\F3FD"}.mdi-phone-voip::before{content:"\F3FE"}.mdi-pi::before{content:"\F3FF"}.mdi-pi-box::before{content:"\F400"}.mdi-pi-hole::before{content:"\FDCD"}.mdi-piano::before{content:"\F67C"}.mdi-pickaxe::before{content:"\F8B6"}.mdi-picture-in-picture-bottom-right::before{content:"\FE3A"}.mdi-picture-in-picture-bottom-right-outline::before{content:"\FE3B"}.mdi-picture-in-picture-top-right::before{content:"\FE3C"}.mdi-picture-in-picture-top-right-outline::before{content:"\FE3D"}.mdi-pier::before{content:"\F886"}.mdi-pier-crane::before{content:"\F887"}.mdi-pig::before{content:"\F401"}.mdi-pill::before{content:"\F402"}.mdi-pillar::before{content:"\F701"}.mdi-pin::before{content:"\F403"}.mdi-pin-off::before{content:"\F404"}.mdi-pin-off-outline::before{content:"\F92F"}.mdi-pin-outline::before{content:"\F930"}.mdi-pine-tree::before{content:"\F405"}.mdi-pine-tree-box::before{content:"\F406"}.mdi-pinterest::before{content:"\F407"}.mdi-pinterest-box::before{content:"\F408"}.mdi-pinwheel::before{content:"\FAD4"}.mdi-pinwheel-outline::before{content:"\FAD5"}.mdi-pipe::before{content:"\F7E4"}.mdi-pipe-disconnected::before{content:"\F7E5"}.mdi-pipe-leak::before{content:"\F888"}.mdi-pirate::before{content:"\FA07"}.mdi-pistol::before{content:"\F702"}.mdi-piston::before{content:"\F889"}.mdi-pizza::before{content:"\F409"}.mdi-play::before{content:"\F40A"}.mdi-play-box-outline::before{content:"\F40B"}.mdi-play-circle::before{content:"\F40C"}.mdi-play-circle-outline::before{content:"\F40D"}.mdi-play-network::before{content:"\F88A"}.mdi-play-network-outline::before{content:"\FC93"}.mdi-play-outline::before{content:"\FF38"}.mdi-play-pause::before{content:"\F40E"}.mdi-play-protected-content::before{content:"\F40F"}.mdi-play-speed::before{content:"\F8FE"}.mdi-playlist-check::before{content:"\F5C7"}.mdi-playlist-edit::before{content:"\F8FF"}.mdi-playlist-minus::before{content:"\F410"}.mdi-playlist-music::before{content:"\FC94"}.mdi-playlist-music-outline::before{content:"\FC95"}.mdi-playlist-play::before{content:"\F411"}.mdi-playlist-plus::before{content:"\F412"}.mdi-playlist-remove::before{content:"\F413"}.mdi-playlist-star::before{content:"\FDCE"}.mdi-playstation::before{content:"\F414"}.mdi-plex::before{content:"\F6B9"}.mdi-plus::before{content:"\F415"}.mdi-plus-box::before{content:"\F416"}.mdi-plus-box-outline::before{content:"\F703"}.mdi-plus-circle::before{content:"\F417"}.mdi-plus-circle-multiple-outline::before{content:"\F418"}.mdi-plus-circle-outline::before{content:"\F419"}.mdi-plus-minus::before{content:"\F991"}.mdi-plus-minus-box::before{content:"\F992"}.mdi-plus-network::before{content:"\F41A"}.mdi-plus-network-outline::before{content:"\FC96"}.mdi-plus-one::before{content:"\F41B"}.mdi-plus-outline::before{content:"\F704"}.mdi-pocket::before{content:"\F41C"}.mdi-podcast::before{content:"\F993"}.mdi-podium::before{content:"\FD01"}.mdi-podium-bronze::before{content:"\FD02"}.mdi-podium-gold::before{content:"\FD03"}.mdi-podium-silver::before{content:"\FD04"}.mdi-point-of-sale::before{content:"\FD6E"}.mdi-pokeball::before{content:"\F41D"}.mdi-pokemon-go::before{content:"\FA08"}.mdi-poker-chip::before{content:"\F82F"}.mdi-polaroid::before{content:"\F41E"}.mdi-poll::before{content:"\F41F"}.mdi-poll-box::before{content:"\F420"}.mdi-polymer::before{content:"\F421"}.mdi-pool::before{content:"\F606"}.mdi-popcorn::before{content:"\F422"}.mdi-postage-stamp::before{content:"\FC97"}.mdi-pot::before{content:"\F65A"}.mdi-pot-mix::before{content:"\F65B"}.mdi-pound::before{content:"\F423"}.mdi-pound-box::before{content:"\F424"}.mdi-power::before{content:"\F425"}.mdi-power-cycle::before{content:"\F900"}.mdi-power-off::before{content:"\F901"}.mdi-power-on::before{content:"\F902"}.mdi-power-plug::before{content:"\F6A4"}.mdi-power-plug-off::before{content:"\F6A5"}.mdi-power-settings::before{content:"\F426"}.mdi-power-sleep::before{content:"\F903"}.mdi-power-socket::before{content:"\F427"}.mdi-power-socket-au::before{content:"\F904"}.mdi-power-socket-eu::before{content:"\F7E6"}.mdi-power-socket-uk::before{content:"\F7E7"}.mdi-power-socket-us::before{content:"\F7E8"}.mdi-power-standby::before{content:"\F905"}.mdi-powershell::before{content:"\FA09"}.mdi-prescription::before{content:"\F705"}.mdi-presentation::before{content:"\F428"}.mdi-presentation-play::before{content:"\F429"}.mdi-printer::before{content:"\F42A"}.mdi-printer-3d::before{content:"\F42B"}.mdi-printer-3d-nozzle::before{content:"\FE3E"}.mdi-printer-3d-nozzle-outline::before{content:"\FE3F"}.mdi-printer-alert::before{content:"\F42C"}.mdi-printer-off::before{content:"\FE40"}.mdi-printer-settings::before{content:"\F706"}.mdi-printer-wireless::before{content:"\FA0A"}.mdi-priority-high::before{content:"\F603"}.mdi-priority-low::before{content:"\F604"}.mdi-professional-hexagon::before{content:"\F42D"}.mdi-progress-alert::before{content:"\FC98"}.mdi-progress-check::before{content:"\F994"}.mdi-progress-clock::before{content:"\F995"}.mdi-progress-download::before{content:"\F996"}.mdi-progress-upload::before{content:"\F997"}.mdi-progress-wrench::before{content:"\FC99"}.mdi-projector::before{content:"\F42E"}.mdi-projector-screen::before{content:"\F42F"}.mdi-publish::before{content:"\F6A6"}.mdi-pulse::before{content:"\F430"}.mdi-pumpkin::before{content:"\FB9B"}.mdi-purse::before{content:"\FF39"}.mdi-purse-outline::before{content:"\FF3A"}.mdi-puzzle::before{content:"\F431"}.mdi-puzzle-outline::before{content:"\FA65"}.mdi-qi::before{content:"\F998"}.mdi-qqchat::before{content:"\F605"}.mdi-qrcode::before{content:"\F432"}.mdi-qrcode-edit::before{content:"\F8B7"}.mdi-qrcode-scan::before{content:"\F433"}.mdi-quadcopter::before{content:"\F434"}.mdi-quality-high::before{content:"\F435"}.mdi-quality-low::before{content:"\FA0B"}.mdi-quality-medium::before{content:"\FA0C"}.mdi-quicktime::before{content:"\F436"}.mdi-quora::before{content:"\FD05"}.mdi-rabbit::before{content:"\F906"}.mdi-racing-helmet::before{content:"\FD6F"}.mdi-racquetball::before{content:"\FD70"}.mdi-radar::before{content:"\F437"}.mdi-radiator::before{content:"\F438"}.mdi-radiator-disabled::before{content:"\FAD6"}.mdi-radiator-off::before{content:"\FAD7"}.mdi-radio::before{content:"\F439"}.mdi-radio-am::before{content:"\FC9A"}.mdi-radio-fm::before{content:"\FC9B"}.mdi-radio-handheld::before{content:"\F43A"}.mdi-radio-tower::before{content:"\F43B"}.mdi-radioactive::before{content:"\F43C"}.mdi-radioactive-off::before{content:"\FEDE"}.mdi-radiobox-blank::before{content:"\F43D"}.mdi-radiobox-marked::before{content:"\F43E"}.mdi-radius::before{content:"\FC9C"}.mdi-radius-outline::before{content:"\FC9D"}.mdi-railroad-light::before{content:"\FF3B"}.mdi-raspberry-pi::before{content:"\F43F"}.mdi-ray-end::before{content:"\F440"}.mdi-ray-end-arrow::before{content:"\F441"}.mdi-ray-start::before{content:"\F442"}.mdi-ray-start-arrow::before{content:"\F443"}.mdi-ray-start-end::before{content:"\F444"}.mdi-ray-vertex::before{content:"\F445"}.mdi-react::before{content:"\F707"}.mdi-read::before{content:"\F447"}.mdi-receipt::before{content:"\F449"}.mdi-record::before{content:"\F44A"}.mdi-record-circle::before{content:"\FEDF"}.mdi-record-circle-outline::before{content:"\FEE0"}.mdi-record-player::before{content:"\F999"}.mdi-record-rec::before{content:"\F44B"}.mdi-rectangle::before{content:"\FE41"}.mdi-rectangle-outline::before{content:"\FE42"}.mdi-recycle::before{content:"\F44C"}.mdi-reddit::before{content:"\F44D"}.mdi-redo::before{content:"\F44E"}.mdi-redo-variant::before{content:"\F44F"}.mdi-reflect-horizontal::before{content:"\FA0D"}.mdi-reflect-vertical::before{content:"\FA0E"}.mdi-refresh::before{content:"\F450"}.mdi-regex::before{content:"\F451"}.mdi-registered-trademark::before{content:"\FA66"}.mdi-relative-scale::before{content:"\F452"}.mdi-reload::before{content:"\F453"}.mdi-reminder::before{content:"\F88B"}.mdi-remote::before{content:"\F454"}.mdi-remote-desktop::before{content:"\F8B8"}.mdi-remote-off::before{content:"\FEE1"}.mdi-remote-tv::before{content:"\FEE2"}.mdi-remote-tv-off::before{content:"\FEE3"}.mdi-rename-box::before{content:"\F455"}.mdi-reorder-horizontal::before{content:"\F687"}.mdi-reorder-vertical::before{content:"\F688"}.mdi-repeat::before{content:"\F456"}.mdi-repeat-off::before{content:"\F457"}.mdi-repeat-once::before{content:"\F458"}.mdi-replay::before{content:"\F459"}.mdi-reply::before{content:"\F45A"}.mdi-reply-all::before{content:"\F45B"}.mdi-reply-all-outline::before{content:"\FF3C"}.mdi-reply-outline::before{content:"\FF3D"}.mdi-reproduction::before{content:"\F45C"}.mdi-resistor::before{content:"\FB1F"}.mdi-resistor-nodes::before{content:"\FB20"}.mdi-resize::before{content:"\FA67"}.mdi-resize-bottom-right::before{content:"\F45D"}.mdi-responsive::before{content:"\F45E"}.mdi-restart::before{content:"\F708"}.mdi-restart-off::before{content:"\FD71"}.mdi-restore::before{content:"\F99A"}.mdi-restore-clock::before{content:"\F6A7"}.mdi-rewind::before{content:"\F45F"}.mdi-rewind-10::before{content:"\FD06"}.mdi-rewind-30::before{content:"\FD72"}.mdi-rewind-outline::before{content:"\F709"}.mdi-rhombus::before{content:"\F70A"}.mdi-rhombus-medium::before{content:"\FA0F"}.mdi-rhombus-outline::before{content:"\F70B"}.mdi-rhombus-split::before{content:"\FA10"}.mdi-ribbon::before{content:"\F460"}.mdi-rice::before{content:"\F7E9"}.mdi-ring::before{content:"\F7EA"}.mdi-rivet::before{content:"\FE43"}.mdi-road::before{content:"\F461"}.mdi-road-variant::before{content:"\F462"}.mdi-robot::before{content:"\F6A8"}.mdi-robot-industrial::before{content:"\FB21"}.mdi-robot-vacuum::before{content:"\F70C"}.mdi-robot-vacuum-variant::before{content:"\F907"}.mdi-rocket::before{content:"\F463"}.mdi-roller-skate::before{content:"\FD07"}.mdi-rollerblade::before{content:"\FD08"}.mdi-rollupjs::before{content:"\FB9C"}.mdi-room-service::before{content:"\F88C"}.mdi-room-service-outline::before{content:"\FD73"}.mdi-rotate-3d::before{content:"\FEE4"}.mdi-rotate-3d-variant::before{content:"\F464"}.mdi-rotate-left::before{content:"\F465"}.mdi-rotate-left-variant::before{content:"\F466"}.mdi-rotate-orbit::before{content:"\FD74"}.mdi-rotate-right::before{content:"\F467"}.mdi-rotate-right-variant::before{content:"\F468"}.mdi-rounded-corner::before{content:"\F607"}.mdi-router-wireless::before{content:"\F469"}.mdi-router-wireless-settings::before{content:"\FA68"}.mdi-routes::before{content:"\F46A"}.mdi-rowing::before{content:"\F608"}.mdi-rss::before{content:"\F46B"}.mdi-rss-box::before{content:"\F46C"}.mdi-rss-off::before{content:"\FF3E"}.mdi-ruby::before{content:"\FD09"}.mdi-rugby::before{content:"\FD75"}.mdi-ruler::before{content:"\F46D"}.mdi-ruler-square::before{content:"\FC9E"}.mdi-run::before{content:"\F70D"}.mdi-run-fast::before{content:"\F46E"}.mdi-sack::before{content:"\FD0A"}.mdi-sack-percent::before{content:"\FD0B"}.mdi-safe::before{content:"\FA69"}.mdi-safety-goggles::before{content:"\FD0C"}.mdi-sailing::before{content:"\FEE5"}.mdi-sale::before{content:"\F46F"}.mdi-salesforce::before{content:"\F88D"}.mdi-sass::before{content:"\F7EB"}.mdi-satellite::before{content:"\F470"}.mdi-satellite-uplink::before{content:"\F908"}.mdi-satellite-variant::before{content:"\F471"}.mdi-sausage::before{content:"\F8B9"}.mdi-saw-blade::before{content:"\FE44"}.mdi-saxophone::before{content:"\F609"}.mdi-scale::before{content:"\F472"}.mdi-scale-balance::before{content:"\F5D1"}.mdi-scale-bathroom::before{content:"\F473"}.mdi-scanner::before{content:"\F6AA"}.mdi-scanner-off::before{content:"\F909"}.mdi-scatter-plot::before{content:"\FEE6"}.mdi-scatter-plot-outline::before{content:"\FEE7"}.mdi-school::before{content:"\F474"}.mdi-scissors-cutting::before{content:"\FA6A"}.mdi-screen-rotation::before{content:"\F475"}.mdi-screen-rotation-lock::before{content:"\F476"}.mdi-screw-flat-top::before{content:"\FDCF"}.mdi-screw-lag::before{content:"\FE54"}.mdi-screw-machine-flat-top::before{content:"\FE55"}.mdi-screw-machine-round-top::before{content:"\FE56"}.mdi-screw-round-top::before{content:"\FE57"}.mdi-screwdriver::before{content:"\F477"}.mdi-script::before{content:"\FB9D"}.mdi-script-outline::before{content:"\F478"}.mdi-script-text::before{content:"\FB9E"}.mdi-script-text-outline::before{content:"\FB9F"}.mdi-sd::before{content:"\F479"}.mdi-seal::before{content:"\F47A"}.mdi-search-web::before{content:"\F70E"}.mdi-seat::before{content:"\FC9F"}.mdi-seat-flat::before{content:"\F47B"}.mdi-seat-flat-angled::before{content:"\F47C"}.mdi-seat-individual-suite::before{content:"\F47D"}.mdi-seat-legroom-extra::before{content:"\F47E"}.mdi-seat-legroom-normal::before{content:"\F47F"}.mdi-seat-legroom-reduced::before{content:"\F480"}.mdi-seat-outline::before{content:"\FCA0"}.mdi-seat-recline-extra::before{content:"\F481"}.mdi-seat-recline-normal::before{content:"\F482"}.mdi-seatbelt::before{content:"\FCA1"}.mdi-security::before{content:"\F483"}.mdi-security-network::before{content:"\F484"}.mdi-seed::before{content:"\FE45"}.mdi-seed-outline::before{content:"\FE46"}.mdi-segment::before{content:"\FEE8"}.mdi-select::before{content:"\F485"}.mdi-select-all::before{content:"\F486"}.mdi-select-color::before{content:"\FD0D"}.mdi-select-compare::before{content:"\FAD8"}.mdi-select-drag::before{content:"\FA6B"}.mdi-select-group::before{content:"\FF9F"}.mdi-select-inverse::before{content:"\F487"}.mdi-select-off::before{content:"\F488"}.mdi-selection::before{content:"\F489"}.mdi-selection-drag::before{content:"\FA6C"}.mdi-selection-ellipse::before{content:"\FD0E"}.mdi-selection-ellipse-arrow-inside::before{content:"\FF3F"}.mdi-selection-off::before{content:"\F776"}.mdi-send::before{content:"\F48A"}.mdi-send-circle::before{content:"\FE58"}.mdi-send-circle-outline::before{content:"\FE59"}.mdi-send-lock::before{content:"\F7EC"}.mdi-serial-port::before{content:"\F65C"}.mdi-server::before{content:"\F48B"}.mdi-server-minus::before{content:"\F48C"}.mdi-server-network::before{content:"\F48D"}.mdi-server-network-off::before{content:"\F48E"}.mdi-server-off::before{content:"\F48F"}.mdi-server-plus::before{content:"\F490"}.mdi-server-remove::before{content:"\F491"}.mdi-server-security::before{content:"\F492"}.mdi-set-all::before{content:"\F777"}.mdi-set-center::before{content:"\F778"}.mdi-set-center-right::before{content:"\F779"}.mdi-set-left::before{content:"\F77A"}.mdi-set-left-center::before{content:"\F77B"}.mdi-set-left-right::before{content:"\F77C"}.mdi-set-none::before{content:"\F77D"}.mdi-set-right::before{content:"\F77E"}.mdi-set-top-box::before{content:"\F99E"}.mdi-settings::before{content:"\F493"}.mdi-settings-box::before{content:"\F494"}.mdi-settings-helper::before{content:"\FA6D"}.mdi-settings-outline::before{content:"\F8BA"}.mdi-shape::before{content:"\F830"}.mdi-shape-circle-plus::before{content:"\F65D"}.mdi-shape-outline::before{content:"\F831"}.mdi-shape-plus::before{content:"\F495"}.mdi-shape-polygon-plus::before{content:"\F65E"}.mdi-shape-rectangle-plus::before{content:"\F65F"}.mdi-shape-square-plus::before{content:"\F660"}.mdi-share::before{content:"\F496"}.mdi-share-off::before{content:"\FF40"}.mdi-share-off-outline::before{content:"\FF41"}.mdi-share-outline::before{content:"\F931"}.mdi-share-variant::before{content:"\F497"}.mdi-sheep::before{content:"\FCA2"}.mdi-shield::before{content:"\F498"}.mdi-shield-account::before{content:"\F88E"}.mdi-shield-account-outline::before{content:"\FA11"}.mdi-shield-airplane::before{content:"\F6BA"}.mdi-shield-airplane-outline::before{content:"\FCA3"}.mdi-shield-alert::before{content:"\FEE9"}.mdi-shield-alert-outline::before{content:"\FEEA"}.mdi-shield-car::before{content:"\FFA0"}.mdi-shield-check::before{content:"\F565"}.mdi-shield-check-outline::before{content:"\FCA4"}.mdi-shield-cross::before{content:"\FCA5"}.mdi-shield-cross-outline::before{content:"\FCA6"}.mdi-shield-half-full::before{content:"\F77F"}.mdi-shield-home::before{content:"\F689"}.mdi-shield-home-outline::before{content:"\FCA7"}.mdi-shield-key::before{content:"\FBA0"}.mdi-shield-key-outline::before{content:"\FBA1"}.mdi-shield-link-variant::before{content:"\FD0F"}.mdi-shield-link-variant-outline::before{content:"\FD10"}.mdi-shield-lock::before{content:"\F99C"}.mdi-shield-lock-outline::before{content:"\FCA8"}.mdi-shield-off::before{content:"\F99D"}.mdi-shield-off-outline::before{content:"\F99B"}.mdi-shield-outline::before{content:"\F499"}.mdi-shield-plus::before{content:"\FAD9"}.mdi-shield-plus-outline::before{content:"\FADA"}.mdi-shield-remove::before{content:"\FADB"}.mdi-shield-remove-outline::before{content:"\FADC"}.mdi-shield-search::before{content:"\FD76"}.mdi-ship-wheel::before{content:"\F832"}.mdi-shoe-formal::before{content:"\FB22"}.mdi-shoe-heel::before{content:"\FB23"}.mdi-shoe-print::before{content:"\FE5A"}.mdi-shopify::before{content:"\FADD"}.mdi-shopping::before{content:"\F49A"}.mdi-shopping-music::before{content:"\F49B"}.mdi-shopping-search::before{content:"\FFA1"}.mdi-shovel::before{content:"\F70F"}.mdi-shovel-off::before{content:"\F710"}.mdi-shower::before{content:"\F99F"}.mdi-shower-head::before{content:"\F9A0"}.mdi-shredder::before{content:"\F49C"}.mdi-shuffle::before{content:"\F49D"}.mdi-shuffle-disabled::before{content:"\F49E"}.mdi-shuffle-variant::before{content:"\F49F"}.mdi-sigma::before{content:"\F4A0"}.mdi-sigma-lower::before{content:"\F62B"}.mdi-sign-caution::before{content:"\F4A1"}.mdi-sign-direction::before{content:"\F780"}.mdi-sign-text::before{content:"\F781"}.mdi-signal::before{content:"\F4A2"}.mdi-signal-2g::before{content:"\F711"}.mdi-signal-3g::before{content:"\F712"}.mdi-signal-4g::before{content:"\F713"}.mdi-signal-5g::before{content:"\FA6E"}.mdi-signal-cellular-1::before{content:"\F8BB"}.mdi-signal-cellular-2::before{content:"\F8BC"}.mdi-signal-cellular-3::before{content:"\F8BD"}.mdi-signal-cellular-outline::before{content:"\F8BE"}.mdi-signal-distance-variant::before{content:"\FE47"}.mdi-signal-hspa::before{content:"\F714"}.mdi-signal-hspa-plus::before{content:"\F715"}.mdi-signal-off::before{content:"\F782"}.mdi-signal-variant::before{content:"\F60A"}.mdi-signature::before{content:"\FE5B"}.mdi-signature-freehand::before{content:"\FE5C"}.mdi-signature-image::before{content:"\FE5D"}.mdi-signature-text::before{content:"\FE5E"}.mdi-silo::before{content:"\FB24"}.mdi-silverware::before{content:"\F4A3"}.mdi-silverware-fork::before{content:"\F4A4"}.mdi-silverware-fork-knife::before{content:"\FA6F"}.mdi-silverware-spoon::before{content:"\F4A5"}.mdi-silverware-variant::before{content:"\F4A6"}.mdi-sim::before{content:"\F4A7"}.mdi-sim-alert::before{content:"\F4A8"}.mdi-sim-off::before{content:"\F4A9"}.mdi-sina-weibo::before{content:"\FADE"}.mdi-sitemap::before{content:"\F4AA"}.mdi-skate::before{content:"\FD11"}.mdi-skew-less::before{content:"\FD12"}.mdi-skew-more::before{content:"\FD13"}.mdi-skip-backward::before{content:"\F4AB"}.mdi-skip-backward-outline::before{content:"\FF42"}.mdi-skip-forward::before{content:"\F4AC"}.mdi-skip-forward-outline::before{content:"\FF43"}.mdi-skip-next::before{content:"\F4AD"}.mdi-skip-next-circle::before{content:"\F661"}.mdi-skip-next-circle-outline::before{content:"\F662"}.mdi-skip-next-outline::before{content:"\FF44"}.mdi-skip-previous::before{content:"\F4AE"}.mdi-skip-previous-circle::before{content:"\F663"}.mdi-skip-previous-circle-outline::before{content:"\F664"}.mdi-skip-previous-outline::before{content:"\FF45"}.mdi-skull::before{content:"\F68B"}.mdi-skull-crossbones::before{content:"\FBA2"}.mdi-skull-crossbones-outline::before{content:"\FBA3"}.mdi-skull-outline::before{content:"\FBA4"}.mdi-skype::before{content:"\F4AF"}.mdi-skype-business::before{content:"\F4B0"}.mdi-slack::before{content:"\F4B1"}.mdi-slackware::before{content:"\F90A"}.mdi-sleep::before{content:"\F4B2"}.mdi-sleep-off::before{content:"\F4B3"}.mdi-slope-downhill::before{content:"\FE5F"}.mdi-slope-uphill::before{content:"\FE60"}.mdi-smog::before{content:"\FA70"}.mdi-smoke-detector::before{content:"\F392"}.mdi-smoking::before{content:"\F4B4"}.mdi-smoking-off::before{content:"\F4B5"}.mdi-snapchat::before{content:"\F4B6"}.mdi-snowflake::before{content:"\F716"}.mdi-snowflake-alert::before{content:"\FF46"}.mdi-snowflake-variant::before{content:"\FF47"}.mdi-snowman::before{content:"\F4B7"}.mdi-soccer::before{content:"\F4B8"}.mdi-soccer-field::before{content:"\F833"}.mdi-sofa::before{content:"\F4B9"}.mdi-solar-panel::before{content:"\FD77"}.mdi-solar-panel-large::before{content:"\FD78"}.mdi-solar-power::before{content:"\FA71"}.mdi-solid::before{content:"\F68C"}.mdi-sort::before{content:"\F4BA"}.mdi-sort-alphabetical::before{content:"\F4BB"}.mdi-sort-ascending::before{content:"\F4BC"}.mdi-sort-descending::before{content:"\F4BD"}.mdi-sort-numeric::before{content:"\F4BE"}.mdi-sort-variant::before{content:"\F4BF"}.mdi-sort-variant-lock::before{content:"\FCA9"}.mdi-sort-variant-lock-open::before{content:"\FCAA"}.mdi-soundcloud::before{content:"\F4C0"}.mdi-source-branch::before{content:"\F62C"}.mdi-source-commit::before{content:"\F717"}.mdi-source-commit-end::before{content:"\F718"}.mdi-source-commit-end-local::before{content:"\F719"}.mdi-source-commit-local::before{content:"\F71A"}.mdi-source-commit-next-local::before{content:"\F71B"}.mdi-source-commit-start::before{content:"\F71C"}.mdi-source-commit-start-next-local::before{content:"\F71D"}.mdi-source-fork::before{content:"\F4C1"}.mdi-source-merge::before{content:"\F62D"}.mdi-source-pull::before{content:"\F4C2"}.mdi-source-repository::before{content:"\FCAB"}.mdi-source-repository-multiple::before{content:"\FCAC"}.mdi-soy-sauce::before{content:"\F7ED"}.mdi-spa::before{content:"\FCAD"}.mdi-spa-outline::before{content:"\FCAE"}.mdi-space-invaders::before{content:"\FBA5"}.mdi-spade::before{content:"\FE48"}.mdi-speaker::before{content:"\F4C3"}.mdi-speaker-bluetooth::before{content:"\F9A1"}.mdi-speaker-multiple::before{content:"\FD14"}.mdi-speaker-off::before{content:"\F4C4"}.mdi-speaker-wireless::before{content:"\F71E"}.mdi-speedometer::before{content:"\F4C5"}.mdi-speedometer-medium::before{content:"\FFA2"}.mdi-speedometer-slow::before{content:"\FFA3"}.mdi-spellcheck::before{content:"\F4C6"}.mdi-spider-web::before{content:"\FBA6"}.mdi-spotify::before{content:"\F4C7"}.mdi-spotlight::before{content:"\F4C8"}.mdi-spotlight-beam::before{content:"\F4C9"}.mdi-spray::before{content:"\F665"}.mdi-spray-bottle::before{content:"\FADF"}.mdi-sprout::before{content:"\FE49"}.mdi-sprout-outline::before{content:"\FE4A"}.mdi-square::before{content:"\F763"}.mdi-square-edit-outline::before{content:"\F90B"}.mdi-square-inc::before{content:"\F4CA"}.mdi-square-inc-cash::before{content:"\F4CB"}.mdi-square-medium::before{content:"\FA12"}.mdi-square-medium-outline::before{content:"\FA13"}.mdi-square-outline::before{content:"\F762"}.mdi-square-root::before{content:"\F783"}.mdi-square-root-box::before{content:"\F9A2"}.mdi-square-small::before{content:"\FA14"}.mdi-squeegee::before{content:"\FAE0"}.mdi-ssh::before{content:"\F8BF"}.mdi-stack-exchange::before{content:"\F60B"}.mdi-stack-overflow::before{content:"\F4CC"}.mdi-stadium::before{content:"\F71F"}.mdi-stairs::before{content:"\F4CD"}.mdi-stamper::before{content:"\FD15"}.mdi-standard-definition::before{content:"\F7EE"}.mdi-star::before{content:"\F4CE"}.mdi-star-box::before{content:"\FA72"}.mdi-star-box-outline::before{content:"\FA73"}.mdi-star-circle::before{content:"\F4CF"}.mdi-star-circle-outline::before{content:"\F9A3"}.mdi-star-face::before{content:"\F9A4"}.mdi-star-four-points::before{content:"\FAE1"}.mdi-star-four-points-outline::before{content:"\FAE2"}.mdi-star-half::before{content:"\F4D0"}.mdi-star-off::before{content:"\F4D1"}.mdi-star-outline::before{content:"\F4D2"}.mdi-star-three-points::before{content:"\FAE3"}.mdi-star-three-points-outline::before{content:"\FAE4"}.mdi-steam::before{content:"\F4D3"}.mdi-steam-box::before{content:"\F90C"}.mdi-steering::before{content:"\F4D4"}.mdi-steering-off::before{content:"\F90D"}.mdi-step-backward::before{content:"\F4D5"}.mdi-step-backward-2::before{content:"\F4D6"}.mdi-step-forward::before{content:"\F4D7"}.mdi-step-forward-2::before{content:"\F4D8"}.mdi-stethoscope::before{content:"\F4D9"}.mdi-sticker::before{content:"\F5D0"}.mdi-sticker-emoji::before{content:"\F784"}.mdi-stocking::before{content:"\F4DA"}.mdi-stop::before{content:"\F4DB"}.mdi-stop-circle::before{content:"\F666"}.mdi-stop-circle-outline::before{content:"\F667"}.mdi-store::before{content:"\F4DC"}.mdi-store-24-hour::before{content:"\F4DD"}.mdi-stove::before{content:"\F4DE"}.mdi-strava::before{content:"\FB25"}.mdi-stretch-to-page::before{content:"\FF48"}.mdi-stretch-to-page-outline::before{content:"\FF49"}.mdi-subdirectory-arrow-left::before{content:"\F60C"}.mdi-subdirectory-arrow-right::before{content:"\F60D"}.mdi-subtitles::before{content:"\FA15"}.mdi-subtitles-outline::before{content:"\FA16"}.mdi-subway::before{content:"\F6AB"}.mdi-subway-alert-variant::before{content:"\FD79"}.mdi-subway-variant::before{content:"\F4DF"}.mdi-summit::before{content:"\F785"}.mdi-sunglasses::before{content:"\F4E0"}.mdi-surround-sound::before{content:"\F5C5"}.mdi-surround-sound-2-0::before{content:"\F7EF"}.mdi-surround-sound-3-1::before{content:"\F7F0"}.mdi-surround-sound-5-1::before{content:"\F7F1"}.mdi-surround-sound-7-1::before{content:"\F7F2"}.mdi-svg::before{content:"\F720"}.mdi-swap-horizontal::before{content:"\F4E1"}.mdi-swap-horizontal-bold::before{content:"\FBA9"}.mdi-swap-horizontal-variant::before{content:"\F8C0"}.mdi-swap-vertical::before{content:"\F4E2"}.mdi-swap-vertical-bold::before{content:"\FBAA"}.mdi-swap-vertical-variant::before{content:"\F8C1"}.mdi-swim::before{content:"\F4E3"}.mdi-switch::before{content:"\F4E4"}.mdi-sword::before{content:"\F4E5"}.mdi-sword-cross::before{content:"\F786"}.mdi-symfony::before{content:"\FAE5"}.mdi-sync::before{content:"\F4E6"}.mdi-sync-alert::before{content:"\F4E7"}.mdi-sync-off::before{content:"\F4E8"}.mdi-tab::before{content:"\F4E9"}.mdi-tab-minus::before{content:"\FB26"}.mdi-tab-plus::before{content:"\F75B"}.mdi-tab-remove::before{content:"\FB27"}.mdi-tab-unselected::before{content:"\F4EA"}.mdi-table::before{content:"\F4EB"}.mdi-table-border::before{content:"\FA17"}.mdi-table-column::before{content:"\F834"}.mdi-table-column-plus-after::before{content:"\F4EC"}.mdi-table-column-plus-before::before{content:"\F4ED"}.mdi-table-column-remove::before{content:"\F4EE"}.mdi-table-column-width::before{content:"\F4EF"}.mdi-table-edit::before{content:"\F4F0"}.mdi-table-large::before{content:"\F4F1"}.mdi-table-large-plus::before{content:"\FFA4"}.mdi-table-large-remove::before{content:"\FFA5"}.mdi-table-merge-cells::before{content:"\F9A5"}.mdi-table-of-contents::before{content:"\F835"}.mdi-table-plus::before{content:"\FA74"}.mdi-table-remove::before{content:"\FA75"}.mdi-table-row::before{content:"\F836"}.mdi-table-row-height::before{content:"\F4F2"}.mdi-table-row-plus-after::before{content:"\F4F3"}.mdi-table-row-plus-before::before{content:"\F4F4"}.mdi-table-row-remove::before{content:"\F4F5"}.mdi-table-search::before{content:"\F90E"}.mdi-table-settings::before{content:"\F837"}.mdi-table-tennis::before{content:"\FE4B"}.mdi-tablet::before{content:"\F4F6"}.mdi-tablet-android::before{content:"\F4F7"}.mdi-tablet-cellphone::before{content:"\F9A6"}.mdi-tablet-dashboard::before{content:"\FEEB"}.mdi-tablet-ipad::before{content:"\F4F8"}.mdi-taco::before{content:"\F761"}.mdi-tag::before{content:"\F4F9"}.mdi-tag-faces::before{content:"\F4FA"}.mdi-tag-heart::before{content:"\F68A"}.mdi-tag-heart-outline::before{content:"\FBAB"}.mdi-tag-minus::before{content:"\F90F"}.mdi-tag-multiple::before{content:"\F4FB"}.mdi-tag-outline::before{content:"\F4FC"}.mdi-tag-plus::before{content:"\F721"}.mdi-tag-remove::before{content:"\F722"}.mdi-tag-text-outline::before{content:"\F4FD"}.mdi-tank::before{content:"\FD16"}.mdi-tape-measure::before{content:"\FB28"}.mdi-target::before{content:"\F4FE"}.mdi-target-account::before{content:"\FBAC"}.mdi-target-variant::before{content:"\FA76"}.mdi-taxi::before{content:"\F4FF"}.mdi-tea::before{content:"\FD7A"}.mdi-tea-outline::before{content:"\FD7B"}.mdi-teach::before{content:"\F88F"}.mdi-teamviewer::before{content:"\F500"}.mdi-telegram::before{content:"\F501"}.mdi-telescope::before{content:"\FB29"}.mdi-television::before{content:"\F502"}.mdi-television-box::before{content:"\F838"}.mdi-television-classic::before{content:"\F7F3"}.mdi-television-classic-off::before{content:"\F839"}.mdi-television-guide::before{content:"\F503"}.mdi-television-off::before{content:"\F83A"}.mdi-television-pause::before{content:"\FFA6"}.mdi-television-play::before{content:"\FEEC"}.mdi-television-stop::before{content:"\FFA7"}.mdi-temperature-celsius::before{content:"\F504"}.mdi-temperature-fahrenheit::before{content:"\F505"}.mdi-temperature-kelvin::before{content:"\F506"}.mdi-tennis::before{content:"\FD7C"}.mdi-tennis-ball::before{content:"\F507"}.mdi-tent::before{content:"\F508"}.mdi-terrain::before{content:"\F509"}.mdi-test-tube::before{content:"\F668"}.mdi-test-tube-empty::before{content:"\F910"}.mdi-test-tube-off::before{content:"\F911"}.mdi-text::before{content:"\F9A7"}.mdi-text-shadow::before{content:"\F669"}.mdi-text-short::before{content:"\F9A8"}.mdi-text-subject::before{content:"\F9A9"}.mdi-text-to-speech::before{content:"\F50A"}.mdi-text-to-speech-off::before{content:"\F50B"}.mdi-textbox::before{content:"\F60E"}.mdi-textbox-password::before{content:"\F7F4"}.mdi-texture::before{content:"\F50C"}.mdi-theater::before{content:"\F50D"}.mdi-theme-light-dark::before{content:"\F50E"}.mdi-thermometer::before{content:"\F50F"}.mdi-thermometer-alert::before{content:"\FE61"}.mdi-thermometer-chevron-down::before{content:"\FE62"}.mdi-thermometer-chevron-up::before{content:"\FE63"}.mdi-thermometer-lines::before{content:"\F510"}.mdi-thermometer-minus::before{content:"\FE64"}.mdi-thermometer-plus::before{content:"\FE65"}.mdi-thermostat::before{content:"\F393"}.mdi-thermostat-box::before{content:"\F890"}.mdi-thought-bubble::before{content:"\F7F5"}.mdi-thought-bubble-outline::before{content:"\F7F6"}.mdi-thumb-down::before{content:"\F511"}.mdi-thumb-down-outline::before{content:"\F512"}.mdi-thumb-up::before{content:"\F513"}.mdi-thumb-up-outline::before{content:"\F514"}.mdi-thumbs-up-down::before{content:"\F515"}.mdi-ticket::before{content:"\F516"}.mdi-ticket-account::before{content:"\F517"}.mdi-ticket-confirmation::before{content:"\F518"}.mdi-ticket-outline::before{content:"\F912"}.mdi-ticket-percent::before{content:"\F723"}.mdi-tie::before{content:"\F519"}.mdi-tilde::before{content:"\F724"}.mdi-timelapse::before{content:"\F51A"}.mdi-timeline::before{content:"\FBAD"}.mdi-timeline-alert::before{content:"\FFB2"}.mdi-timeline-alert-outline::before{content:"\FFB5"}.mdi-timeline-help::before{content:"\FFB6"}.mdi-timeline-help-outline::before{content:"\FFB7"}.mdi-timeline-outline::before{content:"\FBAE"}.mdi-timeline-plus::before{content:"\FFB3"}.mdi-timeline-plus-outline::before{content:"\FFB4"}.mdi-timeline-text::before{content:"\FBAF"}.mdi-timeline-text-outline::before{content:"\FBB0"}.mdi-timer::before{content:"\F51B"}.mdi-timer-10::before{content:"\F51C"}.mdi-timer-3::before{content:"\F51D"}.mdi-timer-off::before{content:"\F51E"}.mdi-timer-sand::before{content:"\F51F"}.mdi-timer-sand-empty::before{content:"\F6AC"}.mdi-timer-sand-full::before{content:"\F78B"}.mdi-timetable::before{content:"\F520"}.mdi-toaster-oven::before{content:"\FCAF"}.mdi-toggle-switch::before{content:"\F521"}.mdi-toggle-switch-off::before{content:"\F522"}.mdi-toggle-switch-off-outline::before{content:"\FA18"}.mdi-toggle-switch-outline::before{content:"\FA19"}.mdi-toilet::before{content:"\F9AA"}.mdi-toolbox::before{content:"\F9AB"}.mdi-toolbox-outline::before{content:"\F9AC"}.mdi-tooltip::before{content:"\F523"}.mdi-tooltip-account::before{content:"\F00C"}.mdi-tooltip-edit::before{content:"\F524"}.mdi-tooltip-image::before{content:"\F525"}.mdi-tooltip-image-outline::before{content:"\FBB1"}.mdi-tooltip-outline::before{content:"\F526"}.mdi-tooltip-plus::before{content:"\FBB2"}.mdi-tooltip-plus-outline::before{content:"\F527"}.mdi-tooltip-text::before{content:"\F528"}.mdi-tooltip-text-outline::before{content:"\FBB3"}.mdi-tooth::before{content:"\F8C2"}.mdi-tooth-outline::before{content:"\F529"}.mdi-tor::before{content:"\F52A"}.mdi-tortoise::before{content:"\FD17"}.mdi-tournament::before{content:"\F9AD"}.mdi-tower-beach::before{content:"\F680"}.mdi-tower-fire::before{content:"\F681"}.mdi-towing::before{content:"\F83B"}.mdi-track-light::before{content:"\F913"}.mdi-trackpad::before{content:"\F7F7"}.mdi-trackpad-lock::before{content:"\F932"}.mdi-tractor::before{content:"\F891"}.mdi-trademark::before{content:"\FA77"}.mdi-traffic-light::before{content:"\F52B"}.mdi-train::before{content:"\F52C"}.mdi-train-car::before{content:"\FBB4"}.mdi-train-variant::before{content:"\F8C3"}.mdi-tram::before{content:"\F52D"}.mdi-transcribe::before{content:"\F52E"}.mdi-transcribe-close::before{content:"\F52F"}.mdi-transfer-down::before{content:"\FD7D"}.mdi-transfer-left::before{content:"\FD7E"}.mdi-transfer-right::before{content:"\F530"}.mdi-transfer-up::before{content:"\FD7F"}.mdi-transit-connection::before{content:"\FD18"}.mdi-transit-connection-variant::before{content:"\FD19"}.mdi-transit-detour::before{content:"\FFA8"}.mdi-transit-transfer::before{content:"\F6AD"}.mdi-transition::before{content:"\F914"}.mdi-transition-masked::before{content:"\F915"}.mdi-translate::before{content:"\F5CA"}.mdi-translate-off::before{content:"\FE66"}.mdi-transmission-tower::before{content:"\FD1A"}.mdi-trash-can::before{content:"\FA78"}.mdi-trash-can-outline::before{content:"\FA79"}.mdi-treasure-chest::before{content:"\F725"}.mdi-tree::before{content:"\F531"}.mdi-tree-outline::before{content:"\FE4C"}.mdi-trello::before{content:"\F532"}.mdi-trending-down::before{content:"\F533"}.mdi-trending-neutral::before{content:"\F534"}.mdi-trending-up::before{content:"\F535"}.mdi-triangle::before{content:"\F536"}.mdi-triangle-outline::before{content:"\F537"}.mdi-triforce::before{content:"\FBB5"}.mdi-trophy::before{content:"\F538"}.mdi-trophy-award::before{content:"\F539"}.mdi-trophy-broken::before{content:"\FD80"}.mdi-trophy-outline::before{content:"\F53A"}.mdi-trophy-variant::before{content:"\F53B"}.mdi-trophy-variant-outline::before{content:"\F53C"}.mdi-truck::before{content:"\F53D"}.mdi-truck-check::before{content:"\FCB0"}.mdi-truck-delivery::before{content:"\F53E"}.mdi-truck-fast::before{content:"\F787"}.mdi-truck-trailer::before{content:"\F726"}.mdi-tshirt-crew::before{content:"\FA7A"}.mdi-tshirt-crew-outline::before{content:"\F53F"}.mdi-tshirt-v::before{content:"\FA7B"}.mdi-tshirt-v-outline::before{content:"\F540"}.mdi-tumble-dryer::before{content:"\F916"}.mdi-tumblr::before{content:"\F541"}.mdi-tumblr-box::before{content:"\F917"}.mdi-tumblr-reblog::before{content:"\F542"}.mdi-tune::before{content:"\F62E"}.mdi-tune-vertical::before{content:"\F66A"}.mdi-turnstile::before{content:"\FCB1"}.mdi-turnstile-outline::before{content:"\FCB2"}.mdi-turtle::before{content:"\FCB3"}.mdi-twitch::before{content:"\F543"}.mdi-twitter::before{content:"\F544"}.mdi-twitter-box::before{content:"\F545"}.mdi-twitter-circle::before{content:"\F546"}.mdi-twitter-retweet::before{content:"\F547"}.mdi-two-factor-authentication::before{content:"\F9AE"}.mdi-typewriter::before{content:"\FF4A"}.mdi-uber::before{content:"\F748"}.mdi-ubisoft::before{content:"\FBB6"}.mdi-ubuntu::before{content:"\F548"}.mdi-ultra-high-definition::before{content:"\F7F8"}.mdi-umbraco::before{content:"\F549"}.mdi-umbrella::before{content:"\F54A"}.mdi-umbrella-closed::before{content:"\F9AF"}.mdi-umbrella-outline::before{content:"\F54B"}.mdi-undo::before{content:"\F54C"}.mdi-undo-variant::before{content:"\F54D"}.mdi-unfold-less-horizontal::before{content:"\F54E"}.mdi-unfold-less-vertical::before{content:"\F75F"}.mdi-unfold-more-horizontal::before{content:"\F54F"}.mdi-unfold-more-vertical::before{content:"\F760"}.mdi-ungroup::before{content:"\F550"}.mdi-unicode::before{content:"\FEED"}.mdi-unity::before{content:"\F6AE"}.mdi-unreal::before{content:"\F9B0"}.mdi-untappd::before{content:"\F551"}.mdi-update::before{content:"\F6AF"}.mdi-upload::before{content:"\F552"}.mdi-upload-multiple::before{content:"\F83C"}.mdi-upload-network::before{content:"\F6F5"}.mdi-upload-network-outline::before{content:"\FCB4"}.mdi-upload-outline::before{content:"\FE67"}.mdi-usb::before{content:"\F553"}.mdi-van-passenger::before{content:"\F7F9"}.mdi-van-utility::before{content:"\F7FA"}.mdi-vanish::before{content:"\F7FB"}.mdi-variable::before{content:"\FAE6"}.mdi-vector-arrange-above::before{content:"\F554"}.mdi-vector-arrange-below::before{content:"\F555"}.mdi-vector-bezier::before{content:"\FAE7"}.mdi-vector-circle::before{content:"\F556"}.mdi-vector-circle-variant::before{content:"\F557"}.mdi-vector-combine::before{content:"\F558"}.mdi-vector-curve::before{content:"\F559"}.mdi-vector-difference::before{content:"\F55A"}.mdi-vector-difference-ab::before{content:"\F55B"}.mdi-vector-difference-ba::before{content:"\F55C"}.mdi-vector-ellipse::before{content:"\F892"}.mdi-vector-intersection::before{content:"\F55D"}.mdi-vector-line::before{content:"\F55E"}.mdi-vector-point::before{content:"\F55F"}.mdi-vector-polygon::before{content:"\F560"}.mdi-vector-polyline::before{content:"\F561"}.mdi-vector-radius::before{content:"\F749"}.mdi-vector-rectangle::before{content:"\F5C6"}.mdi-vector-selection::before{content:"\F562"}.mdi-vector-square::before{content:"\F001"}.mdi-vector-triangle::before{content:"\F563"}.mdi-vector-union::before{content:"\F564"}.mdi-venmo::before{content:"\F578"}.mdi-vhs::before{content:"\FA1A"}.mdi-vibrate::before{content:"\F566"}.mdi-vibrate-off::before{content:"\FCB5"}.mdi-video::before{content:"\F567"}.mdi-video-3d::before{content:"\F7FC"}.mdi-video-3d-variant::before{content:"\FEEE"}.mdi-video-4k-box::before{content:"\F83D"}.mdi-video-account::before{content:"\F918"}.mdi-video-image::before{content:"\F919"}.mdi-video-input-antenna::before{content:"\F83E"}.mdi-video-input-component::before{content:"\F83F"}.mdi-video-input-hdmi::before{content:"\F840"}.mdi-video-input-scart::before{content:"\FFA9"}.mdi-video-input-svideo::before{content:"\F841"}.mdi-video-minus::before{content:"\F9B1"}.mdi-video-off::before{content:"\F568"}.mdi-video-off-outline::before{content:"\FBB7"}.mdi-video-outline::before{content:"\FBB8"}.mdi-video-plus::before{content:"\F9B2"}.mdi-video-stabilization::before{content:"\F91A"}.mdi-video-switch::before{content:"\F569"}.mdi-video-vintage::before{content:"\FA1B"}.mdi-video-wireless::before{content:"\FEEF"}.mdi-video-wireless-outline::before{content:"\FEF0"}.mdi-view-agenda::before{content:"\F56A"}.mdi-view-array::before{content:"\F56B"}.mdi-view-carousel::before{content:"\F56C"}.mdi-view-column::before{content:"\F56D"}.mdi-view-comfy::before{content:"\FE4D"}.mdi-view-compact::before{content:"\FE4E"}.mdi-view-compact-outline::before{content:"\FE4F"}.mdi-view-dashboard::before{content:"\F56E"}.mdi-view-dashboard-outline::before{content:"\FA1C"}.mdi-view-dashboard-variant::before{content:"\F842"}.mdi-view-day::before{content:"\F56F"}.mdi-view-grid::before{content:"\F570"}.mdi-view-grid-plus::before{content:"\FFAA"}.mdi-view-headline::before{content:"\F571"}.mdi-view-list::before{content:"\F572"}.mdi-view-module::before{content:"\F573"}.mdi-view-parallel::before{content:"\F727"}.mdi-view-quilt::before{content:"\F574"}.mdi-view-sequential::before{content:"\F728"}.mdi-view-split-horizontal::before{content:"\FBA7"}.mdi-view-split-vertical::before{content:"\FBA8"}.mdi-view-stream::before{content:"\F575"}.mdi-view-week::before{content:"\F576"}.mdi-vimeo::before{content:"\F577"}.mdi-violin::before{content:"\F60F"}.mdi-virtual-reality::before{content:"\F893"}.mdi-visual-studio::before{content:"\F610"}.mdi-visual-studio-code::before{content:"\FA1D"}.mdi-vk::before{content:"\F579"}.mdi-vk-box::before{content:"\F57A"}.mdi-vk-circle::before{content:"\F57B"}.mdi-vlc::before{content:"\F57C"}.mdi-voice::before{content:"\F5CB"}.mdi-voice-off::before{content:"\FEF1"}.mdi-voicemail::before{content:"\F57D"}.mdi-volleyball::before{content:"\F9B3"}.mdi-volume-high::before{content:"\F57E"}.mdi-volume-low::before{content:"\F57F"}.mdi-volume-medium::before{content:"\F580"}.mdi-volume-minus::before{content:"\F75D"}.mdi-volume-mute::before{content:"\F75E"}.mdi-volume-off::before{content:"\F581"}.mdi-volume-plus::before{content:"\F75C"}.mdi-volume-variant-off::before{content:"\FE68"}.mdi-vote::before{content:"\FA1E"}.mdi-vote-outline::before{content:"\FA1F"}.mdi-vpn::before{content:"\F582"}.mdi-vuejs::before{content:"\F843"}.mdi-vuetify::before{content:"\FE50"}.mdi-walk::before{content:"\F583"}.mdi-wall::before{content:"\F7FD"}.mdi-wall-sconce::before{content:"\F91B"}.mdi-wall-sconce-flat::before{content:"\F91C"}.mdi-wall-sconce-variant::before{content:"\F91D"}.mdi-wallet::before{content:"\F584"}.mdi-wallet-giftcard::before{content:"\F585"}.mdi-wallet-membership::before{content:"\F586"}.mdi-wallet-outline::before{content:"\FBB9"}.mdi-wallet-plus::before{content:"\FFAB"}.mdi-wallet-plus-outline::before{content:"\FFAC"}.mdi-wallet-travel::before{content:"\F587"}.mdi-wallpaper::before{content:"\FE69"}.mdi-wan::before{content:"\F588"}.mdi-wardrobe::before{content:"\FFAD"}.mdi-wardrobe-outline::before{content:"\FFAE"}.mdi-warehouse::before{content:"\FFBB"}.mdi-washing-machine::before{content:"\F729"}.mdi-watch::before{content:"\F589"}.mdi-watch-export::before{content:"\F58A"}.mdi-watch-export-variant::before{content:"\F894"}.mdi-watch-import::before{content:"\F58B"}.mdi-watch-import-variant::before{content:"\F895"}.mdi-watch-variant::before{content:"\F896"}.mdi-watch-vibrate::before{content:"\F6B0"}.mdi-watch-vibrate-off::before{content:"\FCB6"}.mdi-water::before{content:"\F58C"}.mdi-water-boiler::before{content:"\FFAF"}.mdi-water-off::before{content:"\F58D"}.mdi-water-outline::before{content:"\FE6A"}.mdi-water-percent::before{content:"\F58E"}.mdi-water-pump::before{content:"\F58F"}.mdi-water-pump-off::before{content:"\FFB0"}.mdi-watermark::before{content:"\F612"}.mdi-wave::before{content:"\FF4B"}.mdi-waves::before{content:"\F78C"}.mdi-waze::before{content:"\FBBA"}.mdi-weather-cloudy::before{content:"\F590"}.mdi-weather-cloudy-alert::before{content:"\FF4C"}.mdi-weather-cloudy-arrow-right::before{content:"\FE51"}.mdi-weather-fog::before{content:"\F591"}.mdi-weather-hail::before{content:"\F592"}.mdi-weather-hazy::before{content:"\FF4D"}.mdi-weather-hurricane::before{content:"\F897"}.mdi-weather-lightning::before{content:"\F593"}.mdi-weather-lightning-rainy::before{content:"\F67D"}.mdi-weather-night::before{content:"\F594"}.mdi-weather-night-partly-cloudy::before{content:"\FF4E"}.mdi-weather-partly-cloudy::before{content:"\F595"}.mdi-weather-partly-lightning::before{content:"\FF4F"}.mdi-weather-partly-rainy::before{content:"\FF50"}.mdi-weather-partly-snowy::before{content:"\FF51"}.mdi-weather-partly-snowy-rainy::before{content:"\FF52"}.mdi-weather-pouring::before{content:"\F596"}.mdi-weather-rainy::before{content:"\F597"}.mdi-weather-snowy::before{content:"\F598"}.mdi-weather-snowy-heavy::before{content:"\FF53"}.mdi-weather-snowy-rainy::before{content:"\F67E"}.mdi-weather-sunny::before{content:"\F599"}.mdi-weather-sunny-alert::before{content:"\FF54"}.mdi-weather-sunset::before{content:"\F59A"}.mdi-weather-sunset-down::before{content:"\F59B"}.mdi-weather-sunset-up::before{content:"\F59C"}.mdi-weather-tornado::before{content:"\FF55"}.mdi-weather-windy::before{content:"\F59D"}.mdi-weather-windy-variant::before{content:"\F59E"}.mdi-web::before{content:"\F59F"}.mdi-web-box::before{content:"\FFB1"}.mdi-webcam::before{content:"\F5A0"}.mdi-webhook::before{content:"\F62F"}.mdi-webpack::before{content:"\F72A"}.mdi-wechat::before{content:"\F611"}.mdi-weight::before{content:"\F5A1"}.mdi-weight-gram::before{content:"\FD1B"}.mdi-weight-kilogram::before{content:"\F5A2"}.mdi-weight-pound::before{content:"\F9B4"}.mdi-whatsapp::before{content:"\F5A3"}.mdi-wheelchair-accessibility::before{content:"\F5A4"}.mdi-whistle::before{content:"\F9B5"}.mdi-white-balance-auto::before{content:"\F5A5"}.mdi-white-balance-incandescent::before{content:"\F5A6"}.mdi-white-balance-iridescent::before{content:"\F5A7"}.mdi-white-balance-sunny::before{content:"\F5A8"}.mdi-widgets::before{content:"\F72B"}.mdi-wifi::before{content:"\F5A9"}.mdi-wifi-off::before{content:"\F5AA"}.mdi-wifi-star::before{content:"\FE6B"}.mdi-wifi-strength-1::before{content:"\F91E"}.mdi-wifi-strength-1-alert::before{content:"\F91F"}.mdi-wifi-strength-1-lock::before{content:"\F920"}.mdi-wifi-strength-2::before{content:"\F921"}.mdi-wifi-strength-2-alert::before{content:"\F922"}.mdi-wifi-strength-2-lock::before{content:"\F923"}.mdi-wifi-strength-3::before{content:"\F924"}.mdi-wifi-strength-3-alert::before{content:"\F925"}.mdi-wifi-strength-3-lock::before{content:"\F926"}.mdi-wifi-strength-4::before{content:"\F927"}.mdi-wifi-strength-4-alert::before{content:"\F928"}.mdi-wifi-strength-4-lock::before{content:"\F929"}.mdi-wifi-strength-alert-outline::before{content:"\F92A"}.mdi-wifi-strength-lock-outline::before{content:"\F92B"}.mdi-wifi-strength-off::before{content:"\F92C"}.mdi-wifi-strength-off-outline::before{content:"\F92D"}.mdi-wifi-strength-outline::before{content:"\F92E"}.mdi-wii::before{content:"\F5AB"}.mdi-wiiu::before{content:"\F72C"}.mdi-wikipedia::before{content:"\F5AC"}.mdi-wind-turbine::before{content:"\FD81"}.mdi-window-close::before{content:"\F5AD"}.mdi-window-closed::before{content:"\F5AE"}.mdi-window-maximize::before{content:"\F5AF"}.mdi-window-minimize::before{content:"\F5B0"}.mdi-window-open::before{content:"\F5B1"}.mdi-window-restore::before{content:"\F5B2"}.mdi-windows::before{content:"\F5B3"}.mdi-windows-classic::before{content:"\FA20"}.mdi-wiper::before{content:"\FAE8"}.mdi-wiper-wash::before{content:"\FD82"}.mdi-wordpress::before{content:"\F5B4"}.mdi-worker::before{content:"\F5B5"}.mdi-wrap::before{content:"\F5B6"}.mdi-wrap-disabled::before{content:"\FBBB"}.mdi-wrench::before{content:"\F5B7"}.mdi-wrench-outline::before{content:"\FBBC"}.mdi-wunderlist::before{content:"\F5B8"}.mdi-xamarin::before{content:"\F844"}.mdi-xamarin-outline::before{content:"\F845"}.mdi-xaml::before{content:"\F673"}.mdi-xbox::before{content:"\F5B9"}.mdi-xbox-controller::before{content:"\F5BA"}.mdi-xbox-controller-battery-alert::before{content:"\F74A"}.mdi-xbox-controller-battery-charging::before{content:"\FA21"}.mdi-xbox-controller-battery-empty::before{content:"\F74B"}.mdi-xbox-controller-battery-full::before{content:"\F74C"}.mdi-xbox-controller-battery-low::before{content:"\F74D"}.mdi-xbox-controller-battery-medium::before{content:"\F74E"}.mdi-xbox-controller-battery-unknown::before{content:"\F74F"}.mdi-xbox-controller-menu::before{content:"\FE52"}.mdi-xbox-controller-off::before{content:"\F5BB"}.mdi-xbox-controller-view::before{content:"\FE53"}.mdi-xda::before{content:"\F5BC"}.mdi-xing::before{content:"\F5BD"}.mdi-xing-box::before{content:"\F5BE"}.mdi-xing-circle::before{content:"\F5BF"}.mdi-xml::before{content:"\F5C0"}.mdi-xmpp::before{content:"\F7FE"}.mdi-yahoo::before{content:"\FB2A"}.mdi-yammer::before{content:"\F788"}.mdi-yeast::before{content:"\F5C1"}.mdi-yelp::before{content:"\F5C2"}.mdi-yin-yang::before{content:"\F67F"}.mdi-youtube::before{content:"\F5C3"}.mdi-youtube-creator-studio::before{content:"\F846"}.mdi-youtube-gaming::before{content:"\F847"}.mdi-youtube-subscription::before{content:"\FD1C"}.mdi-youtube-tv::before{content:"\F448"}.mdi-z-wave::before{content:"\FAE9"}.mdi-zend::before{content:"\FAEA"}.mdi-zigbee::before{content:"\FD1D"}.mdi-zip-box::before{content:"\F5C4"}.mdi-zip-disk::before{content:"\FA22"}.mdi-zodiac-aquarius::before{content:"\FA7C"}.mdi-zodiac-aries::before{content:"\FA7D"}.mdi-zodiac-cancer::before{content:"\FA7E"}.mdi-zodiac-capricorn::before{content:"\FA7F"}.mdi-zodiac-gemini::before{content:"\FA80"}.mdi-zodiac-leo::before{content:"\FA81"}.mdi-zodiac-libra::before{content:"\FA82"}.mdi-zodiac-pisces::before{content:"\FA83"}.mdi-zodiac-sagittarius::before{content:"\FA84"}.mdi-zodiac-scorpio::before{content:"\FA85"}.mdi-zodiac-taurus::before{content:"\FA86"}.mdi-zodiac-virgo::before{content:"\FA87"}.mdi-blank::before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,0.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,0.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:rgba(255,255,255,0.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s infinite linear;animation:mdi-spin 2s infinite linear}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} -/*# sourceMappingURL=materialdesignicons.css.map */ +/*# sourceMappingURL=materialdesignicons.css.map */ \ No newline at end of file diff --git a/notemyprogress/db/access.php b/notemyprogress/db/access.php index 121fe7a6850b9ab1fff01ad875af86422862378c..2786396a81a1228398b5725e282a702132c2c3a8 100644 --- a/notemyprogress/db/access.php +++ b/notemyprogress/db/access.php @@ -147,20 +147,4 @@ $capabilities = array( 'student' => CAP_ALLOW, ) ), - 'local/notemyprogress:teacher_gamification' => array( - 'captype' => 'read', - 'contextlevel' => CONTEXT_COURSE, - 'archetypes' => array( - 'teacher' => CAP_ALLOW, - 'editingteacher' => CAP_ALLOW, - 'manager' => CAP_ALLOW - ) - ), - 'local/notemyprogress:student_gamification' => array( - 'captype' => 'read', - 'contextlevel' => CONTEXT_COURSE, - 'archetypes' => array( - 'student' => CAP_ALLOW, - ) - ), ); diff --git a/notemyprogress/db/events.php b/notemyprogress/db/events.php deleted file mode 100644 index 7a10a57177ecef0ccf703d1627f16cecf33da2d9..0000000000000000000000000000000000000000 --- a/notemyprogress/db/events.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * Observers - * - * @package local_notemyprogress - * @autor Edisson Sigua, Bryan Aguilar - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined('MOODLE_INTERNAL') || die(); - -$observers = [ - [ - 'eventname' => '*', - 'callback' => 'local_notemyprogress\\observer\\observer::catch_all', - 'internal' => false - ], - [ - 'eventname' => '\\core\\event\\course_deleted', - 'callback' => 'local_notemyprogress\\observer\\observer::course_deleted' - ] -]; \ No newline at end of file diff --git a/notemyprogress/db/install.php b/notemyprogress/db/install.php index 84fd8876a68266ce049c7bf16ad191da451b5b3e..fd09075bed015d8f414c66dd8b2bd5f009283f0a 100644 --- a/notemyprogress/db/install.php +++ b/notemyprogress/db/install.php @@ -29,5 +29,6 @@ defined('MOODLE_INTERNAL') || die(); * Custom code to be run on installing the plugin. */ function xmldb_local_notemyprogress_install() { + return true; } diff --git a/notemyprogress/db/install.xml b/notemyprogress/db/install.xml index a7cf9d07ccd68784f528b3930e12c976cd46a9d5..7eda5329e435b2d03fed4ae93b4fab84a3bf4716 100644 --- a/notemyprogress/db/install.xml +++ b/notemyprogress/db/install.xml @@ -88,59 +88,5 @@ <INDEX NAME="userid" UNIQUE="false" FIELDS="userid" HINTS="userid" COMMENT="userid index"/> </INDEXES> </TABLE> - <TABLE NAME="notemyprogress_levels_data" COMMENT="Default comment for the table, please edit me"> - <FIELDS> - <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> - <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="levelsdata" TYPE="text" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="settings" TYPE="text" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="rules" TYPE="text" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="created_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="modified_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME ="timedeleted" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/> - </FIELDS> - <KEYS> - <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - </KEYS> - </TABLE> - <TABLE NAME="notemyprogress_xp" COMMENT="Esta tabla contiene el nivel y los puntos de experiencia de los usuarios"> - <FIELDS> - <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> - <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="points" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="level" TYPE="int" LENGTH="5" NOTNULL="false" SEQUENCE="false"/> - </FIELDS> - <KEYS> - <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - </KEYS> - </TABLE> - <TABLE NAME="notemyprogress_xp_log" COMMENT="Esta tabla almacena los eventos por los cuales los estudiantes reciben puntos de experiencia"> - <FIELDS> - <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> - <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="event" TYPE="text" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="points" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - </FIELDS> - <KEYS> - <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - </KEYS> - </TABLE> - <TABLE NAME="notemyprogress_times" COMMENT="notemyprogress students times"> - <FIELDS> - <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> - <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - <FIELD NAME="weeks" TYPE="text" NOTNULL="false" SEQUENCE="false"/> - <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/> - </FIELDS> - <KEYS> - <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - </KEYS> - </TABLE> - </TABLES> + </TABLES> </XMLDB> \ No newline at end of file diff --git a/notemyprogress/db/services.php b/notemyprogress/db/services.php deleted file mode 100644 index 9784a00f6fd570a83711313ac91fc3bebc5d00a3..0000000000000000000000000000000000000000 --- a/notemyprogress/db/services.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * This file defines available ajax calls for mod_millionaire. - * - * @package mod_millionaire - * @copyright 2019 Benedikt Kulmann <b@kulmann.biz> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -$functions = [ - 'local_notemyprogress_get_levels' => [ - 'classname' => 'local_notemyprogress\external\external', - 'methodname' => 'get_levels', - 'description' => 'Get levels for the game overview.', - 'type' => 'read', - 'ajax' => true, - ], -]; \ No newline at end of file diff --git a/notemyprogress/gamification.php b/notemyprogress/gamification.php deleted file mode 100644 index 4a32d7751800de10ad1b1cceaafc055206835866..0000000000000000000000000000000000000000 --- a/notemyprogress/gamification.php +++ /dev/null @@ -1,108 +0,0 @@ -<?php - -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * local notemyprogress - * - * @package local_notemyprogress - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -require_once('locallib.php'); -global $COURSE, $USER; - -$courseid = required_param('courseid', PARAM_INT); -$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); -$context = context_course::instance($course->id); - -$url = '/local/notemyprogress/gamification.php'; -local_notemyprogress_set_page($course, $url); - -require_capability('local/notemyprogress:usepluggin', $context); -require_capability('local/notemyprogress:teacher_gamification', $context); -require_capability('local/notemyprogress:setweeks', $context); - -$actualLink = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; - -$logs = new \local_notemyprogress\logs($COURSE->id, $USER->id); -$logs->addLogsNMP("viewed", "section", "CONFIGURATION_GAMIFICATION", "configuration_gamification", $actualLink, "Section where teacher can configure gamification"); - - -$configgamification = new \local_notemyprogress\configgamification($COURSE->id, $USER->id); -$es = new \local_notemyprogress\event_strategy($COURSE, $USER); - -$content = [ - 'strings' =>[ - 'title' => get_string('tg_section_title', 'local_notemyprogress'), - 'help_title' => get_string('tg_section_help_title', 'local_notemyprogress'), - 'help_description' => get_string('tg_section_help_description', 'local_notemyprogress'), - 'helplabel' => get_string("helplabel","local_notemyprogress"), - 'error_network' => get_string('fml_api_error_network', 'local_notemyprogress'), - 'save_successful' => get_string('fml_api_save_successful', 'local_notemyprogress'), - 'cancel_action' => get_string('fml_api_cancel_action', 'local_notemyprogress'), - 'save_warning_title' => get_string('tg_save_warning_title', 'local_notemyprogress'), - 'save_warning_content' => get_string('tg_save_warning_content', 'local_notemyprogress'), - 'confirm_ok' => get_string('tg_confirm_ok', 'local_notemyprogress'), - 'confirm_cancel' => get_string('tg_confirm_cancel', 'local_notemyprogress'), - 'exitbutton' => get_string("exitbutton","local_notemyprogress"), - 'save' => get_string("tg_save","local_notemyprogress"), - 'preview' => get_string("tg_section_preview","local_notemyprogress"), - 'information' => get_string("tg_section_information","local_notemyprogress"), - 'ranking' => get_string("tg_section_ranking","local_notemyprogress"), - 'settings' => get_string("tg_section_settings","local_notemyprogress"), - 'points' => get_string("tg_section_points","local_notemyprogress"), - 'no_description' => get_string("tg_section_no_description","local_notemyprogress"), - 'no_name' => get_string("tg_section_no_name","local_notemyprogress"), - 'description' => get_string("tg_section_description","local_notemyprogress"), - 'to_next_level' => get_string("tg_section_preview_next_level","local_notemyprogress"), - 'ranking_text' => get_string("tg_section_ranking_ranking_text","local_notemyprogress"), - 'level' => get_string("tg_section_ranking_level","local_notemyprogress"), - 'student' => get_string("tg_section_ranking_student","local_notemyprogress"), - 'total' => get_string("tg_section_ranking_total","local_notemyprogress"), - 'progress' => get_string("tg_section_ranking_progress","local_notemyprogress"), - 'appearance' => get_string("tg_section_settings_appearance","local_notemyprogress"), - 'appearance_title' => get_string("tg_section_settings_appearance_title","local_notemyprogress"), - 'settings_level' => get_string("tg_section_settings_levels","local_notemyprogress"), - 'quantity' => get_string("tg_section_settings_levels_quantity","local_notemyprogress"), - 'base_points' => get_string("tg_section_settings_levels_base_points","local_notemyprogress"), - 'calculated' => get_string("tg_section_settings_levels_calculated","local_notemyprogress"), - 'manually' => get_string("tg_section_settings_levels_manually","local_notemyprogress"), - 'name' => get_string("tg_section_settings_levels_name","local_notemyprogress"), - 'levels_required' => get_string("tg_section_settings_levels_required","local_notemyprogress"), - 'rules' => get_string("tg_section_settings_rules","local_notemyprogress"), - 'add_rule' => get_string("tg_section_settings_add_rule","local_notemyprogress"), - 'earn' => get_string("tg_section_settings_earn","local_notemyprogress"), - 'select_event' => get_string("tg_section_settings_select_event","local_notemyprogress"), - - ], - 'token' => local_notemyprogress_generate_token($COURSE->id, $USER->id, "teacher"), -// 'userid' => $USER->id, -// 'courseid' => $courseid, - 'levels_data' => $configgamification->get_levels_data(), - 'ranking' => $es->get_ranking(), - 'events' => $configgamification->events_list(), - 'image' => $OUTPUT->image_url('badge', 'local_notemyprogress') -]; - -$templatecontext = [ - 'image' => $OUTPUT->image_url('badge', 'local_notemyprogress') -]; - -$PAGE->requires->js_call_amd('local_notemyprogress/gamification','init', ['content' => $content]); -echo $OUTPUT->header(); -echo $OUTPUT->render_from_template('local_notemyprogress/gamification', $templatecontext); -echo $OUTPUT->footer(); \ No newline at end of file diff --git a/notemyprogress/js/alertify.js b/notemyprogress/js/alertify.js index 33a34522a46302071f7a3ef8f509c40a93b2749a..745a8a92965c172f231b528782f35106efec7de0 100644 --- a/notemyprogress/js/alertify.js +++ b/notemyprogress/js/alertify.js @@ -1,3831 +1,3609 @@ /** * alertifyjs 1.11.4 http://alertifyjs.com * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) + * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/ -(function (window) { - "use strict"; - - /** - * Keys enum - * @type {Object} - */ - var keys = { - ENTER: 13, - ESC: 27, - F1: 112, - F12: 123, - LEFT: 37, - RIGHT: 39, - }; - /** - * Default options - * @type {Object} - */ - var defaults = { - autoReset: true, - basic: false, - closable: true, - closableByDimmer: true, - frameless: false, - maintainFocus: true, //global default not per instance, applies to all dialogs - maximizable: true, - modal: true, - movable: true, - moveBounded: false, - overflow: true, - padding: true, - pinnable: true, - pinned: true, - preventBodyShift: false, //global default not per instance, applies to all dialogs - resizable: true, - startMaximized: false, - transition: "pulse", - notifier: { - delay: 5, - position: "bottom-right", - closeButton: false, - }, - glossary: { - title: "AlertifyJS", - ok: "OK", - cancel: "Cancel", - acccpt: "Accept", - deny: "Deny", - confirm: "Confirm", - decline: "Decline", - close: "Close", - maximize: "Maximize", - restore: "Restore", - }, - theme: { - input: "ajs-input", - ok: "ajs-ok", - cancel: "ajs-cancel", - }, - }; - - //holds open dialogs instances - var openDialogs = []; - - /** - * [Helper] Adds the specified class(es) to the element. - * - * @element {node} The element - * @className {string} One or more space-separated classes to be added to the class attribute of the element. - * - * @return {undefined} - */ - function addClass(element, classNames) { - element.className += " " + classNames; - } - - /** - * [Helper] Removes the specified class(es) from the element. - * - * @element {node} The element - * @className {string} One or more space-separated classes to be removed from the class attribute of the element. - * - * @return {undefined} - */ - function removeClass(element, classNames) { - var original = element.className.split(" "); - var toBeRemoved = classNames.split(" "); - for (var x = 0; x < toBeRemoved.length; x += 1) { - var index = original.indexOf(toBeRemoved[x]); - if (index > -1) { - original.splice(index, 1); - } - } - element.className = original.join(" "); - } - - /** - * [Helper] Checks if the document is RTL - * - * @return {Boolean} True if the document is RTL, false otherwise. - */ - function isRightToLeft() { - return window.getComputedStyle(document.body).direction === "rtl"; - } - /** - * [Helper] Get the document current scrollTop - * - * @return {Number} current document scrollTop value - */ - function getScrollTop() { - return ( - (document.documentElement && document.documentElement.scrollTop) || - document.body.scrollTop - ); - } - - /** - * [Helper] Get the document current scrollLeft - * - * @return {Number} current document scrollLeft value - */ - function getScrollLeft() { - return ( - (document.documentElement && document.documentElement.scrollLeft) || - document.body.scrollLeft - ); - } - - /** - * Helper: clear contents - * - */ - function clearContents(element) { - while (element.lastChild) { - element.removeChild(element.lastChild); - } - } - /** - * Extends a given prototype by merging properties from base into sub. - * - * @sub {Object} sub The prototype being overwritten. - * @base {Object} base The prototype being written. - * - * @return {Object} The extended prototype. - */ - function copy(src) { - if (null === src) { - return src; - } - var cpy; - if (Array.isArray(src)) { - cpy = []; - for (var x = 0; x < src.length; x += 1) { - cpy.push(copy(src[x])); - } - return cpy; - } - - if (src instanceof Date) { - return new Date(src.getTime()); - } - - if (src instanceof RegExp) { - cpy = new RegExp(src.source); - cpy.global = src.global; - cpy.ignoreCase = src.ignoreCase; - cpy.multiline = src.multiline; - cpy.lastIndex = src.lastIndex; - return cpy; - } - - if (typeof src === "object") { - cpy = {}; - // copy dialog pototype over definition. - for (var prop in src) { - if (src.hasOwnProperty(prop)) { - cpy[prop] = copy(src[prop]); - } - } - return cpy; - } - return src; - } - /** - * Helper: destruct the dialog - * - */ - function destruct(instance, initialize) { - if (instance.elements) { - //delete the dom and it's references. - var root = instance.elements.root; - root.parentNode.removeChild(root); - delete instance.elements; - //copy back initial settings. - instance.settings = copy(instance.__settings); - //re-reference init function. - instance.__init = initialize; - //delete __internal variable to allow re-initialization. - delete instance.__internal; - } - } - - /** - * Use a closure to return proper event listener method. Try to use - * `addEventListener` by default but fallback to `attachEvent` for - * unsupported browser. The closure simply ensures that the test doesn't - * happen every time the method is called. - * - * @param {Node} el Node element - * @param {String} event Event type - * @param {Function} fn Callback of event - * @return {Function} - */ - var on = (function () { - if (document.addEventListener) { - return function (el, event, fn, useCapture) { - el.addEventListener(event, fn, useCapture === true); - }; - } else if (document.attachEvent) { - return function (el, event, fn) { - el.attachEvent("on" + event, fn); - }; - } - })(); - - /** - * Use a closure to return proper event listener method. Try to use - * `removeEventListener` by default but fallback to `detachEvent` for - * unsupported browser. The closure simply ensures that the test doesn't - * happen every time the method is called. - * - * @param {Node} el Node element - * @param {String} event Event type - * @param {Function} fn Callback of event - * @return {Function} - */ - var off = (function () { - if (document.removeEventListener) { - return function (el, event, fn, useCapture) { - el.removeEventListener(event, fn, useCapture === true); - }; - } else if (document.detachEvent) { - return function (el, event, fn) { - el.detachEvent("on" + event, fn); - }; - } - })(); - - /** - * Prevent default event from firing - * - * @param {Event} event Event object - * @return {undefined} - - function prevent ( event ) { - if ( event ) { - if ( event.preventDefault ) { - event.preventDefault(); - } else { - event.returnValue = false; - } - } - } - */ - var transition = (function () { - var t, type; - var supported = false; - var transitions = { - animation: "animationend", - OAnimation: "oAnimationEnd oanimationend", - msAnimation: "MSAnimationEnd", - MozAnimation: "animationend", - WebkitAnimation: "webkitAnimationEnd", - }; - - for (t in transitions) { - if (document.documentElement.style[t] !== undefined) { - type = transitions[t]; - supported = true; - break; - } - } - - return { - type: type, - supported: supported, - }; - })(); - - /** - * Creates event handler delegate that sends the instance as last argument. - * - * @return {Function} a function wrapper which sends the instance as last argument. - */ - function delegate(context, method) { - return function () { - if (arguments.length > 0) { - var args = []; - for (var x = 0; x < arguments.length; x += 1) { - args.push(arguments[x]); - } - args.push(context); - return method.apply(context, args); - } - return method.apply(context, [null, context]); - }; - } - /** - * Helper for creating a dialog close event. - * - * @return {object} - */ - function createCloseEvent(index, button) { - return { - index: index, - button: button, - cancel: false, - }; - } - /** - * Helper for dispatching events. - * - * @param {string} evenType The type of the event to disptach. - * @param {object} instance The dialog instance disptaching the event. - * - * @return {any} The result of the invoked function. - */ - function dispatchEvent(eventType, instance) { - if (typeof instance.get(eventType) === "function") { - return instance.get(eventType).call(instance); - } - } - - /** - * Super class for all dialogs - * - * @return {Object} base dialog prototype - */ - var dialog = (function () { - var //holds the list of used keys. - usedKeys = [], - //dummy variable, used to trigger dom reflow. - reflow = null, - //holds body tab index in case it has any. - tabindex = false, - //condition for detecting safari - isSafari = - window.navigator.userAgent.indexOf("Safari") > -1 && - window.navigator.userAgent.indexOf("Chrome") < 0, - //dialog building blocks - templates = { - dimmer: '<div class="ajs-dimmer"></div>', - /*tab index required to fire click event before body focus*/ - modal: '<div class="ajs-modal" tabindex="0"></div>', - dialog: '<div class="ajs-dialog" tabindex="0"></div>', - reset: '<button class="ajs-reset"></button>', - commands: - '<div class="ajs-commands"><button class="ajs-pin"></button><button class="ajs-maximize"></button><button class="ajs-close"></button></div>', - header: '<div class="ajs-header"></div>', - body: '<div class="ajs-body"></div>', - content: '<div class="ajs-content"></div>', - footer: '<div class="ajs-footer"></div>', - buttons: { - primary: '<div class="ajs-primary ajs-buttons"></div>', - auxiliary: '<div class="ajs-auxiliary ajs-buttons"></div>', - }, - button: '<button class="ajs-button"></button>', - resizeHandle: '<div class="ajs-handle"></div>', - }, - //common class names - classes = { - animationIn: "ajs-in", - animationOut: "ajs-out", - base: "alertify", - basic: "ajs-basic", - capture: "ajs-capture", - closable: "ajs-closable", - fixed: "ajs-fixed", - frameless: "ajs-frameless", - hidden: "ajs-hidden", - maximize: "ajs-maximize", - maximized: "ajs-maximized", - maximizable: "ajs-maximizable", - modeless: "ajs-modeless", - movable: "ajs-movable", - noSelection: "ajs-no-selection", - noOverflow: "ajs-no-overflow", - noPadding: "ajs-no-padding", - pin: "ajs-pin", - pinnable: "ajs-pinnable", - prefix: "ajs-", - resizable: "ajs-resizable", - restore: "ajs-restore", - shake: "ajs-shake", - unpinned: "ajs-unpinned", - }; - - /** - * Helper: initializes the dialog instance - * - * @return {Number} The total count of currently open modals. - */ - function initialize(instance) { - if (!instance.__internal) { - //no need to expose init after this. - delete instance.__init; - - //keep a copy of initial dialog settings - if (!instance.__settings) { - instance.__settings = copy(instance.settings); - } - - //get dialog buttons/focus setup - var setup; - if (typeof instance.setup === "function") { - setup = instance.setup(); - setup.options = setup.options || {}; - setup.focus = setup.focus || {}; - } else { - setup = { - buttons: [], - focus: { - element: null, - select: false, - }, - options: {}, - }; - } - - //initialize hooks object. - if (typeof instance.hooks !== "object") { - instance.hooks = {}; - } - - //copy buttons defintion - var buttonsDefinition = []; - if (Array.isArray(setup.buttons)) { - for (var b = 0; b < setup.buttons.length; b += 1) { - var ref = setup.buttons[b], - cpy = {}; - for (var i in ref) { - if (ref.hasOwnProperty(i)) { - cpy[i] = ref[i]; - } - } - buttonsDefinition.push(cpy); - } - } - - var internal = (instance.__internal = { - /** - * Flag holding the open state of the dialog - * - * @type {Boolean} - */ - isOpen: false, - /** - * Active element is the element that will receive focus after - * closing the dialog. It defaults as the body tag, but gets updated - * to the last focused element before the dialog was opened. - * - * @type {Node} - */ - activeElement: document.body, - timerIn: undefined, - timerOut: undefined, - buttons: buttonsDefinition, - focus: setup.focus, - options: { - title: undefined, - modal: undefined, - basic: undefined, - frameless: undefined, - pinned: undefined, - movable: undefined, - moveBounded: undefined, - resizable: undefined, - autoReset: undefined, - closable: undefined, - closableByDimmer: undefined, - maximizable: undefined, - startMaximized: undefined, - pinnable: undefined, - transition: undefined, - padding: undefined, - overflow: undefined, - onshow: undefined, - onclosing: undefined, - onclose: undefined, - onfocus: undefined, - onmove: undefined, - onmoved: undefined, - onresize: undefined, - onresized: undefined, - onmaximize: undefined, - onmaximized: undefined, - onrestore: undefined, - onrestored: undefined, - }, - resetHandler: undefined, - beginMoveHandler: undefined, - beginResizeHandler: undefined, - bringToFrontHandler: undefined, - modalClickHandler: undefined, - buttonsClickHandler: undefined, - commandsClickHandler: undefined, - transitionInHandler: undefined, - transitionOutHandler: undefined, - destroy: undefined, - }); - - var elements = {}; - //root node - elements.root = document.createElement("div"); - //prevent FOUC in case of async styles loading. - elements.root.style.display = "none"; - elements.root.className = classes.base + " " + classes.hidden + " "; - - elements.root.innerHTML = templates.dimmer + templates.modal; - - //dimmer - elements.dimmer = elements.root.firstChild; - - //dialog - elements.modal = elements.root.lastChild; - elements.modal.innerHTML = templates.dialog; - elements.dialog = elements.modal.firstChild; - elements.dialog.innerHTML = - templates.reset + - templates.commands + - templates.header + - templates.body + - templates.footer + - templates.resizeHandle + - templates.reset; - - //reset links - elements.reset = []; - elements.reset.push(elements.dialog.firstChild); - elements.reset.push(elements.dialog.lastChild); - - //commands - elements.commands = {}; - elements.commands.container = elements.reset[0].nextSibling; - elements.commands.pin = elements.commands.container.firstChild; - elements.commands.maximize = elements.commands.pin.nextSibling; - elements.commands.close = elements.commands.maximize.nextSibling; - - //header - elements.header = elements.commands.container.nextSibling; - - //body - elements.body = elements.header.nextSibling; - elements.body.innerHTML = templates.content; - elements.content = elements.body.firstChild; - - //footer - elements.footer = elements.body.nextSibling; - elements.footer.innerHTML = - templates.buttons.auxiliary + templates.buttons.primary; - - //resize handle - elements.resizeHandle = elements.footer.nextSibling; - - //buttons - elements.buttons = {}; - elements.buttons.auxiliary = elements.footer.firstChild; - elements.buttons.primary = elements.buttons.auxiliary.nextSibling; - elements.buttons.primary.innerHTML = templates.button; - elements.buttonTemplate = elements.buttons.primary.firstChild; - //remove button template - elements.buttons.primary.removeChild(elements.buttonTemplate); - - for (var x = 0; x < instance.__internal.buttons.length; x += 1) { - var button = instance.__internal.buttons[x]; - - // add to the list of used keys. - if (usedKeys.indexOf(button.key) < 0) { - usedKeys.push(button.key); - } - - button.element = elements.buttonTemplate.cloneNode(); - button.element.innerHTML = button.text; - if (typeof button.className === "string" && button.className !== "") { - addClass(button.element, button.className); - } - for (var key in button.attrs) { - if (key !== "className" && button.attrs.hasOwnProperty(key)) { - button.element.setAttribute(key, button.attrs[key]); - } - } - if (button.scope === "auxiliary") { - elements.buttons.auxiliary.appendChild(button.element); - } else { - elements.buttons.primary.appendChild(button.element); - } - } - //make elements pubic - instance.elements = elements; - - //save event handlers delegates - internal.resetHandler = delegate(instance, onReset); - internal.beginMoveHandler = delegate(instance, beginMove); - internal.beginResizeHandler = delegate(instance, beginResize); - internal.bringToFrontHandler = delegate(instance, bringToFront); - internal.modalClickHandler = delegate(instance, modalClickHandler); - internal.buttonsClickHandler = delegate(instance, buttonsClickHandler); - internal.commandsClickHandler = delegate( - instance, - commandsClickHandler - ); - internal.transitionInHandler = delegate( - instance, - handleTransitionInEvent - ); - internal.transitionOutHandler = delegate( - instance, - handleTransitionOutEvent - ); - - //settings - for (var opKey in internal.options) { - if (setup.options[opKey] !== undefined) { - // if found in user options - instance.set(opKey, setup.options[opKey]); - } else if (alertify.defaults.hasOwnProperty(opKey)) { - // else if found in defaults options - instance.set(opKey, alertify.defaults[opKey]); - } else if (opKey === "title") { - // else if title key, use alertify.defaults.glossary - instance.set(opKey, alertify.defaults.glossary[opKey]); - } - } - - // allow dom customization - if (typeof instance.build === "function") { - instance.build(); - } - } - - //add to the end of the DOM tree. - document.body.appendChild(instance.elements.root); - } - - /** - * Helper: maintains scroll position - * - */ - var scrollX, scrollY; - function saveScrollPosition() { - scrollX = getScrollLeft(); - scrollY = getScrollTop(); - } - function restoreScrollPosition() { - window.scrollTo(scrollX, scrollY); - } - - /** - * Helper: adds/removes no-overflow class from body - * - */ - function ensureNoOverflow() { - var requiresNoOverflow = 0; - for (var x = 0; x < openDialogs.length; x += 1) { - var instance = openDialogs[x]; - if (instance.isModal() || instance.isMaximized()) { - requiresNoOverflow += 1; - } - } - if ( - requiresNoOverflow === 0 && - document.body.className.indexOf(classes.noOverflow) >= 0 - ) { - //last open modal or last maximized one - removeClass(document.body, classes.noOverflow); - preventBodyShift(false); - } else if ( - requiresNoOverflow > 0 && - document.body.className.indexOf(classes.noOverflow) < 0 - ) { - //first open modal or first maximized one - preventBodyShift(true); - addClass(document.body, classes.noOverflow); - } - } - var top = "", - topScroll = 0; +( function ( window ) { + 'use strict'; + /** - * Helper: prevents body shift. - * - */ - function preventBodyShift(add) { - if (alertify.defaults.preventBodyShift) { - if ( - add && - document.documentElement.scrollHeight > - document.documentElement.clientHeight - ) { - //&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){ - topScroll = scrollY; - top = window.getComputedStyle(document.body).top; - addClass(document.body, classes.fixed); - document.body.style.top = -scrollY + "px"; - } else if (!add) { - scrollY = topScroll; - document.body.style.top = top; - removeClass(document.body, classes.fixed); - restoreScrollPosition(); - } - } - } - - /** - * Sets the name of the transition used to show/hide the dialog - * - * @param {Object} instance The dilog instance. - * + * Keys enum + * @type {Object} */ - function updateTransition(instance, value, oldValue) { - if (typeof oldValue === "string") { - removeClass(instance.elements.root, classes.prefix + oldValue); - } - addClass(instance.elements.root, classes.prefix + value); - reflow = instance.elements.root.offsetWidth; - } - + var keys = { + ENTER: 13, + ESC: 27, + F1: 112, + F12: 123, + LEFT: 37, + RIGHT: 39 + }; /** - * Toggles the dialog display mode - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} + * Default options + * @type {Object} */ - function updateDisplayMode(instance) { - if (instance.get("modal")) { - //make modal - removeClass(instance.elements.root, classes.modeless); - - //only if open - if (instance.isOpen()) { - unbindModelessEvents(instance); - - //in case a pinned modless dialog was made modal while open. - updateAbsPositionFix(instance); - - ensureNoOverflow(); - } - } else { - //make modelss - addClass(instance.elements.root, classes.modeless); - - //only if open - if (instance.isOpen()) { - bindModelessEvents(instance); - - //in case pin/unpin was called while a modal is open - updateAbsPositionFix(instance); - - ensureNoOverflow(); + var defaults = { + autoReset:true, + basic:false, + closable:true, + closableByDimmer:true, + frameless:false, + maintainFocus:true, //global default not per instance, applies to all dialogs + maximizable:true, + modal:true, + movable:true, + moveBounded:false, + overflow:true, + padding: true, + pinnable:true, + pinned:true, + preventBodyShift:false, //global default not per instance, applies to all dialogs + resizable:true, + startMaximized:false, + transition:'pulse', + notifier:{ + delay:5, + position:'bottom-right', + closeButton:false + }, + glossary:{ + title:'AlertifyJS', + ok: 'OK', + cancel: 'Cancel', + acccpt: 'Accept', + deny: 'Deny', + confirm: 'Confirm', + decline: 'Decline', + close: 'Close', + maximize: 'Maximize', + restore: 'Restore', + }, + theme:{ + input:'ajs-input', + ok:'ajs-ok', + cancel:'ajs-cancel', } - } - } + }; + + //holds open dialogs instances + var openDialogs = []; /** - * Toggles the dialog basic view mode - * - * @param {Object} instance The dilog instance. + * [Helper] Adds the specified class(es) to the element. * + * @element {node} The element + * @className {string} One or more space-separated classes to be added to the class attribute of the element. + * * @return {undefined} */ - function updateBasicMode(instance) { - if (instance.get("basic")) { - // add class - addClass(instance.elements.root, classes.basic); - } else { - // remove class - removeClass(instance.elements.root, classes.basic); - } + function addClass(element,classNames){ + element.className += ' ' + classNames; } - + /** - * Toggles the dialog frameless view mode - * - * @param {Object} instance The dilog instance. + * [Helper] Removes the specified class(es) from the element. * + * @element {node} The element + * @className {string} One or more space-separated classes to be removed from the class attribute of the element. + * * @return {undefined} */ - function updateFramelessMode(instance) { - if (instance.get("frameless")) { - // add class - addClass(instance.elements.root, classes.frameless); - } else { - // remove class - removeClass(instance.elements.root, classes.frameless); - } + function removeClass(element, classNames) { + var original = element.className.split(' '); + var toBeRemoved = classNames.split(' '); + for (var x = 0; x < toBeRemoved.length; x += 1) { + var index = original.indexOf(toBeRemoved[x]); + if (index > -1){ + original.splice(index,1); + } + } + element.className = original.join(' '); } /** - * Helper: Brings the modeless dialog to front, attached to modeless dialogs. - * - * @param {Event} event Focus event - * @param {Object} instance The dilog instance. + * [Helper] Checks if the document is RTL * - * @return {undefined} + * @return {Boolean} True if the document is RTL, false otherwise. */ - function bringToFront(event, instance) { - // Do not bring to front if preceeded by an open modal - var index = openDialogs.indexOf(instance); - for (var x = index + 1; x < openDialogs.length; x += 1) { - if (openDialogs[x].isModal()) { - return; - } - } - - // Bring to front by making it the last child. - if (document.body.lastChild !== instance.elements.root) { - document.body.appendChild(instance.elements.root); - //also make sure its at the end of the list - openDialogs.splice(openDialogs.indexOf(instance), 1); - openDialogs.push(instance); - setFocus(instance); - } - - return false; + function isRightToLeft(){ + return window.getComputedStyle(document.body).direction === 'rtl'; } - /** - * Helper: reflects dialogs options updates + * [Helper] Get the document current scrollTop * - * @param {Object} instance The dilog instance. - * @param {String} option The updated option name. - * - * @return {undefined} + * @return {Number} current document scrollTop value */ - function optionUpdated(instance, option, oldValue, newValue) { - switch (option) { - case "title": - instance.setHeader(newValue); - break; - case "modal": - updateDisplayMode(instance); - break; - case "basic": - updateBasicMode(instance); - break; - case "frameless": - updateFramelessMode(instance); - break; - case "pinned": - updatePinned(instance); - break; - case "closable": - updateClosable(instance); - break; - case "maximizable": - updateMaximizable(instance); - break; - case "pinnable": - updatePinnable(instance); - break; - case "movable": - updateMovable(instance); - break; - case "resizable": - updateResizable(instance); - break; - case "padding": - if (newValue) { - removeClass(instance.elements.root, classes.noPadding); - } else if ( - instance.elements.root.className.indexOf(classes.noPadding) < 0 - ) { - addClass(instance.elements.root, classes.noPadding); - } - break; - case "overflow": - if (newValue) { - removeClass(instance.elements.root, classes.noOverflow); - } else if ( - instance.elements.root.className.indexOf(classes.noOverflow) < 0 - ) { - addClass(instance.elements.root, classes.noOverflow); - } - break; - case "transition": - updateTransition(instance, newValue, oldValue); - break; - } - - // internal on option updated event - if (typeof instance.hooks.onupdate === "function") { - instance.hooks.onupdate.call(instance, option, oldValue, newValue); - } + function getScrollTop(){ + return ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop); } /** - * Helper: reflects dialogs options updates - * - * @param {Object} instance The dilog instance. - * @param {Object} obj The object to set/get a value on/from. - * @param {Function} callback The callback function to call if the key was found. - * @param {String|Object} key A string specifying a propery name or a collection of key value pairs. - * @param {Object} value Optional, the value associated with the key (in case it was a string). - * @param {String} option The updated option name. + * [Helper] Get the document current scrollLeft * - * @return {Object} result object - * The result objects has an 'op' property, indicating of this is a SET or GET operation. - * GET: - * - found: a flag indicating if the key was found or not. - * - value: the property value. - * SET: - * - items: a list of key value pairs of the properties being set. - * each contains: - * - found: a flag indicating if the key was found or not. - * - key: the property key. - * - value: the property value. + * @return {Number} current document scrollLeft value */ - function update(instance, obj, callback, key, value) { - var result = { op: undefined, items: [] }; - if (typeof value === "undefined" && typeof key === "string") { - //get - result.op = "get"; - if (obj.hasOwnProperty(key)) { - result.found = true; - result.value = obj[key]; - } else { - result.found = false; - result.value = undefined; - } - } else { - var old; - //set - result.op = "set"; - if (typeof key === "object") { - //set multiple - var args = key; - for (var prop in args) { - if (obj.hasOwnProperty(prop)) { - if (obj[prop] !== args[prop]) { - old = obj[prop]; - obj[prop] = args[prop]; - callback.call(instance, prop, old, args[prop]); - } - result.items.push({ key: prop, value: args[prop], found: true }); - } else { - result.items.push({ key: prop, value: args[prop], found: false }); - } - } - } else if (typeof key === "string") { - //set single - if (obj.hasOwnProperty(key)) { - if (obj[key] !== value) { - old = obj[key]; - obj[key] = value; - callback.call(instance, key, old, value); - } - result.items.push({ key: key, value: value, found: true }); - } else { - result.items.push({ key: key, value: value, found: false }); - } - } else { - //invalid params - throw new Error("args must be a string or object"); - } - } - return result; + function getScrollLeft(){ + return ((document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft); } /** - * Triggers a close event. - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function triggerClose(instance) { - var found; - triggerCallback(instance, function (button) { - return (found = button.invokeOnClose === true); - }); - //none of the buttons registered as onclose callback - //close the dialog - if (!found && instance.isOpen()) { - instance.close(); - } + * Helper: clear contents + * + */ + function clearContents(element){ + while (element.lastChild) { + element.removeChild(element.lastChild); + } } - /** - * Dialogs commands event handler, attached to the dialog commands element. + * Extends a given prototype by merging properties from base into sub. * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. + * @sub {Object} sub The prototype being overwritten. + * @base {Object} base The prototype being written. * - * @return {undefined} + * @return {Object} The extended prototype. */ - function commandsClickHandler(event, instance) { - var target = event.srcElement || event.target; - switch (target) { - case instance.elements.commands.pin: - if (!instance.isPinned()) { - pin(instance); - } else { - unpin(instance); - } - break; - case instance.elements.commands.maximize: - if (!instance.isMaximized()) { - maximize(instance); - } else { - restore(instance); - } - break; - case instance.elements.commands.close: - triggerClose(instance); - break; - } - return false; + function copy(src) { + if(null === src){ + return src; + } + var cpy; + if(Array.isArray(src)){ + cpy = []; + for(var x=0;x<src.length;x+=1){ + cpy.push(copy(src[x])); + } + return cpy; + } + + if(src instanceof Date){ + return new Date(src.getTime()); + } + + if(src instanceof RegExp){ + cpy = new RegExp(src.source); + cpy.global = src.global; + cpy.ignoreCase = src.ignoreCase; + cpy.multiline = src.multiline; + cpy.lastIndex = src.lastIndex; + return cpy; + } + + if(typeof src === 'object'){ + cpy = {}; + // copy dialog pototype over definition. + for (var prop in src) { + if (src.hasOwnProperty(prop)) { + cpy[prop] = copy(src[prop]); + } + } + return cpy; + } + return src; } - /** - * Helper: pins the modeless dialog. - * - * @param {Object} instance The dialog instance. - * - * @return {undefined} - */ - function pin(instance) { - //pin the dialog - instance.set("pinned", true); + * Helper: destruct the dialog + * + */ + function destruct(instance, initialize){ + if(instance.elements){ + //delete the dom and it's references. + var root = instance.elements.root; + root.parentNode.removeChild(root); + delete instance.elements; + //copy back initial settings. + instance.settings = copy(instance.__settings); + //re-reference init function. + instance.__init = initialize; + //delete __internal variable to allow re-initialization. + delete instance.__internal; + } } /** - * Helper: unpins the modeless dialog. - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} + * Use a closure to return proper event listener method. Try to use + * `addEventListener` by default but fallback to `attachEvent` for + * unsupported browser. The closure simply ensures that the test doesn't + * happen every time the method is called. + * + * @param {Node} el Node element + * @param {String} event Event type + * @param {Function} fn Callback of event + * @return {Function} */ - function unpin(instance) { - //unpin the dialog - instance.set("pinned", false); - } + var on = (function () { + if (document.addEventListener) { + return function (el, event, fn, useCapture) { + el.addEventListener(event, fn, useCapture === true); + }; + } else if (document.attachEvent) { + return function (el, event, fn) { + el.attachEvent('on' + event, fn); + }; + } + }()); /** - * Helper: enlarges the dialog to fill the entire screen. - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} + * Use a closure to return proper event listener method. Try to use + * `removeEventListener` by default but fallback to `detachEvent` for + * unsupported browser. The closure simply ensures that the test doesn't + * happen every time the method is called. + * + * @param {Node} el Node element + * @param {String} event Event type + * @param {Function} fn Callback of event + * @return {Function} */ - function maximize(instance) { - // allow custom `onmaximize` method - dispatchEvent("onmaximize", instance); - //maximize the dialog - addClass(instance.elements.root, classes.maximized); - if (instance.isOpen()) { - ensureNoOverflow(); - } - // allow custom `onmaximized` method - dispatchEvent("onmaximized", instance); - } + var off = (function () { + if (document.removeEventListener) { + return function (el, event, fn, useCapture) { + el.removeEventListener(event, fn, useCapture === true); + }; + } else if (document.detachEvent) { + return function (el, event, fn) { + el.detachEvent('on' + event, fn); + }; + } + }()); /** - * Helper: returns the dialog to its former size. - * - * @param {Object} instance The dilog instance. + * Prevent default event from firing * + * @param {Event} event Event object * @return {undefined} - */ - function restore(instance) { - // allow custom `onrestore` method - dispatchEvent("onrestore", instance); - //maximize the dialog - removeClass(instance.elements.root, classes.maximized); - if (instance.isOpen()) { - ensureNoOverflow(); - } - // allow custom `onrestored` method - dispatchEvent("onrestored", instance); - } - /** - * Show or hide the maximize box. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updatePinnable(instance) { - if (instance.get("pinnable")) { - // add class - addClass(instance.elements.root, classes.pinnable); - } else { - // remove class - removeClass(instance.elements.root, classes.pinnable); - } + function prevent ( event ) { + if ( event ) { + if ( event.preventDefault ) { + event.preventDefault(); + } else { + event.returnValue = false; + } + } } + */ + var transition = (function () { + var t, type; + var supported = false; + var transitions = { + 'animation' : 'animationend', + 'OAnimation' : 'oAnimationEnd oanimationend', + 'msAnimation' : 'MSAnimationEnd', + 'MozAnimation' : 'animationend', + 'WebkitAnimation' : 'webkitAnimationEnd' + }; - /** - * Helper: Fixes the absolutly positioned modal div position. - * - * @param {Object} instance The dialog instance. - * - * @return {undefined} - */ - function addAbsPositionFix(instance) { - var scrollLeft = getScrollLeft(); - instance.elements.modal.style.marginTop = getScrollTop() + "px"; - instance.elements.modal.style.marginLeft = scrollLeft + "px"; - instance.elements.modal.style.marginRight = -scrollLeft + "px"; - } + for (t in transitions) { + if (document.documentElement.style[t] !== undefined) { + type = transitions[t]; + supported = true; + break; + } + } - /** - * Helper: Removes the absolutly positioned modal div position fix. - * - * @param {Object} instance The dialog instance. - * - * @return {undefined} - */ - function removeAbsPositionFix(instance) { - var marginTop = parseInt(instance.elements.modal.style.marginTop, 10); - var marginLeft = parseInt(instance.elements.modal.style.marginLeft, 10); - instance.elements.modal.style.marginTop = ""; - instance.elements.modal.style.marginLeft = ""; - instance.elements.modal.style.marginRight = ""; - - if (instance.isOpen()) { - var top = 0, - left = 0; - if (instance.elements.dialog.style.top !== "") { - top = parseInt(instance.elements.dialog.style.top, 10); - } - instance.elements.dialog.style.top = - top + (marginTop - getScrollTop()) + "px"; - - if (instance.elements.dialog.style.left !== "") { - left = parseInt(instance.elements.dialog.style.left, 10); - } - instance.elements.dialog.style.left = - left + (marginLeft - getScrollLeft()) + "px"; - } - } - /** - * Helper: Adds/Removes the absolutly positioned modal div position fix based on its pinned setting. - * - * @param {Object} instance The dialog instance. - * - * @return {undefined} - */ - function updateAbsPositionFix(instance) { - // if modeless and unpinned add fix - if (!instance.get("modal") && !instance.get("pinned")) { - addAbsPositionFix(instance); - } else { - removeAbsPositionFix(instance); - } - } - /** - * Toggles the dialog position lock | modeless only. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to make it modal, false otherwise. - * - * @return {undefined} - */ - function updatePinned(instance) { - if (instance.get("pinned")) { - removeClass(instance.elements.root, classes.unpinned); - if (instance.isOpen()) { - removeAbsPositionFix(instance); - } - } else { - addClass(instance.elements.root, classes.unpinned); - if (instance.isOpen() && !instance.isModal()) { - addAbsPositionFix(instance); - } - } - } + return { + type: type, + supported: supported + }; + }()); /** - * Show or hide the maximize box. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateMaximizable(instance) { - if (instance.get("maximizable")) { - // add class - addClass(instance.elements.root, classes.maximizable); - } else { - // remove class - removeClass(instance.elements.root, classes.maximizable); - } + * Creates event handler delegate that sends the instance as last argument. + * + * @return {Function} a function wrapper which sends the instance as last argument. + */ + function delegate(context, method) { + return function () { + if (arguments.length > 0) { + var args = []; + for (var x = 0; x < arguments.length; x += 1) { + args.push(arguments[x]); + } + args.push(context); + return method.apply(context, args); + } + return method.apply(context, [null, context]); + }; } - /** - * Show or hide the close box. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateClosable(instance) { - if (instance.get("closable")) { - // add class - addClass(instance.elements.root, classes.closable); - bindClosableEvents(instance); - } else { - // remove class - removeClass(instance.elements.root, classes.closable); - unbindClosableEvents(instance); - } + * Helper for creating a dialog close event. + * + * @return {object} + */ + function createCloseEvent(index, button) { + return { + index: index, + button: button, + cancel: false + }; } - - var cancelClick = false, // flag to cancel click event if already handled by end resize event (the mousedown, mousemove, mouseup sequence fires a click event.). - modalClickHandlerTS = 0; // stores last click timestamp to prevent executing the handler twice on double click. /** - * Helper: closes the modal dialog when clicking the modal - * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function modalClickHandler(event, instance) { - if ( - event.timeStamp - modalClickHandlerTS > 200 && - (modalClickHandlerTS = event.timeStamp) && - !cancelClick - ) { - var target = event.srcElement || event.target; - if ( - instance.get("closableByDimmer") === true && - target === instance.elements.modal - ) { - triggerClose(instance); - } - cancelClick = false; - return false; - } + * Helper for dispatching events. + * + * @param {string} evenType The type of the event to disptach. + * @param {object} instance The dialog instance disptaching the event. + * + * @return {any} The result of the invoked function. + */ + function dispatchEvent(eventType, instance) { + if ( typeof instance.get(eventType) === 'function' ) { + return instance.get(eventType).call(instance); + } } - // stores last call timestamp to prevent triggering the callback twice. - var callbackTS = 0; - // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button). - var cancelKeyup = false; - /** - * Helper: triggers a button callback - * - * @param {Object} The dilog instance. - * @param {Function} Callback to check which button triggered the event. - * - * @return {undefined} - */ - function triggerCallback(instance, check) { - if (Date.now() - callbackTS > 200 && (callbackTS = Date.now())) { - for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) { - var button = instance.__internal.buttons[idx]; - if (!button.element.disabled && check(button)) { - var closeEvent = createCloseEvent(idx, button); - if (typeof instance.callback === "function") { - instance.callback.apply(instance, [closeEvent]); - } - //close the dialog only if not canceled. - if (closeEvent.cancel === false) { - instance.close(); - } - break; - } - } - } - } /** - * Clicks event handler, attached to the dialog footer. - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. + * Super class for all dialogs * - * @return {undefined} + * @return {Object} base dialog prototype */ - function buttonsClickHandler(event, instance) { - var target = event.srcElement || event.target; - triggerCallback(instance, function (button) { - // if this button caused the click, cancel keyup event - return button.element === target && (cancelKeyup = true); - }); - } + var dialog = (function () { + var //holds the list of used keys. + usedKeys = [], + //dummy variable, used to trigger dom reflow. + reflow = null, + //holds body tab index in case it has any. + tabindex = false, + //condition for detecting safari + isSafari = window.navigator.userAgent.indexOf('Safari') > -1 && window.navigator.userAgent.indexOf('Chrome') < 0, + //dialog building blocks + templates = { + dimmer:'<div class="ajs-dimmer"></div>', + /*tab index required to fire click event before body focus*/ + modal: '<div class="ajs-modal" tabindex="0"></div>', + dialog: '<div class="ajs-dialog" tabindex="0"></div>', + reset: '<button class="ajs-reset"></button>', + commands: '<div class="ajs-commands"><button class="ajs-pin"></button><button class="ajs-maximize"></button><button class="ajs-close"></button></div>', + header: '<div class="ajs-header"></div>', + body: '<div class="ajs-body"></div>', + content: '<div class="ajs-content"></div>', + footer: '<div class="ajs-footer"></div>', + buttons: { primary: '<div class="ajs-primary ajs-buttons"></div>', auxiliary: '<div class="ajs-auxiliary ajs-buttons"></div>' }, + button: '<button class="ajs-button"></button>', + resizeHandle: '<div class="ajs-handle"></div>', + }, + //common class names + classes = { + animationIn: 'ajs-in', + animationOut: 'ajs-out', + base: 'alertify', + basic:'ajs-basic', + capture: 'ajs-capture', + closable:'ajs-closable', + fixed: 'ajs-fixed', + frameless:'ajs-frameless', + hidden: 'ajs-hidden', + maximize: 'ajs-maximize', + maximized: 'ajs-maximized', + maximizable:'ajs-maximizable', + modeless: 'ajs-modeless', + movable: 'ajs-movable', + noSelection: 'ajs-no-selection', + noOverflow: 'ajs-no-overflow', + noPadding:'ajs-no-padding', + pin:'ajs-pin', + pinnable:'ajs-pinnable', + prefix: 'ajs-', + resizable: 'ajs-resizable', + restore: 'ajs-restore', + shake:'ajs-shake', + unpinned:'ajs-unpinned', + }; - /** - * Keyup event handler, attached to the document.body - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function keyupHandler(event) { - //hitting enter while button has focus will trigger keyup too. - //ignore if handled by clickHandler - if (cancelKeyup) { - cancelKeyup = false; - return; - } - var instance = openDialogs[openDialogs.length - 1]; - var keyCode = event.keyCode; - if ( - instance.__internal.buttons.length === 0 && - keyCode === keys.ESC && - instance.get("closable") === true - ) { - triggerClose(instance); - return false; - } else if (usedKeys.indexOf(keyCode) > -1) { - triggerCallback(instance, function (button) { - return button.key === keyCode; - }); - return false; - } - } - /** - * Keydown event handler, attached to the document.body - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function keydownHandler(event) { - var instance = openDialogs[openDialogs.length - 1]; - var keyCode = event.keyCode; - if (keyCode === keys.LEFT || keyCode === keys.RIGHT) { - var buttons = instance.__internal.buttons; - for (var x = 0; x < buttons.length; x += 1) { - if (document.activeElement === buttons[x].element) { - switch (keyCode) { - case keys.LEFT: - buttons[(x || buttons.length) - 1].element.focus(); - return; - case keys.RIGHT: - buttons[(x + 1) % buttons.length].element.focus(); - return; - } - } - } - } else if ( - keyCode < keys.F12 + 1 && - keyCode > keys.F1 - 1 && - usedKeys.indexOf(keyCode) > -1 - ) { - event.preventDefault(); - event.stopPropagation(); - triggerCallback(instance, function (button) { - return button.key === keyCode; - }); - return false; - } - } + /** + * Helper: initializes the dialog instance + * + * @return {Number} The total count of currently open modals. + */ + function initialize(instance){ + + if(!instance.__internal){ + + //no need to expose init after this. + delete instance.__init; + + //keep a copy of initial dialog settings + if(!instance.__settings){ + instance.__settings = copy(instance.settings); + } + + //get dialog buttons/focus setup + var setup; + if(typeof instance.setup === 'function'){ + setup = instance.setup(); + setup.options = setup.options || {}; + setup.focus = setup.focus || {}; + }else{ + setup = { + buttons:[], + focus:{ + element:null, + select:false + }, + options:{ + } + }; + } + + //initialize hooks object. + if(typeof instance.hooks !== 'object'){ + instance.hooks = {}; + } - /** - * Sets focus to proper dialog element - * - * @param {Object} instance The dilog instance. - * @param {Node} [resetTarget=undefined] DOM element to reset focus to. - * - * @return {undefined} - */ - function setFocus(instance, resetTarget) { - // reset target has already been determined. - if (resetTarget) { - resetTarget.focus(); - } else { - // current instance focus settings - var focus = instance.__internal.focus; - // the focus element. - var element = focus.element; - - switch (typeof focus.element) { - // a number means a button index - case "number": - if (instance.__internal.buttons.length > focus.element) { - //in basic view, skip focusing the buttons. - if (instance.get("basic") === true) { - element = instance.elements.reset[0]; - } else { - element = instance.__internal.buttons[focus.element].element; - } - } - break; - // a string means querySelector to select from dialog body contents. - case "string": - element = instance.elements.body.querySelector(focus.element); - break; - // a function should return the focus element. - case "function": - element = focus.element.call(instance); - break; - } - - // if no focus element, default to first reset element. - if ( - (typeof element === "undefined" || element === null) && - instance.__internal.buttons.length === 0 - ) { - element = instance.elements.reset[0]; - } - // focus - if (element && element.focus) { - element.focus(); - // if selectable - if (focus.select && element.select) { - element.select(); - } - } - } - } + //copy buttons defintion + var buttonsDefinition = []; + if(Array.isArray(setup.buttons)){ + for(var b=0;b<setup.buttons.length;b+=1){ + var ref = setup.buttons[b], + cpy = {}; + for (var i in ref) { + if (ref.hasOwnProperty(i)) { + cpy[i] = ref[i]; + } + } + buttonsDefinition.push(cpy); + } + } - /** - * Focus event handler, attached to document.body and dialogs own reset links. - * handles the focus for modal dialogs only. - * - * @param {Event} event DOM focus event object. - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function onReset(event, instance) { - // should work on last modal if triggered from document.body - if (!instance) { - for (var x = openDialogs.length - 1; x > -1; x -= 1) { - if (openDialogs[x].isModal()) { - instance = openDialogs[x]; - break; - } - } - } - // if modal - if (instance && instance.isModal()) { - // determine reset target to enable forward/backward tab cycle. - var resetTarget, - target = event.srcElement || event.target; - var lastResetElement = - target === instance.elements.reset[1] || - (instance.__internal.buttons.length === 0 && - target === document.body); - - // if last reset link, then go to maximize or close - if (lastResetElement) { - if (instance.get("maximizable")) { - resetTarget = instance.elements.commands.maximize; - } else if (instance.get("closable")) { - resetTarget = instance.elements.commands.close; - } - } - // if no reset target found, try finding the best button - if (resetTarget === undefined) { - if (typeof instance.__internal.focus.element === "number") { - // button focus element, go to first available button - if (target === instance.elements.reset[0]) { - resetTarget = - instance.elements.buttons.auxiliary.firstChild || - instance.elements.buttons.primary.firstChild; - } else if (lastResetElement) { - //restart the cycle by going to first reset link - resetTarget = instance.elements.reset[0]; - } - } else { - // will reach here when tapping backwards, so go to last child - // The focus element SHOULD NOT be a button (logically!). - if (target === instance.elements.reset[0]) { - resetTarget = - instance.elements.buttons.primary.lastChild || - instance.elements.buttons.auxiliary.lastChild; - } - } - } - // focus - setFocus(instance, resetTarget); - } - } - /** - * Transition in transitionend event handler. - * - * @param {Event} TransitionEnd event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function handleTransitionInEvent(event, instance) { - // clear the timer - clearTimeout(instance.__internal.timerIn); + var internal = instance.__internal = { + /** + * Flag holding the open state of the dialog + * + * @type {Boolean} + */ + isOpen:false, + /** + * Active element is the element that will receive focus after + * closing the dialog. It defaults as the body tag, but gets updated + * to the last focused element before the dialog was opened. + * + * @type {Node} + */ + activeElement:document.body, + timerIn:undefined, + timerOut:undefined, + buttons: buttonsDefinition, + focus: setup.focus, + options: { + title: undefined, + modal: undefined, + basic:undefined, + frameless:undefined, + pinned: undefined, + movable: undefined, + moveBounded:undefined, + resizable: undefined, + autoReset: undefined, + closable: undefined, + closableByDimmer: undefined, + maximizable: undefined, + startMaximized: undefined, + pinnable: undefined, + transition: undefined, + padding:undefined, + overflow:undefined, + onshow:undefined, + onclosing:undefined, + onclose:undefined, + onfocus:undefined, + onmove:undefined, + onmoved:undefined, + onresize:undefined, + onresized:undefined, + onmaximize:undefined, + onmaximized:undefined, + onrestore:undefined, + onrestored:undefined + }, + resetHandler:undefined, + beginMoveHandler:undefined, + beginResizeHandler:undefined, + bringToFrontHandler:undefined, + modalClickHandler:undefined, + buttonsClickHandler:undefined, + commandsClickHandler:undefined, + transitionInHandler:undefined, + transitionOutHandler:undefined, + destroy:undefined + }; + + var elements = {}; + //root node + elements.root = document.createElement('div'); + //prevent FOUC in case of async styles loading. + elements.root.style.display = 'none'; + elements.root.className = classes.base + ' ' + classes.hidden + ' '; + + elements.root.innerHTML = templates.dimmer + templates.modal; + + //dimmer + elements.dimmer = elements.root.firstChild; + + //dialog + elements.modal = elements.root.lastChild; + elements.modal.innerHTML = templates.dialog; + elements.dialog = elements.modal.firstChild; + elements.dialog.innerHTML = templates.reset + templates.commands + templates.header + templates.body + templates.footer + templates.resizeHandle + templates.reset; + + //reset links + elements.reset = []; + elements.reset.push(elements.dialog.firstChild); + elements.reset.push(elements.dialog.lastChild); + + //commands + elements.commands = {}; + elements.commands.container = elements.reset[0].nextSibling; + elements.commands.pin = elements.commands.container.firstChild; + elements.commands.maximize = elements.commands.pin.nextSibling; + elements.commands.close = elements.commands.maximize.nextSibling; + + //header + elements.header = elements.commands.container.nextSibling; + + //body + elements.body = elements.header.nextSibling; + elements.body.innerHTML = templates.content; + elements.content = elements.body.firstChild; + + //footer + elements.footer = elements.body.nextSibling; + elements.footer.innerHTML = templates.buttons.auxiliary + templates.buttons.primary; + + //resize handle + elements.resizeHandle = elements.footer.nextSibling; + + //buttons + elements.buttons = {}; + elements.buttons.auxiliary = elements.footer.firstChild; + elements.buttons.primary = elements.buttons.auxiliary.nextSibling; + elements.buttons.primary.innerHTML = templates.button; + elements.buttonTemplate = elements.buttons.primary.firstChild; + //remove button template + elements.buttons.primary.removeChild(elements.buttonTemplate); + + for(var x=0; x < instance.__internal.buttons.length; x+=1) { + var button = instance.__internal.buttons[x]; + + // add to the list of used keys. + if(usedKeys.indexOf(button.key) < 0){ + usedKeys.push(button.key); + } + + button.element = elements.buttonTemplate.cloneNode(); + button.element.innerHTML = button.text; + if(typeof button.className === 'string' && button.className !== ''){ + addClass(button.element, button.className); + } + for(var key in button.attrs){ + if(key !== 'className' && button.attrs.hasOwnProperty(key)){ + button.element.setAttribute(key, button.attrs[key]); + } + } + if(button.scope === 'auxiliary'){ + elements.buttons.auxiliary.appendChild(button.element); + }else{ + elements.buttons.primary.appendChild(button.element); + } + } + //make elements pubic + instance.elements = elements; + + //save event handlers delegates + internal.resetHandler = delegate(instance, onReset); + internal.beginMoveHandler = delegate(instance, beginMove); + internal.beginResizeHandler = delegate(instance, beginResize); + internal.bringToFrontHandler = delegate(instance, bringToFront); + internal.modalClickHandler = delegate(instance, modalClickHandler); + internal.buttonsClickHandler = delegate(instance, buttonsClickHandler); + internal.commandsClickHandler = delegate(instance, commandsClickHandler); + internal.transitionInHandler = delegate(instance, handleTransitionInEvent); + internal.transitionOutHandler = delegate(instance, handleTransitionOutEvent); + + //settings + for(var opKey in internal.options){ + if(setup.options[opKey] !== undefined){ + // if found in user options + instance.set(opKey, setup.options[opKey]); + }else if(alertify.defaults.hasOwnProperty(opKey)) { + // else if found in defaults options + instance.set(opKey, alertify.defaults[opKey]); + }else if(opKey === 'title' ) { + // else if title key, use alertify.defaults.glossary + instance.set(opKey, alertify.defaults.glossary[opKey]); + } + } - // once transition is complete, set focus - setFocus(instance); + // allow dom customization + if(typeof instance.build === 'function'){ + instance.build(); + } + } + + //add to the end of the DOM tree. + document.body.appendChild(instance.elements.root); + } - //restore scroll to prevent document jump - restoreScrollPosition(); + /** + * Helper: maintains scroll position + * + */ + var scrollX, scrollY; + function saveScrollPosition(){ + scrollX = getScrollLeft(); + scrollY = getScrollTop(); + } + function restoreScrollPosition(){ + window.scrollTo(scrollX, scrollY); + } - // allow handling key up after transition ended. - cancelKeyup = false; + /** + * Helper: adds/removes no-overflow class from body + * + */ + function ensureNoOverflow(){ + var requiresNoOverflow = 0; + for(var x=0;x<openDialogs.length;x+=1){ + var instance = openDialogs[x]; + if(instance.isModal() || instance.isMaximized()){ + requiresNoOverflow+=1; + } + } + if(requiresNoOverflow === 0 && document.body.className.indexOf(classes.noOverflow) >= 0){ + //last open modal or last maximized one + removeClass(document.body, classes.noOverflow); + preventBodyShift(false); + }else if(requiresNoOverflow > 0 && document.body.className.indexOf(classes.noOverflow) < 0){ + //first open modal or first maximized one + preventBodyShift(true); + addClass(document.body, classes.noOverflow); + } + } + var top = '', topScroll = 0; + /** + * Helper: prevents body shift. + * + */ + function preventBodyShift(add){ + if(alertify.defaults.preventBodyShift){ + if(add && document.documentElement.scrollHeight > document.documentElement.clientHeight ){//&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){ + topScroll = scrollY; + top = window.getComputedStyle(document.body).top; + addClass(document.body, classes.fixed); + document.body.style.top = -scrollY + 'px'; + } else if(!add) { + scrollY = topScroll; + document.body.style.top = top; + removeClass(document.body, classes.fixed); + restoreScrollPosition(); + } + } + } + + /** + * Sets the name of the transition used to show/hide the dialog + * + * @param {Object} instance The dilog instance. + * + */ + function updateTransition(instance, value, oldValue){ + if(typeof oldValue === 'string'){ + removeClass(instance.elements.root,classes.prefix + oldValue); + } + addClass(instance.elements.root, classes.prefix + value); + reflow = instance.elements.root.offsetWidth; + } + + /** + * Toggles the dialog display mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateDisplayMode(instance){ + if(instance.get('modal')){ + + //make modal + removeClass(instance.elements.root, classes.modeless); + + //only if open + if(instance.isOpen()){ + unbindModelessEvents(instance); + + //in case a pinned modless dialog was made modal while open. + updateAbsPositionFix(instance); + + ensureNoOverflow(); + } + }else{ + //make modelss + addClass(instance.elements.root, classes.modeless); + + //only if open + if(instance.isOpen()){ + bindModelessEvents(instance); + + //in case pin/unpin was called while a modal is open + updateAbsPositionFix(instance); + + ensureNoOverflow(); + } + } + } + + /** + * Toggles the dialog basic view mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateBasicMode(instance){ + if (instance.get('basic')) { + // add class + addClass(instance.elements.root, classes.basic); + } else { + // remove class + removeClass(instance.elements.root, classes.basic); + } + } + + /** + * Toggles the dialog frameless view mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateFramelessMode(instance){ + if (instance.get('frameless')) { + // add class + addClass(instance.elements.root, classes.frameless); + } else { + // remove class + removeClass(instance.elements.root, classes.frameless); + } + } + + /** + * Helper: Brings the modeless dialog to front, attached to modeless dialogs. + * + * @param {Event} event Focus event + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bringToFront(event, instance){ + + // Do not bring to front if preceeded by an open modal + var index = openDialogs.indexOf(instance); + for(var x=index+1;x<openDialogs.length;x+=1){ + if(openDialogs[x].isModal()){ + return; + } + } + + // Bring to front by making it the last child. + if(document.body.lastChild !== instance.elements.root){ + document.body.appendChild(instance.elements.root); + //also make sure its at the end of the list + openDialogs.splice(openDialogs.indexOf(instance),1); + openDialogs.push(instance); + setFocus(instance); + } + + return false; + } + + /** + * Helper: reflects dialogs options updates + * + * @param {Object} instance The dilog instance. + * @param {String} option The updated option name. + * + * @return {undefined} + */ + function optionUpdated(instance, option, oldValue, newValue){ + switch(option){ + case 'title': + instance.setHeader(newValue); + break; + case 'modal': + updateDisplayMode(instance); + break; + case 'basic': + updateBasicMode(instance); + break; + case 'frameless': + updateFramelessMode(instance); + break; + case 'pinned': + updatePinned(instance); + break; + case 'closable': + updateClosable(instance); + break; + case 'maximizable': + updateMaximizable(instance); + break; + case 'pinnable': + updatePinnable(instance); + break; + case 'movable': + updateMovable(instance); + break; + case 'resizable': + updateResizable(instance); + break; + case 'padding': + if(newValue){ + removeClass(instance.elements.root, classes.noPadding); + }else if(instance.elements.root.className.indexOf(classes.noPadding) < 0){ + addClass(instance.elements.root, classes.noPadding); + } + break; + case 'overflow': + if(newValue){ + removeClass(instance.elements.root, classes.noOverflow); + }else if(instance.elements.root.className.indexOf(classes.noOverflow) < 0){ + addClass(instance.elements.root, classes.noOverflow); + } + break; + case 'transition': + updateTransition(instance,newValue, oldValue); + break; + } + + // internal on option updated event + if(typeof instance.hooks.onupdate === 'function'){ + instance.hooks.onupdate.call(instance, option, oldValue, newValue); + } + } + + /** + * Helper: reflects dialogs options updates + * + * @param {Object} instance The dilog instance. + * @param {Object} obj The object to set/get a value on/from. + * @param {Function} callback The callback function to call if the key was found. + * @param {String|Object} key A string specifying a propery name or a collection of key value pairs. + * @param {Object} value Optional, the value associated with the key (in case it was a string). + * @param {String} option The updated option name. + * + * @return {Object} result object + * The result objects has an 'op' property, indicating of this is a SET or GET operation. + * GET: + * - found: a flag indicating if the key was found or not. + * - value: the property value. + * SET: + * - items: a list of key value pairs of the properties being set. + * each contains: + * - found: a flag indicating if the key was found or not. + * - key: the property key. + * - value: the property value. + */ + function update(instance, obj, callback, key, value){ + var result = {op:undefined, items: [] }; + if(typeof value === 'undefined' && typeof key === 'string') { + //get + result.op = 'get'; + if(obj.hasOwnProperty(key)){ + result.found = true; + result.value = obj[key]; + }else{ + result.found = false; + result.value = undefined; + } + } + else + { + var old; + //set + result.op = 'set'; + if(typeof key === 'object'){ + //set multiple + var args = key; + for (var prop in args) { + if (obj.hasOwnProperty(prop)) { + if(obj[prop] !== args[prop]){ + old = obj[prop]; + obj[prop] = args[prop]; + callback.call(instance,prop, old, args[prop]); + } + result.items.push({ 'key': prop, 'value': args[prop], 'found':true}); + }else{ + result.items.push({ 'key': prop, 'value': args[prop], 'found':false}); + } + } + } else if (typeof key === 'string'){ + //set single + if (obj.hasOwnProperty(key)) { + if(obj[key] !== value){ + old = obj[key]; + obj[key] = value; + callback.call(instance,key, old, value); + } + result.items.push({'key': key, 'value': value , 'found':true}); + + }else{ + result.items.push({'key': key, 'value': value , 'found':false}); + } + } else { + //invalid params + throw new Error('args must be a string or object'); + } + } + return result; + } + + + /** + * Triggers a close event. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function triggerClose(instance) { + var found; + triggerCallback(instance, function (button) { + return found = (button.invokeOnClose === true); + }); + //none of the buttons registered as onclose callback + //close the dialog + if (!found && instance.isOpen()) { + instance.close(); + } + } + + /** + * Dialogs commands event handler, attached to the dialog commands element. + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function commandsClickHandler(event, instance) { + var target = event.srcElement || event.target; + switch (target) { + case instance.elements.commands.pin: + if (!instance.isPinned()) { + pin(instance); + } else { + unpin(instance); + } + break; + case instance.elements.commands.maximize: + if (!instance.isMaximized()) { + maximize(instance); + } else { + restore(instance); + } + break; + case instance.elements.commands.close: + triggerClose(instance); + break; + } + return false; + } + + /** + * Helper: pins the modeless dialog. + * + * @param {Object} instance The dialog instance. + * + * @return {undefined} + */ + function pin(instance) { + //pin the dialog + instance.set('pinned', true); + } + + /** + * Helper: unpins the modeless dialog. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unpin(instance) { + //unpin the dialog + instance.set('pinned', false); + } + + + /** + * Helper: enlarges the dialog to fill the entire screen. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function maximize(instance) { + // allow custom `onmaximize` method + dispatchEvent('onmaximize', instance); + //maximize the dialog + addClass(instance.elements.root, classes.maximized); + if (instance.isOpen()) { + ensureNoOverflow(); + } + // allow custom `onmaximized` method + dispatchEvent('onmaximized', instance); + } + + /** + * Helper: returns the dialog to its former size. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function restore(instance) { + // allow custom `onrestore` method + dispatchEvent('onrestore', instance); + //maximize the dialog + removeClass(instance.elements.root, classes.maximized); + if (instance.isOpen()) { + ensureNoOverflow(); + } + // allow custom `onrestored` method + dispatchEvent('onrestored', instance); + } + + /** + * Show or hide the maximize box. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updatePinnable(instance) { + if (instance.get('pinnable')) { + // add class + addClass(instance.elements.root, classes.pinnable); + } else { + // remove class + removeClass(instance.elements.root, classes.pinnable); + } + } + + /** + * Helper: Fixes the absolutly positioned modal div position. + * + * @param {Object} instance The dialog instance. + * + * @return {undefined} + */ + function addAbsPositionFix(instance) { + var scrollLeft = getScrollLeft(); + instance.elements.modal.style.marginTop = getScrollTop() + 'px'; + instance.elements.modal.style.marginLeft = scrollLeft + 'px'; + instance.elements.modal.style.marginRight = (-scrollLeft) + 'px'; + } - // allow custom `onfocus` method - dispatchEvent("onfocus", instance); + /** + * Helper: Removes the absolutly positioned modal div position fix. + * + * @param {Object} instance The dialog instance. + * + * @return {undefined} + */ + function removeAbsPositionFix(instance) { + var marginTop = parseInt(instance.elements.modal.style.marginTop, 10); + var marginLeft = parseInt(instance.elements.modal.style.marginLeft, 10); + instance.elements.modal.style.marginTop = ''; + instance.elements.modal.style.marginLeft = ''; + instance.elements.modal.style.marginRight = ''; + + if (instance.isOpen()) { + var top = 0, + left = 0 + ; + if (instance.elements.dialog.style.top !== '') { + top = parseInt(instance.elements.dialog.style.top, 10); + } + instance.elements.dialog.style.top = (top + (marginTop - getScrollTop())) + 'px'; + + if (instance.elements.dialog.style.left !== '') { + left = parseInt(instance.elements.dialog.style.left, 10); + } + instance.elements.dialog.style.left = (left + (marginLeft - getScrollLeft())) + 'px'; + } + } + /** + * Helper: Adds/Removes the absolutly positioned modal div position fix based on its pinned setting. + * + * @param {Object} instance The dialog instance. + * + * @return {undefined} + */ + function updateAbsPositionFix(instance) { + // if modeless and unpinned add fix + if (!instance.get('modal') && !instance.get('pinned')) { + addAbsPositionFix(instance); + } else { + removeAbsPositionFix(instance); + } + } + /** + * Toggles the dialog position lock | modeless only. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to make it modal, false otherwise. + * + * @return {undefined} + */ + function updatePinned(instance) { + if (instance.get('pinned')) { + removeClass(instance.elements.root, classes.unpinned); + if (instance.isOpen()) { + removeAbsPositionFix(instance); + } + } else { + addClass(instance.elements.root, classes.unpinned); + if (instance.isOpen() && !instance.isModal()) { + addAbsPositionFix(instance); + } + } + } + + /** + * Show or hide the maximize box. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateMaximizable(instance) { + if (instance.get('maximizable')) { + // add class + addClass(instance.elements.root, classes.maximizable); + } else { + // remove class + removeClass(instance.elements.root, classes.maximizable); + } + } + + /** + * Show or hide the close box. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateClosable(instance) { + if (instance.get('closable')) { + // add class + addClass(instance.elements.root, classes.closable); + bindClosableEvents(instance); + } else { + // remove class + removeClass(instance.elements.root, classes.closable); + unbindClosableEvents(instance); + } + } + + + var cancelClick = false,// flag to cancel click event if already handled by end resize event (the mousedown, mousemove, mouseup sequence fires a click event.). + modalClickHandlerTS=0 // stores last click timestamp to prevent executing the handler twice on double click. + ; + + /** + * Helper: closes the modal dialog when clicking the modal + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function modalClickHandler(event, instance) { + if(event.timeStamp - modalClickHandlerTS > 200 && (modalClickHandlerTS = event.timeStamp) && !cancelClick){ + var target = event.srcElement || event.target; + if (instance.get('closableByDimmer') === true && target === instance.elements.modal) { + triggerClose(instance); + } + cancelClick = false; + return false; + } + } + + // stores last call timestamp to prevent triggering the callback twice. + var callbackTS = 0; + // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button). + var cancelKeyup = false; + /** + * Helper: triggers a button callback + * + * @param {Object} The dilog instance. + * @param {Function} Callback to check which button triggered the event. + * + * @return {undefined} + */ + function triggerCallback(instance, check) { + if(Date.now() - callbackTS > 200 && (callbackTS = Date.now())){ + for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) { + var button = instance.__internal.buttons[idx]; + if (!button.element.disabled && check(button)) { + var closeEvent = createCloseEvent(idx, button); + if (typeof instance.callback === 'function') { + instance.callback.apply(instance, [closeEvent]); + } + //close the dialog only if not canceled. + if (closeEvent.cancel === false) { + instance.close(); + } + break; + } + } + } + } + + /** + * Clicks event handler, attached to the dialog footer. + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function buttonsClickHandler(event, instance) { + var target = event.srcElement || event.target; + triggerCallback(instance, function (button) { + // if this button caused the click, cancel keyup event + return button.element === target && (cancelKeyup = true); + }); + } + + /** + * Keyup event handler, attached to the document.body + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function keyupHandler(event) { + //hitting enter while button has focus will trigger keyup too. + //ignore if handled by clickHandler + if (cancelKeyup) { + cancelKeyup = false; + return; + } + var instance = openDialogs[openDialogs.length - 1]; + var keyCode = event.keyCode; + if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) { + triggerClose(instance); + return false; + }else if (usedKeys.indexOf(keyCode) > -1) { + triggerCallback(instance, function (button) { + return button.key === keyCode; + }); + return false; + } + } + /** + * Keydown event handler, attached to the document.body + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function keydownHandler(event) { + var instance = openDialogs[openDialogs.length - 1]; + var keyCode = event.keyCode; + if (keyCode === keys.LEFT || keyCode === keys.RIGHT) { + var buttons = instance.__internal.buttons; + for (var x = 0; x < buttons.length; x += 1) { + if (document.activeElement === buttons[x].element) { + switch (keyCode) { + case keys.LEFT: + buttons[(x || buttons.length) - 1].element.focus(); + return; + case keys.RIGHT: + buttons[(x + 1) % buttons.length].element.focus(); + return; + } + } + } + }else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) { + event.preventDefault(); + event.stopPropagation(); + triggerCallback(instance, function (button) { + return button.key === keyCode; + }); + return false; + } + } + + + /** + * Sets focus to proper dialog element + * + * @param {Object} instance The dilog instance. + * @param {Node} [resetTarget=undefined] DOM element to reset focus to. + * + * @return {undefined} + */ + function setFocus(instance, resetTarget) { + // reset target has already been determined. + if (resetTarget) { + resetTarget.focus(); + } else { + // current instance focus settings + var focus = instance.__internal.focus; + // the focus element. + var element = focus.element; + + switch (typeof focus.element) { + // a number means a button index + case 'number': + if (instance.__internal.buttons.length > focus.element) { + //in basic view, skip focusing the buttons. + if (instance.get('basic') === true) { + element = instance.elements.reset[0]; + } else { + element = instance.__internal.buttons[focus.element].element; + } + } + break; + // a string means querySelector to select from dialog body contents. + case 'string': + element = instance.elements.body.querySelector(focus.element); + break; + // a function should return the focus element. + case 'function': + element = focus.element.call(instance); + break; + } + + // if no focus element, default to first reset element. + if ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0) { + element = instance.elements.reset[0]; + } + // focus + if (element && element.focus) { + element.focus(); + // if selectable + if (focus.select && element.select) { + element.select(); + } + } + } + } + + /** + * Focus event handler, attached to document.body and dialogs own reset links. + * handles the focus for modal dialogs only. + * + * @param {Event} event DOM focus event object. + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function onReset(event, instance) { + + // should work on last modal if triggered from document.body + if (!instance) { + for (var x = openDialogs.length - 1; x > -1; x -= 1) { + if (openDialogs[x].isModal()) { + instance = openDialogs[x]; + break; + } + } + } + // if modal + if (instance && instance.isModal()) { + // determine reset target to enable forward/backward tab cycle. + var resetTarget, target = event.srcElement || event.target; + var lastResetElement = target === instance.elements.reset[1] || (instance.__internal.buttons.length === 0 && target === document.body); + + // if last reset link, then go to maximize or close + if (lastResetElement) { + if (instance.get('maximizable')) { + resetTarget = instance.elements.commands.maximize; + } else if (instance.get('closable')) { + resetTarget = instance.elements.commands.close; + } + } + // if no reset target found, try finding the best button + if (resetTarget === undefined) { + if (typeof instance.__internal.focus.element === 'number') { + // button focus element, go to first available button + if (target === instance.elements.reset[0]) { + resetTarget = instance.elements.buttons.auxiliary.firstChild || instance.elements.buttons.primary.firstChild; + } else if (lastResetElement) { + //restart the cycle by going to first reset link + resetTarget = instance.elements.reset[0]; + } + } else { + // will reach here when tapping backwards, so go to last child + // The focus element SHOULD NOT be a button (logically!). + if (target === instance.elements.reset[0]) { + resetTarget = instance.elements.buttons.primary.lastChild || instance.elements.buttons.auxiliary.lastChild; + } + } + } + // focus + setFocus(instance, resetTarget); + } + } + /** + * Transition in transitionend event handler. + * + * @param {Event} TransitionEnd event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function handleTransitionInEvent(event, instance) { + // clear the timer + clearTimeout(instance.__internal.timerIn); + + // once transition is complete, set focus + setFocus(instance); + + //restore scroll to prevent document jump + restoreScrollPosition(); + + // allow handling key up after transition ended. + cancelKeyup = false; + + // allow custom `onfocus` method + dispatchEvent('onfocus', instance); + + // unbind the event + off(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); + + removeClass(instance.elements.root, classes.animationIn); + } + + /** + * Transition out transitionend event handler. + * + * @param {Event} TransitionEnd event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function handleTransitionOutEvent(event, instance) { + // clear the timer + clearTimeout(instance.__internal.timerOut); + // unbind the event + off(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); + + // reset move updates + resetMove(instance); + // reset resize updates + resetResize(instance); + + // restore if maximized + if (instance.isMaximized() && !instance.get('startMaximized')) { + restore(instance); + } + + // return focus to the last active element + if (alertify.defaults.maintainFocus && instance.__internal.activeElement) { + instance.__internal.activeElement.focus(); + instance.__internal.activeElement = null; + } + + //destory the instance + if (typeof instance.__internal.destroy === 'function') { + instance.__internal.destroy.apply(instance); + } + } + /* Controls moving a dialog around */ + //holde the current moving instance + var movable = null, + //holds the current X offset when move starts + offsetX = 0, + //holds the current Y offset when move starts + offsetY = 0, + xProp = 'pageX', + yProp = 'pageY', + bounds = null, + refreshTop = false, + moveDelegate = null + ; + + /** + * Helper: sets the element top/left coordinates + * + * @param {Event} event DOM event object. + * @param {Node} element The element being moved. + * + * @return {undefined} + */ + function moveElement(event, element) { + var left = (event[xProp] - offsetX), + top = (event[yProp] - offsetY); + + if(refreshTop){ + top -= document.body.scrollTop; + } + + element.style.left = left + 'px'; + element.style.top = top + 'px'; + + } + /** + * Helper: sets the element top/left coordinates within screen bounds + * + * @param {Event} event DOM event object. + * @param {Node} element The element being moved. + * + * @return {undefined} + */ + function moveElementBounded(event, element) { + var left = (event[xProp] - offsetX), + top = (event[yProp] - offsetY); + + if(refreshTop){ + top -= document.body.scrollTop; + } + + element.style.left = Math.min(bounds.maxLeft, Math.max(bounds.minLeft, left)) + 'px'; + if(refreshTop){ + element.style.top = Math.min(bounds.maxTop, Math.max(bounds.minTop, top)) + 'px'; + }else{ + element.style.top = Math.max(bounds.minTop, top) + 'px'; + } + } + + + /** + * Triggers the start of a move event, attached to the header element mouse down event. + * Adds no-selection class to the body, disabling selection while moving. + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {Boolean} false + */ + function beginMove(event, instance) { + if (resizable === null && !instance.isMaximized() && instance.get('movable')) { + var eventSrc, left=0, top=0; + if (event.type === 'touchstart') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + xProp = 'clientX'; + yProp = 'clientY'; + } else if (event.button === 0) { + eventSrc = event; + } + + if (eventSrc) { + + var element = instance.elements.dialog; + addClass(element, classes.capture); + + if (element.style.left) { + left = parseInt(element.style.left, 10); + } + + if (element.style.top) { + top = parseInt(element.style.top, 10); + } + + offsetX = eventSrc[xProp] - left; + offsetY = eventSrc[yProp] - top; + + if(instance.isModal()){ + offsetY += instance.elements.modal.scrollTop; + }else if(instance.isPinned()){ + offsetY -= document.body.scrollTop; + } + + if(instance.get('moveBounded')){ + var current = element, + offsetLeft = -left, + offsetTop = -top; + + //calc offset + do { + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + bounds = { + maxLeft : offsetLeft, + minLeft : -offsetLeft, + maxTop : document.documentElement.clientHeight - element.clientHeight - offsetTop, + minTop : -offsetTop + }; + moveDelegate = moveElementBounded; + }else{ + bounds = null; + moveDelegate = moveElement; + } + + // allow custom `onmove` method + dispatchEvent('onmove', instance); + + refreshTop = !instance.isModal() && instance.isPinned(); + movable = instance; + moveDelegate(eventSrc, element); + addClass(document.body, classes.noSelection); + return false; + } + } + } + + /** + * The actual move handler, attached to document.body mousemove event. + * + * @param {Event} event DOM event object. + * + * @return {undefined} + */ + function move(event) { + if (movable) { + var eventSrc; + if (event.type === 'touchmove') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + moveDelegate(eventSrc, movable.elements.dialog); + } + } + } - // unbind the event - off( - instance.elements.dialog, - transition.type, - instance.__internal.transitionInHandler - ); + /** + * Triggers the end of a move event, attached to document.body mouseup event. + * Removes no-selection class from document.body, allowing selection. + * + * @return {undefined} + */ + function endMove() { + if (movable) { + var instance = movable; + movable = bounds = null; + removeClass(document.body, classes.noSelection); + removeClass(instance.elements.dialog, classes.capture); + // allow custom `onmoved` method + dispatchEvent('onmoved', instance); + } + } - removeClass(instance.elements.root, classes.animationIn); - } + /** + * Resets any changes made by moving the element to its original state, + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function resetMove(instance) { + movable = null; + var element = instance.elements.dialog; + element.style.left = element.style.top = ''; + } - /** - * Transition out transitionend event handler. - * - * @param {Event} TransitionEnd event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function handleTransitionOutEvent(event, instance) { - // clear the timer - clearTimeout(instance.__internal.timerOut); - // unbind the event - off( - instance.elements.dialog, - transition.type, - instance.__internal.transitionOutHandler - ); - - // reset move updates - resetMove(instance); - // reset resize updates - resetResize(instance); - - // restore if maximized - if (instance.isMaximized() && !instance.get("startMaximized")) { - restore(instance); - } - - // return focus to the last active element - if ( - alertify.defaults.maintainFocus && - instance.__internal.activeElement - ) { - instance.__internal.activeElement.focus(); - instance.__internal.activeElement = null; - } - - //destory the instance - if (typeof instance.__internal.destroy === "function") { - instance.__internal.destroy.apply(instance); - } - } - /* Controls moving a dialog around */ - //holde the current moving instance - var movable = null, - //holds the current X offset when move starts - offsetX = 0, - //holds the current Y offset when move starts - offsetY = 0, - xProp = "pageX", - yProp = "pageY", - bounds = null, - refreshTop = false, - moveDelegate = null; - /** - * Helper: sets the element top/left coordinates - * - * @param {Event} event DOM event object. - * @param {Node} element The element being moved. - * - * @return {undefined} - */ - function moveElement(event, element) { - var left = event[xProp] - offsetX, - top = event[yProp] - offsetY; + /** + * Updates the dialog move behavior. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateMovable(instance) { + if (instance.get('movable')) { + // add class + addClass(instance.elements.root, classes.movable); + if (instance.isOpen()) { + bindMovableEvents(instance); + } + } else { - if (refreshTop) { - top -= document.body.scrollTop; - } + //reset + resetMove(instance); + // remove class + removeClass(instance.elements.root, classes.movable); + if (instance.isOpen()) { + unbindMovableEvents(instance); + } + } + } - element.style.left = left + "px"; - element.style.top = top + "px"; - } - /** - * Helper: sets the element top/left coordinates within screen bounds - * - * @param {Event} event DOM event object. - * @param {Node} element The element being moved. - * - * @return {undefined} - */ - function moveElementBounded(event, element) { - var left = event[xProp] - offsetX, - top = event[yProp] - offsetY; - - if (refreshTop) { - top -= document.body.scrollTop; - } - - element.style.left = - Math.min(bounds.maxLeft, Math.max(bounds.minLeft, left)) + "px"; - if (refreshTop) { - element.style.top = - Math.min(bounds.maxTop, Math.max(bounds.minTop, top)) + "px"; - } else { - element.style.top = Math.max(bounds.minTop, top) + "px"; - } - } + /* Controls moving a dialog around */ + //holde the current instance being resized + var resizable = null, + //holds the staring left offset when resize starts. + startingLeft = Number.Nan, + //holds the staring width when resize starts. + startingWidth = 0, + //holds the initial width when resized for the first time. + minWidth = 0, + //holds the offset of the resize handle. + handleOffset = 0 + ; + + /** + * Helper: sets the element width/height and updates left coordinate if neccessary. + * + * @param {Event} event DOM mousemove event object. + * @param {Node} element The element being moved. + * @param {Boolean} pinned A flag indicating if the element being resized is pinned to the screen. + * + * @return {undefined} + */ + function resizeElement(event, element, pageRelative) { - /** - * Triggers the start of a move event, attached to the header element mouse down event. - * Adds no-selection class to the body, disabling selection while moving. - * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. - * - * @return {Boolean} false - */ - function beginMove(event, instance) { - if ( - resizable === null && - !instance.isMaximized() && - instance.get("movable") - ) { - var eventSrc, - left = 0, - top = 0; - if (event.type === "touchstart") { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - xProp = "clientX"; - yProp = "clientY"; - } else if (event.button === 0) { - eventSrc = event; - } - - if (eventSrc) { - var element = instance.elements.dialog; - addClass(element, classes.capture); - - if (element.style.left) { - left = parseInt(element.style.left, 10); - } - - if (element.style.top) { - top = parseInt(element.style.top, 10); - } - - offsetX = eventSrc[xProp] - left; - offsetY = eventSrc[yProp] - top; - - if (instance.isModal()) { - offsetY += instance.elements.modal.scrollTop; - } else if (instance.isPinned()) { - offsetY -= document.body.scrollTop; - } - - if (instance.get("moveBounded")) { - var current = element, - offsetLeft = -left, - offsetTop = -top; - - //calc offset + //calculate offsets from 0,0 + var current = element; + var offsetLeft = 0; + var offsetTop = 0; do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while ((current = current.offsetParent)); - - bounds = { - maxLeft: offsetLeft, - minLeft: -offsetLeft, - maxTop: - document.documentElement.clientHeight - - element.clientHeight - - offsetTop, - minTop: -offsetTop, - }; - moveDelegate = moveElementBounded; - } else { - bounds = null; - moveDelegate = moveElement; - } - - // allow custom `onmove` method - dispatchEvent("onmove", instance); - - refreshTop = !instance.isModal() && instance.isPinned(); - movable = instance; - moveDelegate(eventSrc, element); - addClass(document.body, classes.noSelection); - return false; - } - } - } + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + // determine X,Y coordinates. + var X, Y; + if (pageRelative === true) { + X = event.pageX; + Y = event.pageY; + } else { + X = event.clientX; + Y = event.clientY; + } + // rtl handling + var isRTL = isRightToLeft(); + if (isRTL) { + // reverse X + X = document.body.offsetWidth - X; + // if has a starting left, calculate offsetRight + if (!isNaN(startingLeft)) { + offsetLeft = document.body.offsetWidth - offsetLeft - element.offsetWidth; + } + } - /** - * The actual move handler, attached to document.body mousemove event. - * - * @param {Event} event DOM event object. - * - * @return {undefined} - */ - function move(event) { - if (movable) { - var eventSrc; - if (event.type === "touchmove") { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - moveDelegate(eventSrc, movable.elements.dialog); - } - } - } + // set width/height + element.style.height = (Y - offsetTop + handleOffset) + 'px'; + element.style.width = (X - offsetLeft + handleOffset) + 'px'; + + // if the element being resized has a starting left, maintain it. + // the dialog is centered, divide by half the offset to maintain the margins. + if (!isNaN(startingLeft)) { + var diff = Math.abs(element.offsetWidth - startingWidth) * 0.5; + if (isRTL) { + //negate the diff, why? + //when growing it should decrease left + //when shrinking it should increase left + diff *= -1; + } + if (element.offsetWidth > startingWidth) { + //growing + element.style.left = (startingLeft + diff) + 'px'; + } else if (element.offsetWidth >= minWidth) { + //shrinking + element.style.left = (startingLeft - diff) + 'px'; + } + } + } - /** - * Triggers the end of a move event, attached to document.body mouseup event. - * Removes no-selection class from document.body, allowing selection. - * - * @return {undefined} - */ - function endMove() { - if (movable) { - var instance = movable; - movable = bounds = null; - removeClass(document.body, classes.noSelection); - removeClass(instance.elements.dialog, classes.capture); - // allow custom `onmoved` method - dispatchEvent("onmoved", instance); - } - } + /** + * Triggers the start of a resize event, attached to the resize handle element mouse down event. + * Adds no-selection class to the body, disabling selection while moving. + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {Boolean} false + */ + function beginResize(event, instance) { + if (!instance.isMaximized()) { + var eventSrc; + if (event.type === 'touchstart') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + // allow custom `onresize` method + dispatchEvent('onresize', instance); + + resizable = instance; + handleOffset = instance.elements.resizeHandle.offsetHeight / 2; + var element = instance.elements.dialog; + addClass(element, classes.capture); + startingLeft = parseInt(element.style.left, 10); + element.style.height = element.offsetHeight + 'px'; + element.style.minHeight = instance.elements.header.offsetHeight + instance.elements.footer.offsetHeight + 'px'; + element.style.width = (startingWidth = element.offsetWidth) + 'px'; + + if (element.style.maxWidth !== 'none') { + element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; + } + element.style.maxWidth = 'none'; + addClass(document.body, classes.noSelection); + return false; + } + } + } - /** - * Resets any changes made by moving the element to its original state, - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function resetMove(instance) { - movable = null; - var element = instance.elements.dialog; - element.style.left = element.style.top = ""; - } + /** + * The actual resize handler, attached to document.body mousemove event. + * + * @param {Event} event DOM event object. + * + * @return {undefined} + */ + function resize(event) { + if (resizable) { + var eventSrc; + if (event.type === 'touchmove') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned')); + } + } + } - /** - * Updates the dialog move behavior. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateMovable(instance) { - if (instance.get("movable")) { - // add class - addClass(instance.elements.root, classes.movable); - if (instance.isOpen()) { - bindMovableEvents(instance); - } - } else { - //reset - resetMove(instance); - // remove class - removeClass(instance.elements.root, classes.movable); - if (instance.isOpen()) { - unbindMovableEvents(instance); - } - } - } + /** + * Triggers the end of a resize event, attached to document.body mouseup event. + * Removes no-selection class from document.body, allowing selection. + * + * @return {undefined} + */ + function endResize() { + if (resizable) { + var instance = resizable; + resizable = null; + removeClass(document.body, classes.noSelection); + removeClass(instance.elements.dialog, classes.capture); + cancelClick = true; + // allow custom `onresized` method + dispatchEvent('onresized', instance); + } + } - /* Controls moving a dialog around */ - //holde the current instance being resized - var resizable = null, - //holds the staring left offset when resize starts. - startingLeft = Number.Nan, - //holds the staring width when resize starts. - startingWidth = 0, - //holds the initial width when resized for the first time. - minWidth = 0, - //holds the offset of the resize handle. - handleOffset = 0; - /** - * Helper: sets the element width/height and updates left coordinate if neccessary. - * - * @param {Event} event DOM mousemove event object. - * @param {Node} element The element being moved. - * @param {Boolean} pinned A flag indicating if the element being resized is pinned to the screen. - * - * @return {undefined} - */ - function resizeElement(event, element, pageRelative) { - //calculate offsets from 0,0 - var current = element; - var offsetLeft = 0; - var offsetTop = 0; - do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while ((current = current.offsetParent)); - - // determine X,Y coordinates. - var X, Y; - if (pageRelative === true) { - X = event.pageX; - Y = event.pageY; - } else { - X = event.clientX; - Y = event.clientY; - } - // rtl handling - var isRTL = isRightToLeft(); - if (isRTL) { - // reverse X - X = document.body.offsetWidth - X; - // if has a starting left, calculate offsetRight - if (!isNaN(startingLeft)) { - offsetLeft = - document.body.offsetWidth - offsetLeft - element.offsetWidth; - } - } - - // set width/height - element.style.height = Y - offsetTop + handleOffset + "px"; - element.style.width = X - offsetLeft + handleOffset + "px"; - - // if the element being resized has a starting left, maintain it. - // the dialog is centered, divide by half the offset to maintain the margins. - if (!isNaN(startingLeft)) { - var diff = Math.abs(element.offsetWidth - startingWidth) * 0.5; - if (isRTL) { - //negate the diff, why? - //when growing it should decrease left - //when shrinking it should increase left - diff *= -1; - } - if (element.offsetWidth > startingWidth) { - //growing - element.style.left = startingLeft + diff + "px"; - } else if (element.offsetWidth >= minWidth) { - //shrinking - element.style.left = startingLeft - diff + "px"; - } - } - } + /** + * Resets any changes made by resizing the element to its original state. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function resetResize(instance) { + resizable = null; + var element = instance.elements.dialog; + if (element.style.maxWidth === 'none') { + //clear inline styles. + element.style.maxWidth = element.style.minWidth = element.style.width = element.style.height = element.style.minHeight = element.style.left = ''; + //reset variables. + startingLeft = Number.Nan; + startingWidth = minWidth = handleOffset = 0; + } + } - /** - * Triggers the start of a resize event, attached to the resize handle element mouse down event. - * Adds no-selection class to the body, disabling selection while moving. - * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. - * - * @return {Boolean} false - */ - function beginResize(event, instance) { - if (!instance.isMaximized()) { - var eventSrc; - if (event.type === "touchstart") { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - // allow custom `onresize` method - dispatchEvent("onresize", instance); - - resizable = instance; - handleOffset = instance.elements.resizeHandle.offsetHeight / 2; - var element = instance.elements.dialog; - addClass(element, classes.capture); - startingLeft = parseInt(element.style.left, 10); - element.style.height = element.offsetHeight + "px"; - element.style.minHeight = - instance.elements.header.offsetHeight + - instance.elements.footer.offsetHeight + - "px"; - element.style.width = (startingWidth = element.offsetWidth) + "px"; - - if (element.style.maxWidth !== "none") { - element.style.minWidth = (minWidth = element.offsetWidth) + "px"; - } - element.style.maxWidth = "none"; - addClass(document.body, classes.noSelection); - return false; - } - } - } - /** - * The actual resize handler, attached to document.body mousemove event. - * - * @param {Event} event DOM event object. - * - * @return {undefined} - */ - function resize(event) { - if (resizable) { - var eventSrc; - if (event.type === "touchmove") { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - resizeElement( - eventSrc, - resizable.elements.dialog, - !resizable.get("modal") && !resizable.get("pinned") - ); - } - } - } + /** + * Updates the dialog move behavior. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateResizable(instance) { + if (instance.get('resizable')) { + // add class + addClass(instance.elements.root, classes.resizable); + if (instance.isOpen()) { + bindResizableEvents(instance); + } + } else { + //reset + resetResize(instance); + // remove class + removeClass(instance.elements.root, classes.resizable); + if (instance.isOpen()) { + unbindResizableEvents(instance); + } + } + } - /** - * Triggers the end of a resize event, attached to document.body mouseup event. - * Removes no-selection class from document.body, allowing selection. - * - * @return {undefined} - */ - function endResize() { - if (resizable) { - var instance = resizable; - resizable = null; - removeClass(document.body, classes.noSelection); - removeClass(instance.elements.dialog, classes.capture); - cancelClick = true; - // allow custom `onresized` method - dispatchEvent("onresized", instance); - } - } + /** + * Reset move/resize on window resize. + * + * @param {Event} event window resize event object. + * + * @return {undefined} + */ + function windowResize(/*event*/) { + for (var x = 0; x < openDialogs.length; x += 1) { + var instance = openDialogs[x]; + if (instance.get('autoReset')) { + resetMove(instance); + resetResize(instance); + } + } + } + /** + * Bind dialogs events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindEvents(instance) { + // if first dialog, hook global handlers + if (openDialogs.length === 1) { + //global + on(window, 'resize', windowResize); + on(document.body, 'keyup', keyupHandler); + on(document.body, 'keydown', keydownHandler); + on(document.body, 'focus', onReset); + + //move + on(document.documentElement, 'mousemove', move); + on(document.documentElement, 'touchmove', move); + on(document.documentElement, 'mouseup', endMove); + on(document.documentElement, 'touchend', endMove); + //resize + on(document.documentElement, 'mousemove', resize); + on(document.documentElement, 'touchmove', resize); + on(document.documentElement, 'mouseup', endResize); + on(document.documentElement, 'touchend', endResize); + } - /** - * Resets any changes made by resizing the element to its original state. - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function resetResize(instance) { - resizable = null; - var element = instance.elements.dialog; - if (element.style.maxWidth === "none") { - //clear inline styles. - element.style.maxWidth = - element.style.minWidth = - element.style.width = - element.style.height = - element.style.minHeight = - element.style.left = - ""; - //reset variables. - startingLeft = Number.Nan; - startingWidth = minWidth = handleOffset = 0; - } - } + // common events + on(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); + on(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); + on(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); + on(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); - /** - * Updates the dialog move behavior. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateResizable(instance) { - if (instance.get("resizable")) { - // add class - addClass(instance.elements.root, classes.resizable); - if (instance.isOpen()) { - bindResizableEvents(instance); - } - } else { - //reset - resetResize(instance); - // remove class - removeClass(instance.elements.root, classes.resizable); - if (instance.isOpen()) { - unbindResizableEvents(instance); - } - } - } + //prevent handling key up when dialog is being opened by a key stroke. + cancelKeyup = true; + // hook in transition handler + on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); - /** - * Reset move/resize on window resize. - * - * @param {Event} event window resize event object. - * - * @return {undefined} - */ - function windowResize(/*event*/) { - for (var x = 0; x < openDialogs.length; x += 1) { - var instance = openDialogs[x]; - if (instance.get("autoReset")) { - resetMove(instance); - resetResize(instance); - } - } - } - /** - * Bind dialogs events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindEvents(instance) { - // if first dialog, hook global handlers - if (openDialogs.length === 1) { - //global - on(window, "resize", windowResize); - on(document.body, "keyup", keyupHandler); - on(document.body, "keydown", keydownHandler); - on(document.body, "focus", onReset); - - //move - on(document.documentElement, "mousemove", move); - on(document.documentElement, "touchmove", move); - on(document.documentElement, "mouseup", endMove); - on(document.documentElement, "touchend", endMove); - //resize - on(document.documentElement, "mousemove", resize); - on(document.documentElement, "touchmove", resize); - on(document.documentElement, "mouseup", endResize); - on(document.documentElement, "touchend", endResize); - } - - // common events - on( - instance.elements.commands.container, - "click", - instance.__internal.commandsClickHandler - ); - on( - instance.elements.footer, - "click", - instance.__internal.buttonsClickHandler - ); - on(instance.elements.reset[0], "focus", instance.__internal.resetHandler); - on(instance.elements.reset[1], "focus", instance.__internal.resetHandler); - - //prevent handling key up when dialog is being opened by a key stroke. - cancelKeyup = true; - // hook in transition handler - on( - instance.elements.dialog, - transition.type, - instance.__internal.transitionInHandler - ); - - // modelss only events - if (!instance.get("modal")) { - bindModelessEvents(instance); - } - - // resizable - if (instance.get("resizable")) { - bindResizableEvents(instance); - } - - // movable - if (instance.get("movable")) { - bindMovableEvents(instance); - } - } + // modelss only events + if (!instance.get('modal')) { + bindModelessEvents(instance); + } - /** - * Unbind dialogs events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindEvents(instance) { - // if last dialog, remove global handlers - if (openDialogs.length === 1) { - //global - off(window, "resize", windowResize); - off(document.body, "keyup", keyupHandler); - off(document.body, "keydown", keydownHandler); - off(document.body, "focus", onReset); - //move - off(document.documentElement, "mousemove", move); - off(document.documentElement, "mouseup", endMove); - //resize - off(document.documentElement, "mousemove", resize); - off(document.documentElement, "mouseup", endResize); - } - - // common events - off( - instance.elements.commands.container, - "click", - instance.__internal.commandsClickHandler - ); - off( - instance.elements.footer, - "click", - instance.__internal.buttonsClickHandler - ); - off( - instance.elements.reset[0], - "focus", - instance.__internal.resetHandler - ); - off( - instance.elements.reset[1], - "focus", - instance.__internal.resetHandler - ); - - // hook out transition handler - on( - instance.elements.dialog, - transition.type, - instance.__internal.transitionOutHandler - ); - - // modelss only events - if (!instance.get("modal")) { - unbindModelessEvents(instance); - } - - // movable - if (instance.get("movable")) { - unbindMovableEvents(instance); - } - - // resizable - if (instance.get("resizable")) { - unbindResizableEvents(instance); - } - } + // resizable + if (instance.get('resizable')) { + bindResizableEvents(instance); + } + + // movable + if (instance.get('movable')) { + bindMovableEvents(instance); + } + } + + /** + * Unbind dialogs events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindEvents(instance) { + // if last dialog, remove global handlers + if (openDialogs.length === 1) { + //global + off(window, 'resize', windowResize); + off(document.body, 'keyup', keyupHandler); + off(document.body, 'keydown', keydownHandler); + off(document.body, 'focus', onReset); + //move + off(document.documentElement, 'mousemove', move); + off(document.documentElement, 'mouseup', endMove); + //resize + off(document.documentElement, 'mousemove', resize); + off(document.documentElement, 'mouseup', endResize); + } + + // common events + off(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); + off(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); + off(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); + off(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); + + // hook out transition handler + on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); + + // modelss only events + if (!instance.get('modal')) { + unbindModelessEvents(instance); + } + + // movable + if (instance.get('movable')) { + unbindMovableEvents(instance); + } + + // resizable + if (instance.get('resizable')) { + unbindResizableEvents(instance); + } + + } + + /** + * Bind modeless specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindModelessEvents(instance) { + on(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); + } + + /** + * Unbind modeless specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindModelessEvents(instance) { + off(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); + } + + + + /** + * Bind movable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindMovableEvents(instance) { + on(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); + on(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); + } + + /** + * Unbind movable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindMovableEvents(instance) { + off(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); + off(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); + } + + + + /** + * Bind resizable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindResizableEvents(instance) { + on(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); + on(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); + } + + /** + * Unbind resizable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindResizableEvents(instance) { + off(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); + off(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); + } + + /** + * Bind closable events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindClosableEvents(instance) { + on(instance.elements.modal, 'click', instance.__internal.modalClickHandler); + } + + /** + * Unbind closable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindClosableEvents(instance) { + off(instance.elements.modal, 'click', instance.__internal.modalClickHandler); + } + // dialog API + return { + __init:initialize, + /** + * Check if dialog is currently open + * + * @return {Boolean} + */ + isOpen: function () { + return this.__internal.isOpen; + }, + isModal: function (){ + return this.elements.root.className.indexOf(classes.modeless) < 0; + }, + isMaximized:function(){ + return this.elements.root.className.indexOf(classes.maximized) > -1; + }, + isPinned:function(){ + return this.elements.root.className.indexOf(classes.unpinned) < 0; + }, + maximize:function(){ + if(!this.isMaximized()){ + maximize(this); + } + return this; + }, + restore:function(){ + if(this.isMaximized()){ + restore(this); + } + return this; + }, + pin:function(){ + if(!this.isPinned()){ + pin(this); + } + return this; + }, + unpin:function(){ + if(this.isPinned()){ + unpin(this); + } + return this; + }, + bringToFront:function(){ + bringToFront(null, this); + return this; + }, + /** + * Move the dialog to a specific x/y coordinates + * + * @param {Number} x The new dialog x coordinate in pixels. + * @param {Number} y The new dialog y coordinate in pixels. + * + * @return {Object} The dialog instance. + */ + moveTo:function(x,y){ + if(!isNaN(x) && !isNaN(y)){ + // allow custom `onmove` method + dispatchEvent('onmove', this); + + var element = this.elements.dialog, + current = element, + offsetLeft = 0, + offsetTop = 0; + + //subtract existing left,top + if (element.style.left) { + offsetLeft -= parseInt(element.style.left, 10); + } + if (element.style.top) { + offsetTop -= parseInt(element.style.top, 10); + } + //calc offset + do { + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + //calc left, top + var left = (x - offsetLeft); + var top = (y - offsetTop); + + //// rtl handling + if (isRightToLeft()) { + left *= -1; + } + + element.style.left = left + 'px'; + element.style.top = top + 'px'; + + // allow custom `onmoved` method + dispatchEvent('onmoved', this); + } + return this; + }, + /** + * Resize the dialog to a specific width/height (the dialog must be 'resizable'). + * The dialog can be resized to: + * A minimum width equal to the initial display width + * A minimum height equal to the sum of header/footer heights. + * + * + * @param {Number or String} width The new dialog width in pixels or in percent. + * @param {Number or String} height The new dialog height in pixels or in percent. + * + * @return {Object} The dialog instance. + */ + resizeTo:function(width,height){ + var w = parseFloat(width), + h = parseFloat(height), + regex = /(\d*\.\d+|\d+)%/ + ; + + if(!isNaN(w) && !isNaN(h) && this.get('resizable') === true){ + + // allow custom `onresize` method + dispatchEvent('onresize', this); + + if(('' + width).match(regex)){ + w = w / 100 * document.documentElement.clientWidth ; + } + + if(('' + height).match(regex)){ + h = h / 100 * document.documentElement.clientHeight; + } + + var element = this.elements.dialog; + if (element.style.maxWidth !== 'none') { + element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; + } + element.style.maxWidth = 'none'; + element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px'; + element.style.width = w + 'px'; + element.style.height = h + 'px'; + + // allow custom `onresized` method + dispatchEvent('onresized', this); + } + return this; + }, + /** + * Gets or Sets dialog settings/options + * + * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. + * @param {Object} value Optional, the value associated with the key (in case it was a string). + * + * @return {undefined} + */ + setting : function (key, value) { + var self = this; + var result = update(this, this.__internal.options, function(k,o,n){ optionUpdated(self,k,o,n); }, key, value); + if(result.op === 'get'){ + if(result.found){ + return result.value; + }else if(typeof this.settings !== 'undefined'){ + return update(this, this.settings, this.settingUpdated || function(){}, key, value).value; + }else{ + return undefined; + } + }else if(result.op === 'set'){ + if(result.items.length > 0){ + var callback = this.settingUpdated || function(){}; + for(var x=0;x<result.items.length;x+=1){ + var item = result.items[x]; + if(!item.found && typeof this.settings !== 'undefined'){ + update(this, this.settings, callback, item.key, item.value); + } + } + } + return this; + } + }, + /** + * [Alias] Sets dialog settings/options + */ + set:function(key, value){ + this.setting(key,value); + return this; + }, + /** + * [Alias] Gets dialog settings/options + */ + get:function(key){ + return this.setting(key); + }, + /** + * Sets dialog header + * @content {string or element} + * + * @return {undefined} + */ + setHeader:function(content){ + if(typeof content === 'string'){ + clearContents(this.elements.header); + this.elements.header.innerHTML = content; + }else if (content instanceof window.HTMLElement && this.elements.header.firstChild !== content){ + clearContents(this.elements.header); + this.elements.header.appendChild(content); + } + return this; + }, + /** + * Sets dialog contents + * @content {string or element} + * + * @return {undefined} + */ + setContent:function(content){ + if(typeof content === 'string'){ + clearContents(this.elements.content); + this.elements.content.innerHTML = content; + }else if (content instanceof window.HTMLElement && this.elements.content.firstChild !== content){ + clearContents(this.elements.content); + this.elements.content.appendChild(content); + } + return this; + }, + /** + * Show the dialog as modal + * + * @return {Object} the dialog instance. + */ + showModal: function(className){ + return this.show(true, className); + }, + /** + * Show the dialog + * + * @return {Object} the dialog instance. + */ + show: function (modal, className) { + + // ensure initialization + initialize(this); + + if ( !this.__internal.isOpen ) { + + // add to open dialogs + this.__internal.isOpen = true; + openDialogs.push(this); + + // save last focused element + if(alertify.defaults.maintainFocus){ + this.__internal.activeElement = document.activeElement; + } + + // set tabindex attribute on body element this allows script to give it focusable + if(!document.body.hasAttribute('tabindex')) { + document.body.setAttribute( 'tabindex', tabindex = '0'); + } + + //allow custom dom manipulation updates before showing the dialog. + if(typeof this.prepare === 'function'){ + this.prepare(); + } + + bindEvents(this); + + if(modal !== undefined){ + this.set('modal', modal); + } + + //save scroll to prevent document jump + saveScrollPosition(); + + ensureNoOverflow(); + + // allow custom dialog class on show + if(typeof className === 'string' && className !== ''){ + this.__internal.className = className; + addClass(this.elements.root, className); + } + + // maximize if start maximized + if ( this.get('startMaximized')) { + this.maximize(); + }else if(this.isMaximized()){ + restore(this); + } + + updateAbsPositionFix(this); + this.elements.root.removeAttribute('style'); + removeClass(this.elements.root, classes.animationOut); + addClass(this.elements.root, classes.animationIn); + + // set 1s fallback in case transition event doesn't fire + clearTimeout( this.__internal.timerIn); + this.__internal.timerIn = setTimeout( this.__internal.transitionInHandler, transition.supported ? 1000 : 100 ); + + if(isSafari){ + // force desktop safari reflow + var root = this.elements.root; + root.style.display = 'none'; + setTimeout(function(){root.style.display = 'block';}, 0); + } + + //reflow + reflow = this.elements.root.offsetWidth; + + // show dialog + removeClass(this.elements.root, classes.hidden); + + // internal on show event + if(typeof this.hooks.onshow === 'function'){ + this.hooks.onshow.call(this); + } + + // allow custom `onshow` method + dispatchEvent('onshow', this); + + }else{ + // reset move updates + resetMove(this); + // reset resize updates + resetResize(this); + // shake the dialog to indicate its already open + addClass(this.elements.dialog, classes.shake); + var self = this; + setTimeout(function(){ + removeClass(self.elements.dialog, classes.shake); + },200); + } + return this; + }, + /** + * Close the dialog + * + * @return {Object} The dialog instance + */ + close: function () { + if (this.__internal.isOpen ) { + // custom `onclosing` event + if(dispatchEvent('onclosing', this) !== false){ + + unbindEvents(this); + + removeClass(this.elements.root, classes.animationIn); + addClass(this.elements.root, classes.animationOut); + + // set 1s fallback in case transition event doesn't fire + clearTimeout( this.__internal.timerOut ); + this.__internal.timerOut = setTimeout( this.__internal.transitionOutHandler, transition.supported ? 1000 : 100 ); + // hide dialog + addClass(this.elements.root, classes.hidden); + //reflow + reflow = this.elements.modal.offsetWidth; + + // remove custom dialog class on hide + if (typeof this.__internal.className !== 'undefined' && this.__internal.className !== '') { + removeClass(this.elements.root, this.__internal.className); + } + + // internal on close event + if(typeof this.hooks.onclose === 'function'){ + this.hooks.onclose.call(this); + } + + // allow custom `onclose` method + dispatchEvent('onclose', this); + + //remove from open dialogs + openDialogs.splice(openDialogs.indexOf(this),1); + this.__internal.isOpen = false; + + ensureNoOverflow(); + } - /** - * Bind modeless specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindModelessEvents(instance) { - on( - instance.elements.dialog, - "focus", - instance.__internal.bringToFrontHandler, - true - ); - } + } + // last dialog and tab index was set by us, remove it. + if(!openDialogs.length && tabindex === '0'){ + document.body.removeAttribute('tabindex'); + } + return this; + }, + /** + * Close all open dialogs except this. + * + * @return {undefined} + */ + closeOthers:function(){ + alertify.closeAll(this); + return this; + }, + /** + * Destroys this dialog instance + * + * @return {undefined} + */ + destroy:function(){ + if(this.__internal) { + if (this.__internal.isOpen ) { + //mark dialog for destruction, this will be called on tranistionOut event. + this.__internal.destroy = function(){ + destruct(this, initialize); + }; + //close the dialog to unbind all events. + this.close(); + }else if(!this.__internal.destroy){ + destruct(this, initialize); + } + } + return this; + }, + }; + } () ); + var notifier = (function () { + var reflow, + element, + openInstances = [], + classes = { + base: 'alertify-notifier', + message: 'ajs-message', + top: 'ajs-top', + right: 'ajs-right', + bottom: 'ajs-bottom', + left: 'ajs-left', + center: 'ajs-center', + visible: 'ajs-visible', + hidden: 'ajs-hidden', + close: 'ajs-close' + }; + /** + * Helper: initializes the notifier instance + * + */ + function initialize(instance) { - /** - * Unbind modeless specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindModelessEvents(instance) { - off( - instance.elements.dialog, - "focus", - instance.__internal.bringToFrontHandler, - true - ); - } + if (!instance.__internal) { + instance.__internal = { + position: alertify.defaults.notifier.position, + delay: alertify.defaults.notifier.delay, + }; - /** - * Bind movable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindMovableEvents(instance) { - on( - instance.elements.header, - "mousedown", - instance.__internal.beginMoveHandler - ); - on( - instance.elements.header, - "touchstart", - instance.__internal.beginMoveHandler - ); - } + element = document.createElement('DIV'); - /** - * Unbind movable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindMovableEvents(instance) { - off( - instance.elements.header, - "mousedown", - instance.__internal.beginMoveHandler - ); - off( - instance.elements.header, - "touchstart", - instance.__internal.beginMoveHandler - ); - } + updatePosition(instance); + } - /** - * Bind resizable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindResizableEvents(instance) { - on( - instance.elements.resizeHandle, - "mousedown", - instance.__internal.beginResizeHandler - ); - on( - instance.elements.resizeHandle, - "touchstart", - instance.__internal.beginResizeHandler - ); - } + //add to DOM tree. + if (element.parentNode !== document.body) { + document.body.appendChild(element); + } + } - /** - * Unbind resizable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindResizableEvents(instance) { - off( - instance.elements.resizeHandle, - "mousedown", - instance.__internal.beginResizeHandler - ); - off( - instance.elements.resizeHandle, - "touchstart", - instance.__internal.beginResizeHandler - ); - } + function pushInstance(instance) { + instance.__internal.pushed = true; + openInstances.push(instance); + } + function popInstance(instance) { + openInstances.splice(openInstances.indexOf(instance), 1); + instance.__internal.pushed = false; + } + /** + * Helper: update the notifier instance position + * + */ + function updatePosition(instance) { + element.className = classes.base; + switch (instance.__internal.position) { + case 'top-right': + addClass(element, classes.top + ' ' + classes.right); + break; + case 'top-left': + addClass(element, classes.top + ' ' + classes.left); + break; + case 'top-center': + addClass(element, classes.top + ' ' + classes.center); + break; + case 'bottom-left': + addClass(element, classes.bottom + ' ' + classes.left); + break; + case 'bottom-center': + addClass(element, classes.bottom + ' ' + classes.center); + break; - /** - * Bind closable events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindClosableEvents(instance) { - on( - instance.elements.modal, - "click", - instance.__internal.modalClickHandler - ); - } + default: + case 'bottom-right': + addClass(element, classes.bottom + ' ' + classes.right); + break; + } + } - /** - * Unbind closable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindClosableEvents(instance) { - off( - instance.elements.modal, - "click", - instance.__internal.modalClickHandler - ); - } - // dialog API - return { - __init: initialize, - /** - * Check if dialog is currently open - * - * @return {Boolean} - */ - isOpen: function () { - return this.__internal.isOpen; - }, - isModal: function () { - return this.elements.root.className.indexOf(classes.modeless) < 0; - }, - isMaximized: function () { - return this.elements.root.className.indexOf(classes.maximized) > -1; - }, - isPinned: function () { - return this.elements.root.className.indexOf(classes.unpinned) < 0; - }, - maximize: function () { - if (!this.isMaximized()) { - maximize(this); - } - return this; - }, - restore: function () { - if (this.isMaximized()) { - restore(this); - } - return this; - }, - pin: function () { - if (!this.isPinned()) { - pin(this); - } - return this; - }, - unpin: function () { - if (this.isPinned()) { - unpin(this); - } - return this; - }, - bringToFront: function () { - bringToFront(null, this); - return this; - }, - /** - * Move the dialog to a specific x/y coordinates - * - * @param {Number} x The new dialog x coordinate in pixels. - * @param {Number} y The new dialog y coordinate in pixels. - * - * @return {Object} The dialog instance. - */ - moveTo: function (x, y) { - if (!isNaN(x) && !isNaN(y)) { - // allow custom `onmove` method - dispatchEvent("onmove", this); - - var element = this.elements.dialog, - current = element, - offsetLeft = 0, - offsetTop = 0; - - //subtract existing left,top - if (element.style.left) { - offsetLeft -= parseInt(element.style.left, 10); - } - if (element.style.top) { - offsetTop -= parseInt(element.style.top, 10); - } - //calc offset - do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while ((current = current.offsetParent)); - - //calc left, top - var left = x - offsetLeft; - var top = y - offsetTop; - - //// rtl handling - if (isRightToLeft()) { - left *= -1; - } - - element.style.left = left + "px"; - element.style.top = top + "px"; - - // allow custom `onmoved` method - dispatchEvent("onmoved", this); - } - return this; - }, - /** - * Resize the dialog to a specific width/height (the dialog must be 'resizable'). - * The dialog can be resized to: - * A minimum width equal to the initial display width - * A minimum height equal to the sum of header/footer heights. - * - * - * @param {Number or String} width The new dialog width in pixels or in percent. - * @param {Number or String} height The new dialog height in pixels or in percent. - * - * @return {Object} The dialog instance. - */ - resizeTo: function (width, height) { - var w = parseFloat(width), - h = parseFloat(height), - regex = /(\d*\.\d+|\d+)%/; - if (!isNaN(w) && !isNaN(h) && this.get("resizable") === true) { - // allow custom `onresize` method - dispatchEvent("onresize", this); - - if (("" + width).match(regex)) { - w = (w / 100) * document.documentElement.clientWidth; - } - - if (("" + height).match(regex)) { - h = (h / 100) * document.documentElement.clientHeight; - } - - var element = this.elements.dialog; - if (element.style.maxWidth !== "none") { - element.style.minWidth = (minWidth = element.offsetWidth) + "px"; - } - element.style.maxWidth = "none"; - element.style.minHeight = - this.elements.header.offsetHeight + - this.elements.footer.offsetHeight + - "px"; - element.style.width = w + "px"; - element.style.height = h + "px"; - - // allow custom `onresized` method - dispatchEvent("onresized", this); - } - return this; - }, - /** - * Gets or Sets dialog settings/options - * - * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. - * @param {Object} value Optional, the value associated with the key (in case it was a string). - * - * @return {undefined} - */ - setting: function (key, value) { - var self = this; - var result = update( - this, - this.__internal.options, - function (k, o, n) { - optionUpdated(self, k, o, n); - }, - key, - value - ); - if (result.op === "get") { - if (result.found) { - return result.value; - } else if (typeof this.settings !== "undefined") { - return update( - this, - this.settings, - this.settingUpdated || function () {}, - key, - value - ).value; - } else { - return undefined; - } - } else if (result.op === "set") { - if (result.items.length > 0) { - var callback = this.settingUpdated || function () {}; - for (var x = 0; x < result.items.length; x += 1) { - var item = result.items[x]; - if (!item.found && typeof this.settings !== "undefined") { - update(this, this.settings, callback, item.key, item.value); - } - } - } - return this; - } - }, - /** - * [Alias] Sets dialog settings/options - */ - set: function (key, value) { - this.setting(key, value); - return this; - }, - /** - * [Alias] Gets dialog settings/options - */ - get: function (key) { - return this.setting(key); - }, - /** - * Sets dialog header - * @content {string or element} - * - * @return {undefined} - */ - setHeader: function (content) { - if (typeof content === "string") { - clearContents(this.elements.header); - this.elements.header.innerHTML = content; - } else if ( - content instanceof window.HTMLElement && - this.elements.header.firstChild !== content - ) { - clearContents(this.elements.header); - this.elements.header.appendChild(content); - } - return this; - }, - /** - * Sets dialog contents - * @content {string or element} - * - * @return {undefined} - */ - setContent: function (content) { - if (typeof content === "string") { - clearContents(this.elements.content); - this.elements.content.innerHTML = content; - } else if ( - content instanceof window.HTMLElement && - this.elements.content.firstChild !== content - ) { - clearContents(this.elements.content); - this.elements.content.appendChild(content); - } - return this; - }, - /** - * Show the dialog as modal - * - * @return {Object} the dialog instance. - */ - showModal: function (className) { - return this.show(true, className); - }, - /** - * Show the dialog - * - * @return {Object} the dialog instance. - */ - show: function (modal, className) { - // ensure initialization - initialize(this); - - if (!this.__internal.isOpen) { - // add to open dialogs - this.__internal.isOpen = true; - openDialogs.push(this); - - // save last focused element - if (alertify.defaults.maintainFocus) { - this.__internal.activeElement = document.activeElement; - } - - // set tabindex attribute on body element this allows script to give it focusable - if (!document.body.hasAttribute("tabindex")) { - document.body.setAttribute("tabindex", (tabindex = "0")); - } - - //allow custom dom manipulation updates before showing the dialog. - if (typeof this.prepare === "function") { - this.prepare(); - } - - bindEvents(this); - - if (modal !== undefined) { - this.set("modal", modal); - } - - //save scroll to prevent document jump - saveScrollPosition(); - - ensureNoOverflow(); - - // allow custom dialog class on show - if (typeof className === "string" && className !== "") { - this.__internal.className = className; - addClass(this.elements.root, className); - } - - // maximize if start maximized - if (this.get("startMaximized")) { - this.maximize(); - } else if (this.isMaximized()) { - restore(this); - } - - updateAbsPositionFix(this); - this.elements.root.removeAttribute("style"); - removeClass(this.elements.root, classes.animationOut); - addClass(this.elements.root, classes.animationIn); - - // set 1s fallback in case transition event doesn't fire - clearTimeout(this.__internal.timerIn); - this.__internal.timerIn = setTimeout( - this.__internal.transitionInHandler, - transition.supported ? 1000 : 100 - ); - - if (isSafari) { - // force desktop safari reflow - var root = this.elements.root; - root.style.display = "none"; - setTimeout(function () { - root.style.display = "block"; - }, 0); - } - - //reflow - reflow = this.elements.root.offsetWidth; - - // show dialog - removeClass(this.elements.root, classes.hidden); - - // internal on show event - if (typeof this.hooks.onshow === "function") { - this.hooks.onshow.call(this); - } - - // allow custom `onshow` method - dispatchEvent("onshow", this); - } else { - // reset move updates - resetMove(this); - // reset resize updates - resetResize(this); - // shake the dialog to indicate its already open - addClass(this.elements.dialog, classes.shake); - var self = this; - setTimeout(function () { - removeClass(self.elements.dialog, classes.shake); - }, 200); - } - return this; - }, - /** - * Close the dialog - * - * @return {Object} The dialog instance - */ - close: function () { - if (this.__internal.isOpen) { - // custom `onclosing` event - if (dispatchEvent("onclosing", this) !== false) { - unbindEvents(this); - - removeClass(this.elements.root, classes.animationIn); - addClass(this.elements.root, classes.animationOut); - - // set 1s fallback in case transition event doesn't fire - clearTimeout(this.__internal.timerOut); - this.__internal.timerOut = setTimeout( - this.__internal.transitionOutHandler, - transition.supported ? 1000 : 100 - ); - // hide dialog - addClass(this.elements.root, classes.hidden); - //reflow - reflow = this.elements.modal.offsetWidth; - - // remove custom dialog class on hide - if ( - typeof this.__internal.className !== "undefined" && - this.__internal.className !== "" - ) { - removeClass(this.elements.root, this.__internal.className); - } - - // internal on close event - if (typeof this.hooks.onclose === "function") { - this.hooks.onclose.call(this); - } - - // allow custom `onclose` method - dispatchEvent("onclose", this); - - //remove from open dialogs - openDialogs.splice(openDialogs.indexOf(this), 1); - this.__internal.isOpen = false; - - ensureNoOverflow(); - } - } - // last dialog and tab index was set by us, remove it. - if (!openDialogs.length && tabindex === "0") { - document.body.removeAttribute("tabindex"); - } - return this; - }, - /** - * Close all open dialogs except this. - * - * @return {undefined} - */ - closeOthers: function () { - alertify.closeAll(this); - return this; - }, - /** - * Destroys this dialog instance - * - * @return {undefined} - */ - destroy: function () { - if (this.__internal) { - if (this.__internal.isOpen) { - //mark dialog for destruction, this will be called on tranistionOut event. - this.__internal.destroy = function () { - destruct(this, initialize); - }; - //close the dialog to unbind all events. - this.close(); - } else if (!this.__internal.destroy) { - destruct(this, initialize); - } - } - return this; - }, - }; - })(); - var notifier = (function () { - var reflow, - element, - openInstances = [], - classes = { - base: "alertify-notifier", - message: "ajs-message", - top: "ajs-top", - right: "ajs-right", - bottom: "ajs-bottom", - left: "ajs-left", - center: "ajs-center", - visible: "ajs-visible", - hidden: "ajs-hidden", - close: "ajs-close", - }; - /** - * Helper: initializes the notifier instance - * - */ - function initialize(instance) { - if (!instance.__internal) { - instance.__internal = { - position: alertify.defaults.notifier.position, - delay: alertify.defaults.notifier.delay, - }; + /** + * creates a new notification message + * + * @param {DOMElement} message The notifier message element + * @param {Number} wait Time (in ms) to wait before the message is dismissed, a value of 0 means keep open till clicked. + * @param {Function} callback A callback function to be invoked when the message is dismissed. + * + * @return {undefined} + */ + function create(div, callback) { + + function clickDelegate(event, instance) { + if(!instance.__internal.closeButton || event.target.getAttribute('data-close') === 'true'){ + instance.dismiss(true); + } + } - element = document.createElement("DIV"); + function transitionDone(event, instance) { + // unbind event + off(instance.element, transition.type, transitionDone); + // remove the message + element.removeChild(instance.element); + } - updatePosition(instance); - } + function initialize(instance) { + if (!instance.__internal) { + instance.__internal = { + pushed: false, + delay : undefined, + timer: undefined, + clickHandler: undefined, + transitionEndHandler: undefined, + transitionTimeout: undefined + }; + instance.__internal.clickHandler = delegate(instance, clickDelegate); + instance.__internal.transitionEndHandler = delegate(instance, transitionDone); + } + return instance; + } + function clearTimers(instance) { + clearTimeout(instance.__internal.timer); + clearTimeout(instance.__internal.transitionTimeout); + } + return initialize({ + /* notification DOM element*/ + element: div, + /* + * Pushes a notification message + * @param {string or DOMElement} content The notification message content + * @param {Number} wait The time (in seconds) to wait before the message is dismissed, a value of 0 means keep open till clicked. + * + */ + push: function (_content, _wait) { + if (!this.__internal.pushed) { + + pushInstance(this); + clearTimers(this); + + var content, wait; + switch (arguments.length) { + case 0: + wait = this.__internal.delay; + break; + case 1: + if (typeof (_content) === 'number') { + wait = _content; + } else { + content = _content; + wait = this.__internal.delay; + } + break; + case 2: + content = _content; + wait = _wait; + break; + } + this.__internal.closeButton = alertify.defaults.notifier.closeButton; + // set contents + if (typeof content !== 'undefined') { + this.setContent(content); + } + // append or insert + if (notifier.__internal.position.indexOf('top') < 0) { + element.appendChild(this.element); + } else { + element.insertBefore(this.element, element.firstChild); + } + reflow = this.element.offsetWidth; + addClass(this.element, classes.visible); + // attach click event + on(this.element, 'click', this.__internal.clickHandler); + return this.delay(wait); + } + return this; + }, + /* + * {Function} callback function to be invoked before dismissing the notification message. + * Remarks: A return value === 'false' will cancel the dismissal + * + */ + ondismiss: function () { }, + /* + * {Function} callback function to be invoked when the message is dismissed. + * + */ + callback: callback, + /* + * Dismisses the notification message + * @param {Boolean} clicked A flag indicating if the dismissal was caused by a click. + * + */ + dismiss: function (clicked) { + if (this.__internal.pushed) { + clearTimers(this); + if (!(typeof this.ondismiss === 'function' && this.ondismiss.call(this) === false)) { + //detach click event + off(this.element, 'click', this.__internal.clickHandler); + // ensure element exists + if (typeof this.element !== 'undefined' && this.element.parentNode === element) { + //transition end or fallback + this.__internal.transitionTimeout = setTimeout(this.__internal.transitionEndHandler, transition.supported ? 1000 : 100); + removeClass(this.element, classes.visible); + + // custom callback on dismiss + if (typeof this.callback === 'function') { + this.callback.call(this, clicked); + } + } + popInstance(this); + } + } + return this; + }, + /* + * Delays the notification message dismissal + * @param {Number} wait The time (in seconds) to wait before the message is dismissed, a value of 0 means keep open till clicked. + * + */ + delay: function (wait) { + clearTimers(this); + this.__internal.delay = typeof wait !== 'undefined' && !isNaN(+wait) ? +wait : notifier.__internal.delay; + if (this.__internal.delay > 0) { + var self = this; + this.__internal.timer = setTimeout(function () { self.dismiss(); }, this.__internal.delay * 1000); + } + return this; + }, + /* + * Sets the notification message contents + * @param {string or DOMElement} content The notification message content + * + */ + setContent: function (content) { + if (typeof content === 'string') { + clearContents(this.element); + this.element.innerHTML = content; + } else if (content instanceof window.HTMLElement && this.element.firstChild !== content) { + clearContents(this.element); + this.element.appendChild(content); + } + if(this.__internal.closeButton){ + var close = document.createElement('span'); + addClass(close, classes.close); + close.setAttribute('data-close', true); + this.element.appendChild(close); + } + return this; + }, + /* + * Dismisses all open notifications except this. + * + */ + dismissOthers: function () { + notifier.dismissAll(this); + return this; + } + }); + } - //add to DOM tree. - if (element.parentNode !== document.body) { - document.body.appendChild(element); - } - } + //notifier api + return { + /** + * Gets or Sets notifier settings. + * + * @param {string} key The setting name + * @param {Variant} value The setting value. + * + * @return {Object} if the called as a setter, return the notifier instance. + */ + setting: function (key, value) { + //ensure init + initialize(this); + + if (typeof value === 'undefined') { + //get + return this.__internal[key]; + } else { + //set + switch (key) { + case 'position': + this.__internal.position = value; + updatePosition(this); + break; + case 'delay': + this.__internal.delay = value; + break; + } + } + return this; + }, + /** + * [Alias] Sets dialog settings/options + */ + set:function(key,value){ + this.setting(key,value); + return this; + }, + /** + * [Alias] Gets dialog settings/options + */ + get:function(key){ + return this.setting(key); + }, + /** + * Creates a new notification message + * + * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added). + * @param {Function} callback A callback function to be invoked when the message is dismissed. + * + * @return {undefined} + */ + create: function (type, callback) { + //ensure notifier init + initialize(this); + //create new notification message + var div = document.createElement('div'); + div.className = classes.message + ((typeof type === 'string' && type !== '') ? ' ajs-' + type : ''); + return create(div, callback); + }, + /** + * Dismisses all open notifications. + * + * @param {Object} excpet [optional] The notification object to exclude from dismissal. + * + */ + dismissAll: function (except) { + var clone = openInstances.slice(0); + for (var x = 0; x < clone.length; x += 1) { + var instance = clone[x]; + if (except === undefined || except !== instance) { + instance.dismiss(); + } + } + } + }; + })(); - function pushInstance(instance) { - instance.__internal.pushed = true; - openInstances.push(instance); - } - function popInstance(instance) { - openInstances.splice(openInstances.indexOf(instance), 1); - instance.__internal.pushed = false; - } /** - * Helper: update the notifier instance position + * Alertify public API + * This contains everything that is exposed through the alertify object. * + * @return {Object} */ - function updatePosition(instance) { - element.className = classes.base; - switch (instance.__internal.position) { - case "top-right": - addClass(element, classes.top + " " + classes.right); - break; - case "top-left": - addClass(element, classes.top + " " + classes.left); - break; - case "top-center": - addClass(element, classes.top + " " + classes.center); - break; - case "bottom-left": - addClass(element, classes.bottom + " " + classes.left); - break; - case "bottom-center": - addClass(element, classes.bottom + " " + classes.center); - break; - - default: - case "bottom-right": - addClass(element, classes.bottom + " " + classes.right); - break; - } - } + function Alertify() { - /** - * creates a new notification message - * - * @param {DOMElement} message The notifier message element - * @param {Number} wait Time (in ms) to wait before the message is dismissed, a value of 0 means keep open till clicked. - * @param {Function} callback A callback function to be invoked when the message is dismissed. - * - * @return {undefined} - */ - function create(div, callback) { - function clickDelegate(event, instance) { - if ( - !instance.__internal.closeButton || - event.target.getAttribute("data-close") === "true" - ) { - instance.dismiss(true); - } - } - - function transitionDone(event, instance) { - // unbind event - off(instance.element, transition.type, transitionDone); - // remove the message - element.removeChild(instance.element); - } - - function initialize(instance) { - if (!instance.__internal) { - instance.__internal = { - pushed: false, - delay: undefined, - timer: undefined, - clickHandler: undefined, - transitionEndHandler: undefined, - transitionTimeout: undefined, - }; - instance.__internal.clickHandler = delegate(instance, clickDelegate); - instance.__internal.transitionEndHandler = delegate( - instance, - transitionDone - ); - } - return instance; - } - function clearTimers(instance) { - clearTimeout(instance.__internal.timer); - clearTimeout(instance.__internal.transitionTimeout); - } - return initialize({ - /* notification DOM element*/ - element: div, - /* - * Pushes a notification message - * @param {string or DOMElement} content The notification message content - * @param {Number} wait The time (in seconds) to wait before the message is dismissed, a value of 0 means keep open till clicked. + // holds a references of created dialogs + var dialogs = {}; + + /** + * Extends a given prototype by merging properties from base into sub. * + * @sub {Object} sub The prototype being overwritten. + * @base {Object} base The prototype being written. + * + * @return {Object} The extended prototype. */ - push: function (_content, _wait) { - if (!this.__internal.pushed) { - pushInstance(this); - clearTimers(this); - - var content, wait; - switch (arguments.length) { - case 0: - wait = this.__internal.delay; - break; - case 1: - if (typeof _content === "number") { - wait = _content; - } else { - content = _content; - wait = this.__internal.delay; + function extend(sub, base) { + // copy dialog pototype over definition. + for (var prop in base) { + if (base.hasOwnProperty(prop)) { + sub[prop] = base[prop]; } - break; - case 2: - content = _content; - wait = _wait; - break; } - this.__internal.closeButton = - alertify.defaults.notifier.closeButton; - // set contents - if (typeof content !== "undefined") { - this.setContent(content); + return sub; + } + + + /** + * Helper: returns a dialog instance from saved dialogs. + * and initializes the dialog if its not already initialized. + * + * @name {String} name The dialog name. + * + * @return {Object} The dialog instance. + */ + function get_dialog(name) { + var dialog = dialogs[name].dialog; + //initialize the dialog if its not already initialized. + if (dialog && typeof dialog.__init === 'function') { + dialog.__init(dialog); } - // append or insert - if (notifier.__internal.position.indexOf("top") < 0) { - element.appendChild(this.element); - } else { - element.insertBefore(this.element, element.firstChild); - } - reflow = this.element.offsetWidth; - addClass(this.element, classes.visible); - // attach click event - on(this.element, "click", this.__internal.clickHandler); - return this.delay(wait); - } - return this; - }, - /* - * {Function} callback function to be invoked before dismissing the notification message. - * Remarks: A return value === 'false' will cancel the dismissal - * - */ - ondismiss: function () {}, - /* - * {Function} callback function to be invoked when the message is dismissed. - * - */ - callback: callback, - /* - * Dismisses the notification message - * @param {Boolean} clicked A flag indicating if the dismissal was caused by a click. - * - */ - dismiss: function (clicked) { - if (this.__internal.pushed) { - clearTimers(this); - if ( - !( - typeof this.ondismiss === "function" && - this.ondismiss.call(this) === false - ) - ) { - //detach click event - off(this.element, "click", this.__internal.clickHandler); - // ensure element exists - if ( - typeof this.element !== "undefined" && - this.element.parentNode === element - ) { - //transition end or fallback - this.__internal.transitionTimeout = setTimeout( - this.__internal.transitionEndHandler, - transition.supported ? 1000 : 100 - ); - removeClass(this.element, classes.visible); - - // custom callback on dismiss - if (typeof this.callback === "function") { - this.callback.call(this, clicked); - } - } - popInstance(this); - } - } - return this; - }, - /* - * Delays the notification message dismissal - * @param {Number} wait The time (in seconds) to wait before the message is dismissed, a value of 0 means keep open till clicked. - * - */ - delay: function (wait) { - clearTimers(this); - this.__internal.delay = - typeof wait !== "undefined" && !isNaN(+wait) - ? +wait - : notifier.__internal.delay; - if (this.__internal.delay > 0) { - var self = this; - this.__internal.timer = setTimeout(function () { - self.dismiss(); - }, this.__internal.delay * 1000); - } - return this; - }, - /* - * Sets the notification message contents - * @param {string or DOMElement} content The notification message content + return dialog; + } + + /** + * Helper: registers a new dialog definition. * - */ - setContent: function (content) { - if (typeof content === "string") { - clearContents(this.element); - this.element.innerHTML = content; - } else if ( - content instanceof window.HTMLElement && - this.element.firstChild !== content - ) { - clearContents(this.element); - this.element.appendChild(content); - } - if (this.__internal.closeButton) { - var close = document.createElement("span"); - addClass(close, classes.close); - close.setAttribute("data-close", true); - this.element.appendChild(close); - } - return this; - }, - /* - * Dismisses all open notifications except this. + * @name {String} name The dialog name. + * @Factory {Function} Factory a function resposible for creating dialog prototype. + * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise. + * @base {String} base the name of another dialog to inherit from. * + * @return {Object} The dialog definition. */ - dismissOthers: function () { - notifier.dismissAll(this); - return this; - }, - }); - } + function register(name, Factory, transient, base) { + var definition = { + dialog: null, + factory: Factory + }; - //notifier api - return { - /** - * Gets or Sets notifier settings. - * - * @param {string} key The setting name - * @param {Variant} value The setting value. - * - * @return {Object} if the called as a setter, return the notifier instance. - */ - setting: function (key, value) { - //ensure init - initialize(this); - - if (typeof value === "undefined") { - //get - return this.__internal[key]; - } else { - //set - switch (key) { - case "position": - this.__internal.position = value; - updatePosition(this); - break; - case "delay": - this.__internal.delay = value; - break; - } - } - return this; - }, - /** - * [Alias] Sets dialog settings/options - */ - set: function (key, value) { - this.setting(key, value); - return this; - }, - /** - * [Alias] Gets dialog settings/options - */ - get: function (key) { - return this.setting(key); - }, - /** - * Creates a new notification message - * - * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added). - * @param {Function} callback A callback function to be invoked when the message is dismissed. - * - * @return {undefined} - */ - create: function (type, callback) { - //ensure notifier init - initialize(this); - //create new notification message - var div = document.createElement("div"); - div.className = - classes.message + - (typeof type === "string" && type !== "" ? " ajs-" + type : ""); - return create(div, callback); - }, - /** - * Dismisses all open notifications. - * - * @param {Object} excpet [optional] The notification object to exclude from dismissal. - * - */ - dismissAll: function (except) { - var clone = openInstances.slice(0); - for (var x = 0; x < clone.length; x += 1) { - var instance = clone[x]; - if (except === undefined || except !== instance) { - instance.dismiss(); - } - } - }, - }; - })(); - - /** - * Alertify public API - * This contains everything that is exposed through the alertify object. - * - * @return {Object} - */ - function Alertify() { - // holds a references of created dialogs - var dialogs = {}; + //if this is based on an existing dialog, create a new definition + //by applying the new protoype over the existing one. + if (base !== undefined) { + definition.factory = function () { + return extend(new dialogs[base].factory(), new Factory()); + }; + } - /** - * Extends a given prototype by merging properties from base into sub. - * - * @sub {Object} sub The prototype being overwritten. - * @base {Object} base The prototype being written. - * - * @return {Object} The extended prototype. - */ - function extend(sub, base) { - // copy dialog pototype over definition. - for (var prop in base) { - if (base.hasOwnProperty(prop)) { - sub[prop] = base[prop]; - } - } - return sub; - } + if (!transient) { + //create a new definition based on dialog + definition.dialog = extend(new definition.factory(), dialog); + } + return dialogs[name] = definition; + } - /** - * Helper: returns a dialog instance from saved dialogs. - * and initializes the dialog if its not already initialized. - * - * @name {String} name The dialog name. - * - * @return {Object} The dialog instance. - */ - function get_dialog(name) { - var dialog = dialogs[name].dialog; - //initialize the dialog if its not already initialized. - if (dialog && typeof dialog.__init === "function") { - dialog.__init(dialog); - } - return dialog; - } + return { + /** + * Alertify defaults + * + * @type {Object} + */ + defaults: defaults, + /** + * Dialogs factory + * + * @param {string} Dialog name. + * @param {Function} A Dialog factory function. + * @param {Boolean} Indicates whether to create a singleton or transient dialog. + * @param {String} The name of the base type to inherit from. + */ + dialog: function (name, Factory, transient, base) { + + // get request, create a new instance and return it. + if (typeof Factory !== 'function') { + return get_dialog(name); + } - /** - * Helper: registers a new dialog definition. - * - * @name {String} name The dialog name. - * @Factory {Function} Factory a function resposible for creating dialog prototype. - * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise. - * @base {String} base the name of another dialog to inherit from. - * - * @return {Object} The dialog definition. - */ - function register(name, Factory, transient, base) { - var definition = { - dialog: null, - factory: Factory, - }; - - //if this is based on an existing dialog, create a new definition - //by applying the new protoype over the existing one. - if (base !== undefined) { - definition.factory = function () { - return extend(new dialogs[base].factory(), new Factory()); - }; - } + if (this.hasOwnProperty(name)) { + throw new Error('alertify.dialog: name already exists'); + } + + // register the dialog + var definition = register(name, Factory, transient, base); + + if (transient) { + + // make it public + this[name] = function () { + //if passed with no params, consider it a get request + if (arguments.length === 0) { + return definition.dialog; + } else { + var instance = extend(new definition.factory(), dialog); + //ensure init + if (instance && typeof instance.__init === 'function') { + instance.__init(instance); + } + instance['main'].apply(instance, arguments); + return instance['show'].apply(instance); + } + }; + } else { + // make it public + this[name] = function () { + //ensure init + if (definition.dialog && typeof definition.dialog.__init === 'function') { + definition.dialog.__init(definition.dialog); + } + //if passed with no params, consider it a get request + if (arguments.length === 0) { + return definition.dialog; + } else { + var dialog = definition.dialog; + dialog['main'].apply(definition.dialog, arguments); + return dialog['show'].apply(definition.dialog); + } + }; + } + }, + /** + * Close all open dialogs. + * + * @param {Object} excpet [optional] The dialog object to exclude from closing. + * + * @return {undefined} + */ + closeAll: function (except) { + var clone = openDialogs.slice(0); + for (var x = 0; x < clone.length; x += 1) { + var instance = clone[x]; + if (except === undefined || except !== instance) { + instance.close(); + } + } + }, + /** + * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing. + * + * @param {string} name The dialog name. + * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. + * @param {Variant} value Optional, the value associated with the key (in case it was a string). + * + * @return {undefined} + */ + setting: function (name, key, value) { + + if (name === 'notifier') { + return notifier.setting(key, value); + } - if (!transient) { - //create a new definition based on dialog - definition.dialog = extend(new definition.factory(), dialog); - } - return (dialogs[name] = definition); + var dialog = get_dialog(name); + if (dialog) { + return dialog.setting(key, value); + } + }, + /** + * [Alias] Sets dialog settings/options + */ + set: function(name,key,value){ + return this.setting(name, key,value); + }, + /** + * [Alias] Gets dialog settings/options + */ + get: function(name, key){ + return this.setting(name, key); + }, + /** + * Creates a new notification message. + * If a type is passed, a class name "ajs-{type}" will be added. + * This allows for custom look and feel for various types of notifications. + * + * @param {String | DOMElement} [message=undefined] Message text + * @param {String} [type=''] Type of log message + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + notify: function (message, type, wait, callback) { + return notifier.create(type, callback).push(message, wait); + }, + /** + * Creates a new notification message. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + message: function (message, wait, callback) { + return notifier.create(null, callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'success'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + success: function (message, wait, callback) { + return notifier.create('success', callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'error'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + error: function (message, wait, callback) { + return notifier.create('error', callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'warning'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + warning: function (message, wait, callback) { + return notifier.create('warning', callback).push(message, wait); + }, + /** + * Dismisses all open notifications + * + * @return {undefined} + */ + dismissAll: function () { + notifier.dismissAll(); + } + }; } + var alertify = new Alertify(); - return { - /** - * Alertify defaults - * - * @type {Object} - */ - defaults: defaults, - /** - * Dialogs factory - * - * @param {string} Dialog name. - * @param {Function} A Dialog factory function. - * @param {Boolean} Indicates whether to create a singleton or transient dialog. - * @param {String} The name of the base type to inherit from. - */ - dialog: function (name, Factory, transient, base) { - // get request, create a new instance and return it. - if (typeof Factory !== "function") { - return get_dialog(name); - } - - if (this.hasOwnProperty(name)) { - throw new Error("alertify.dialog: name already exists"); - } - - // register the dialog - var definition = register(name, Factory, transient, base); - - if (transient) { - // make it public - this[name] = function () { - //if passed with no params, consider it a get request - if (arguments.length === 0) { - return definition.dialog; - } else { - var instance = extend(new definition.factory(), dialog); - //ensure init - if (instance && typeof instance.__init === "function") { - instance.__init(instance); - } - instance["main"].apply(instance, arguments); - return instance["show"].apply(instance); - } - }; - } else { - // make it public - this[name] = function () { - //ensure init - if ( - definition.dialog && - typeof definition.dialog.__init === "function" - ) { - definition.dialog.__init(definition.dialog); - } - //if passed with no params, consider it a get request - if (arguments.length === 0) { - return definition.dialog; - } else { - var dialog = definition.dialog; - dialog["main"].apply(definition.dialog, arguments); - return dialog["show"].apply(definition.dialog); - } - }; - } - }, - /** - * Close all open dialogs. - * - * @param {Object} excpet [optional] The dialog object to exclude from closing. - * - * @return {undefined} - */ - closeAll: function (except) { - var clone = openDialogs.slice(0); - for (var x = 0; x < clone.length; x += 1) { - var instance = clone[x]; - if (except === undefined || except !== instance) { - instance.close(); - } - } - }, - /** - * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing. - * - * @param {string} name The dialog name. - * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. - * @param {Variant} value Optional, the value associated with the key (in case it was a string). - * - * @return {undefined} - */ - setting: function (name, key, value) { - if (name === "notifier") { - return notifier.setting(key, value); - } - - var dialog = get_dialog(name); - if (dialog) { - return dialog.setting(key, value); - } - }, - /** - * [Alias] Sets dialog settings/options - */ - set: function (name, key, value) { - return this.setting(name, key, value); - }, - /** - * [Alias] Gets dialog settings/options - */ - get: function (name, key) { - return this.setting(name, key); - }, - /** - * Creates a new notification message. - * If a type is passed, a class name "ajs-{type}" will be added. - * This allows for custom look and feel for various types of notifications. - * - * @param {String | DOMElement} [message=undefined] Message text - * @param {String} [type=''] Type of log message - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - notify: function (message, type, wait, callback) { - return notifier.create(type, callback).push(message, wait); - }, - /** - * Creates a new notification message. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - message: function (message, wait, callback) { - return notifier.create(null, callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'success'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - success: function (message, wait, callback) { - return notifier.create("success", callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'error'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - error: function (message, wait, callback) { - return notifier.create("error", callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'warning'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - warning: function (message, wait, callback) { - return notifier.create("warning", callback).push(message, wait); - }, - /** - * Dismisses all open notifications - * - * @return {undefined} - */ - dismissAll: function () { - notifier.dismissAll(); - }, - }; - } - var alertify = new Alertify(); - - /** - * Alert dialog definition - * - * invoked by: - * alertify.alert(message); - * alertify.alert(title, message); - * alertify.alert(message, onok); - * alertify.alert(title, message, onok); - */ - alertify.dialog("alert", function () { - return { - main: function (_title, _message, _onok) { - var title, message, onok; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - if (typeof _message === "function") { - message = _title; - onok = _message; - } else { - title = _title; - message = _message; - } - break; - case 3: - title = _title; - message = _message; - onok = _onok; - break; - } - this.set("title", title); - this.set("message", message); - this.set("onok", onok); - return this; - }, - setup: function () { + /** + * Alert dialog definition + * + * invoked by: + * alertify.alert(message); + * alertify.alert(title, message); + * alertify.alert(message, onok); + * alertify.alert(title, message, onok); + */ + alertify.dialog('alert', function () { return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.ok, + main: function (_title, _message, _onok) { + var title, message, onok; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + if (typeof _message === 'function') { + message = _title; + onok = _message; + } else { + title = _title; + message = _message; + } + break; + case 3: + title = _title; + message = _message; + onok = _onok; + break; + } + this.set('title', title); + this.set('message', message); + this.set('onok', onok); + return this; + }, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.ok, + } + ], + focus: { + element: 0, + select: false + }, + options: { + maximizable: false, + resizable: false + } + }; + }, + build: function () { + // nothing }, - ], - focus: { - element: 0, - select: false, - }, - options: { - maximizable: false, - resizable: false, - }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + this.setContent(message); + }, + settings: { + message: undefined, + onok: undefined, + label: undefined, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'label': + if (this.__internal.buttons[0].element) { + this.__internal.buttons[0].element.innerHTML = newValue; + } + break; + } + }, + callback: function (closeEvent) { + if (typeof this.get('onok') === 'function') { + var returnValue = this.get('onok').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + } }; - }, - build: function () { - // nothing - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - this.setContent(message); - }, - settings: { - message: undefined, - onok: undefined, - label: undefined, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case "message": - this.setMessage(newValue); - break; - case "label": - if (this.__internal.buttons[0].element) { - this.__internal.buttons[0].element.innerHTML = newValue; - } - break; - } - }, - callback: function (closeEvent) { - if (typeof this.get("onok") === "function") { - var returnValue = this.get("onok").call(this, closeEvent); - if (typeof returnValue !== "undefined") { - closeEvent.cancel = !returnValue; - } - } - }, - }; - }); - /** - * Confirm dialog object - * - * alertify.confirm(message); - * alertify.confirm(message, onok); - * alertify.confirm(message, onok, oncancel); - * alertify.confirm(title, message, onok, oncancel); - */ - alertify.dialog("confirm", function () { - var autoConfirm = { - timer: null, - index: null, - text: null, - duration: null, - task: function (event, self) { - if (self.isOpen()) { - self.__internal.buttons[autoConfirm.index].element.innerHTML = - autoConfirm.text + " (‏" + autoConfirm.duration + "‏) "; - autoConfirm.duration -= 1; - if (autoConfirm.duration === -1) { - clearAutoConfirm(self); - var button = self.__internal.buttons[autoConfirm.index]; - var closeEvent = createCloseEvent(autoConfirm.index, button); - - if (typeof self.callback === "function") { - self.callback.apply(self, [closeEvent]); + }); + /** + * Confirm dialog object + * + * alertify.confirm(message); + * alertify.confirm(message, onok); + * alertify.confirm(message, onok, oncancel); + * alertify.confirm(title, message, onok, oncancel); + */ + alertify.dialog('confirm', function () { + + var autoConfirm = { + timer: null, + index: null, + text: null, + duration: null, + task: function (event, self) { + if (self.isOpen()) { + self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text + ' (‏' + autoConfirm.duration + '‏) '; + autoConfirm.duration -= 1; + if (autoConfirm.duration === -1) { + clearAutoConfirm(self); + var button = self.__internal.buttons[autoConfirm.index]; + var closeEvent = createCloseEvent(autoConfirm.index, button); + + if (typeof self.callback === 'function') { + self.callback.apply(self, [closeEvent]); + } + //close the dialog. + if (closeEvent.close !== false) { + self.close(); + } + } + } else { + clearAutoConfirm(self); + } } - //close the dialog. - if (closeEvent.close !== false) { - self.close(); + }; + + function clearAutoConfirm(self) { + if (autoConfirm.timer !== null) { + clearInterval(autoConfirm.timer); + autoConfirm.timer = null; + self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text; } - } - } else { - clearAutoConfirm(self); } - }, - }; - function clearAutoConfirm(self) { - if (autoConfirm.timer !== null) { - clearInterval(autoConfirm.timer); - autoConfirm.timer = null; - self.__internal.buttons[autoConfirm.index].element.innerHTML = - autoConfirm.text; - } - } + function startAutoConfirm(self, index, duration) { + clearAutoConfirm(self); + autoConfirm.duration = duration; + autoConfirm.index = index; + autoConfirm.text = self.__internal.buttons[index].element.innerHTML; + autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000); + autoConfirm.task(null, self); + } - function startAutoConfirm(self, index, duration) { - clearAutoConfirm(self); - autoConfirm.duration = duration; - autoConfirm.index = index; - autoConfirm.text = self.__internal.buttons[index].element.innerHTML; - autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000); - autoConfirm.task(null, self); - } - return { - main: function (_title, _message, _onok, _oncancel) { - var title, message, onok, oncancel; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - message = _title; - onok = _message; - break; - case 3: - message = _title; - onok = _message; - oncancel = _onok; - break; - case 4: - title = _title; - message = _message; - onok = _onok; - oncancel = _oncancel; - break; - } - this.set("title", title); - this.set("message", message); - this.set("onok", onok); - this.set("oncancel", oncancel); - return this; - }, - setup: function () { return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ENTER, - className: alertify.defaults.theme.ok, + main: function (_title, _message, _onok, _oncancel) { + var title, message, onok, oncancel; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + message = _title; + onok = _message; + break; + case 3: + message = _title; + onok = _message; + oncancel = _onok; + break; + case 4: + title = _title; + message = _message; + onok = _onok; + oncancel = _oncancel; + break; + } + this.set('title', title); + this.set('message', message); + this.set('onok', onok); + this.set('oncancel', oncancel); + return this; }, - { - text: alertify.defaults.glossary.cancel, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.cancel, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ENTER, + className: alertify.defaults.theme.ok, + }, + { + text: alertify.defaults.glossary.cancel, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.cancel, + } + ], + focus: { + element: 0, + select: false + }, + options: { + maximizable: false, + resizable: false + } + }; + }, + build: function () { + //nothing + }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + this.setContent(message); + }, + settings: { + message: null, + labels: null, + onok: null, + oncancel: null, + defaultFocus: null, + reverseButtons: null, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'labels': + if ('ok' in newValue && this.__internal.buttons[0].element) { + this.__internal.buttons[0].text = newValue.ok; + this.__internal.buttons[0].element.innerHTML = newValue.ok; + } + if ('cancel' in newValue && this.__internal.buttons[1].element) { + this.__internal.buttons[1].text = newValue.cancel; + this.__internal.buttons[1].element.innerHTML = newValue.cancel; + } + break; + case 'reverseButtons': + if (newValue === true) { + this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); + } else { + this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); + } + break; + case 'defaultFocus': + this.__internal.focus.element = newValue === 'ok' ? 0 : 1; + break; + } }, - ], - focus: { - element: 0, - select: false, - }, - options: { - maximizable: false, - resizable: false, - }, + callback: function (closeEvent) { + clearAutoConfirm(this); + var returnValue; + switch (closeEvent.index) { + case 0: + if (typeof this.get('onok') === 'function') { + returnValue = this.get('onok').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + case 1: + if (typeof this.get('oncancel') === 'function') { + returnValue = this.get('oncancel').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + } + }, + autoOk: function (duration) { + startAutoConfirm(this, 0, duration); + return this; + }, + autoCancel: function (duration) { + startAutoConfirm(this, 1, duration); + return this; + } }; - }, - build: function () { - //nothing - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - this.setContent(message); - }, - settings: { - message: null, - labels: null, - onok: null, - oncancel: null, - defaultFocus: null, - reverseButtons: null, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case "message": - this.setMessage(newValue); - break; - case "labels": - if ("ok" in newValue && this.__internal.buttons[0].element) { - this.__internal.buttons[0].text = newValue.ok; - this.__internal.buttons[0].element.innerHTML = newValue.ok; - } - if ("cancel" in newValue && this.__internal.buttons[1].element) { - this.__internal.buttons[1].text = newValue.cancel; - this.__internal.buttons[1].element.innerHTML = newValue.cancel; - } - break; - case "reverseButtons": - if (newValue === true) { - this.elements.buttons.primary.appendChild( - this.__internal.buttons[0].element - ); - } else { - this.elements.buttons.primary.appendChild( - this.__internal.buttons[1].element - ); - } - break; - case "defaultFocus": - this.__internal.focus.element = newValue === "ok" ? 0 : 1; - break; - } - }, - callback: function (closeEvent) { - clearAutoConfirm(this); - var returnValue; - switch (closeEvent.index) { - case 0: - if (typeof this.get("onok") === "function") { - returnValue = this.get("onok").call(this, closeEvent); - if (typeof returnValue !== "undefined") { - closeEvent.cancel = !returnValue; - } - } - break; - case 1: - if (typeof this.get("oncancel") === "function") { - returnValue = this.get("oncancel").call(this, closeEvent); - if (typeof returnValue !== "undefined") { - closeEvent.cancel = !returnValue; - } - } - break; - } - }, - autoOk: function (duration) { - startAutoConfirm(this, 0, duration); - return this; - }, - autoCancel: function (duration) { - startAutoConfirm(this, 1, duration); - return this; - }, - }; - }); - /** - * Prompt dialog object - * - * invoked by: - * alertify.prompt(message); - * alertify.prompt(message, value); - * alertify.prompt(message, value, onok); - * alertify.prompt(message, value, onok, oncancel); - * alertify.prompt(title, message, value, onok, oncancel); - */ - alertify.dialog("prompt", function () { - var input = document.createElement("INPUT"); - var p = document.createElement("P"); - return { - main: function (_title, _message, _value, _onok, _oncancel) { - var title, message, value, onok, oncancel; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - message = _title; - value = _message; - break; - case 3: - message = _title; - value = _message; - onok = _value; - break; - case 4: - message = _title; - value = _message; - onok = _value; - oncancel = _onok; - break; - case 5: - title = _title; - message = _message; - value = _value; - onok = _onok; - oncancel = _oncancel; - break; - } - this.set("title", title); - this.set("message", message); - this.set("value", value); - this.set("onok", onok); - this.set("oncancel", oncancel); - return this; - }, - setup: function () { + }); + /** + * Prompt dialog object + * + * invoked by: + * alertify.prompt(message); + * alertify.prompt(message, value); + * alertify.prompt(message, value, onok); + * alertify.prompt(message, value, onok, oncancel); + * alertify.prompt(title, message, value, onok, oncancel); + */ + alertify.dialog('prompt', function () { + var input = document.createElement('INPUT'); + var p = document.createElement('P'); return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ENTER, - className: alertify.defaults.theme.ok, + main: function (_title, _message, _value, _onok, _oncancel) { + var title, message, value, onok, oncancel; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + message = _title; + value = _message; + break; + case 3: + message = _title; + value = _message; + onok = _value; + break; + case 4: + message = _title; + value = _message; + onok = _value; + oncancel = _onok; + break; + case 5: + title = _title; + message = _message; + value = _value; + onok = _onok; + oncancel = _oncancel; + break; + } + this.set('title', title); + this.set('message', message); + this.set('value', value); + this.set('onok', onok); + this.set('oncancel', oncancel); + return this; }, - { - text: alertify.defaults.glossary.cancel, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.cancel, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ENTER, + className: alertify.defaults.theme.ok, + }, + { + text: alertify.defaults.glossary.cancel, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.cancel, + } + ], + focus: { + element: input, + select: true + }, + options: { + maximizable: false, + resizable: false + } + }; }, - ], - focus: { - element: input, - select: true, - }, - options: { - maximizable: false, - resizable: false, - }, - }; - }, - build: function () { - input.className = alertify.defaults.theme.input; - input.setAttribute("type", "text"); - input.value = this.get("value"); - this.elements.content.appendChild(p); - this.elements.content.appendChild(input); - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - if (typeof message === "string") { - clearContents(p); - p.innerHTML = message; - } else if ( - message instanceof window.HTMLElement && - p.firstChild !== message - ) { - clearContents(p); - p.appendChild(message); - } - }, - settings: { - message: undefined, - labels: undefined, - onok: undefined, - oncancel: undefined, - value: "", - type: "text", - reverseButtons: undefined, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case "message": - this.setMessage(newValue); - break; - case "value": - input.value = newValue; - break; - case "type": - switch (newValue) { - case "text": - case "color": - case "date": - case "datetime-local": - case "email": - case "month": - case "number": - case "password": - case "search": - case "tel": - case "time": - case "week": - input.type = newValue; - break; - default: - input.type = "text"; - break; - } - break; - case "labels": - if (newValue.ok && this.__internal.buttons[0].element) { - this.__internal.buttons[0].element.innerHTML = newValue.ok; - } - if (newValue.cancel && this.__internal.buttons[1].element) { - this.__internal.buttons[1].element.innerHTML = newValue.cancel; + build: function () { + input.className = alertify.defaults.theme.input; + input.setAttribute('type', 'text'); + input.value = this.get('value'); + this.elements.content.appendChild(p); + this.elements.content.appendChild(input); + }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + if (typeof message === 'string') { + clearContents(p); + p.innerHTML = message; + } else if (message instanceof window.HTMLElement && p.firstChild !== message) { + clearContents(p); + p.appendChild(message); + } + }, + settings: { + message: undefined, + labels: undefined, + onok: undefined, + oncancel: undefined, + value: '', + type:'text', + reverseButtons: undefined, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'value': + input.value = newValue; + break; + case 'type': + switch (newValue) { + case 'text': + case 'color': + case 'date': + case 'datetime-local': + case 'email': + case 'month': + case 'number': + case 'password': + case 'search': + case 'tel': + case 'time': + case 'week': + input.type = newValue; + break; + default: + input.type = 'text'; + break; + } + break; + case 'labels': + if (newValue.ok && this.__internal.buttons[0].element) { + this.__internal.buttons[0].element.innerHTML = newValue.ok; + } + if (newValue.cancel && this.__internal.buttons[1].element) { + this.__internal.buttons[1].element.innerHTML = newValue.cancel; + } + break; + case 'reverseButtons': + if (newValue === true) { + this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); + } else { + this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); + } + break; + } + }, + callback: function (closeEvent) { + var returnValue; + switch (closeEvent.index) { + case 0: + this.settings.value = input.value; + if (typeof this.get('onok') === 'function') { + returnValue = this.get('onok').call(this, closeEvent, this.settings.value); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + case 1: + if (typeof this.get('oncancel') === 'function') { + returnValue = this.get('oncancel').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + if(!closeEvent.cancel){ + input.value = this.settings.value; + } + break; + } } - break; - case "reverseButtons": - if (newValue === true) { - this.elements.buttons.primary.appendChild( - this.__internal.buttons[0].element - ); - } else { - this.elements.buttons.primary.appendChild( - this.__internal.buttons[1].element - ); - } - break; - } - }, - callback: function (closeEvent) { - var returnValue; - switch (closeEvent.index) { - case 0: - this.settings.value = input.value; - if (typeof this.get("onok") === "function") { - returnValue = this.get("onok").call( - this, - closeEvent, - this.settings.value - ); - if (typeof returnValue !== "undefined") { - closeEvent.cancel = !returnValue; - } - } - break; - case 1: - if (typeof this.get("oncancel") === "function") { - returnValue = this.get("oncancel").call(this, closeEvent); - if (typeof returnValue !== "undefined") { - closeEvent.cancel = !returnValue; - } - } - if (!closeEvent.cancel) { - input.value = this.settings.value; - } - break; - } - }, - }; - }); + }; + }); - // CommonJS - if (typeof module === "object" && typeof module.exports === "object") { - module.exports = alertify; + // CommonJS + if ( typeof module === 'object' && typeof module.exports === 'object' ) { + module.exports = alertify; // AMD - } else if (typeof define === "function" && define.amd) { - define([], function () { - return alertify; - }); + } else if ( typeof define === 'function' && define.amd) { + define( [], function () { + return alertify; + } ); // window - } else if (!window.alertify) { - window.alertify = alertify; - } -})(typeof window !== "undefined" ? window : this); + } else if ( !window.alertify ) { + window.alertify = alertify; + } + +} ( typeof window !== 'undefined' ? window : this ) ); diff --git a/notemyprogress/js/axios.js b/notemyprogress/js/axios.js index 901b41f96ab2dee74cb0258549e7939eb52c8149..5cef419c2c7a70ccc71067dc3d5a59aa103091bd 100644 --- a/notemyprogress/js/axios.js +++ b/notemyprogress/js/axios.js @@ -1,1815 +1,1668 @@ /* axios v0.19.0 | (c) 2019 by Matt Zabriskie */ (function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === "object" && typeof module === "object") - module.exports = factory(); - else if (typeof define === "function" && define.amd) define([], factory); - else if (typeof exports === "object") exports["axios"] = factory(); - else root["axios"] = factory(); -})(this, function () { - return /******/ (function (modules) { - // webpackBootstrap - /******/ // The module cache - /******/ var installedModules = {}; - /******/ - /******/ // The require function - /******/ function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ if (installedModules[moduleId]) - /******/ return installedModules[moduleId].exports; - /******/ - /******/ // Create a new module (and put it into the cache) - /******/ var module = (installedModules[moduleId] = { - /******/ exports: {}, - /******/ id: moduleId, - /******/ loaded: false, - /******/ - }); - /******/ - /******/ // Execute the module function - /******/ modules[moduleId].call( - module.exports, - module, - module.exports, - __webpack_require__ - ); - /******/ - /******/ // Flag the module as loaded - /******/ module.loaded = true; - /******/ - /******/ // Return the exports of the module - /******/ return module.exports; - /******/ - } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ __webpack_require__.c = installedModules; - /******/ - /******/ // __webpack_public_path__ - /******/ __webpack_require__.p = ""; - /******/ - /******/ // Load entry module and return exports - /******/ return __webpack_require__(0); - /******/ - })( - /************************************************************************/ - /******/ [ - /* 0 */ - /***/ function (module, exports, __webpack_require__) { - module.exports = __webpack_require__(1); - - /***/ - }, - /* 1 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - var bind = __webpack_require__(3); - var Axios = __webpack_require__(5); - var mergeConfig = __webpack_require__(22); - var defaults = __webpack_require__(11); - - /** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ - function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; - } - - // Create the default instance to be exported - var axios = createInstance(defaults); - - // Expose Axios class to allow class inheritance - axios.Axios = Axios; - - // Factory for creating new instances - axios.create = function create(instanceConfig) { - return createInstance(mergeConfig(axios.defaults, instanceConfig)); - }; - - // Expose Cancel & CancelToken - axios.Cancel = __webpack_require__(23); - axios.CancelToken = __webpack_require__(24); - axios.isCancel = __webpack_require__(10); - - // Expose all/spread - axios.all = function all(promises) { - return Promise.all(promises); - }; - axios.spread = __webpack_require__(25); - - module.exports = axios; - - // Allow use of default import syntax in TypeScript - module.exports.default = axios; - - /***/ - }, - /* 2 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var bind = __webpack_require__(3); - var isBuffer = __webpack_require__(4); - - /*global toString:true*/ - - // utils is a library of generic helper functions non-specific to axios - - var toString = Object.prototype.toString; - - /** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ - function isArray(val) { - return toString.call(val) === "[object Array]"; - } - - /** - * Determine if a value is an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ - function isArrayBuffer(val) { - return toString.call(val) === "[object ArrayBuffer]"; - } - - /** - * Determine if a value is a FormData - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ - function isFormData(val) { - return typeof FormData !== "undefined" && val instanceof FormData; - } - - /** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ - function isArrayBufferView(val) { - var result; - if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { - result = ArrayBuffer.isView(val); - } else { - result = val && val.buffer && val.buffer instanceof ArrayBuffer; - } - return result; - } - - /** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ - function isString(val) { - return typeof val === "string"; - } - - /** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ - function isNumber(val) { - return typeof val === "number"; - } - - /** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ - function isUndefined(val) { - return typeof val === "undefined"; - } - - /** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ - function isObject(val) { - return val !== null && typeof val === "object"; - } - - /** - * Determine if a value is a Date - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ - function isDate(val) { - return toString.call(val) === "[object Date]"; - } - - /** - * Determine if a value is a File - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ - function isFile(val) { - return toString.call(val) === "[object File]"; - } - - /** - * Determine if a value is a Blob - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ - function isBlob(val) { - return toString.call(val) === "[object Blob]"; - } - - /** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ - function isFunction(val) { - return toString.call(val) === "[object Function]"; - } - - /** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ - function isStream(val) { - return isObject(val) && isFunction(val.pipe); - } - - /** - * Determine if a value is a URLSearchParams object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ - function isURLSearchParams(val) { - return ( - typeof URLSearchParams !== "undefined" && - val instanceof URLSearchParams - ); - } - - /** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ - function trim(str) { - return str.replace(/^\s*/, "").replace(/\s*$/, ""); - } - - /** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - */ - function isStandardBrowserEnv() { - if ( - typeof navigator !== "undefined" && - (navigator.product === "ReactNative" || - navigator.product === "NativeScript" || - navigator.product === "NS") - ) { - return false; - } - return ( - typeof window !== "undefined" && typeof document !== "undefined" - ); - } - - /** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ - function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === "undefined") { - return; - } - - // Force an array if not already something iterable - if (typeof obj !== "object") { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } - } - } - } - - /** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ - function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (typeof result[key] === "object" && typeof val === "object") { - result[key] = merge(result[key], val); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; - } - - /** - * Function equal to merge with the difference being that no reference - * to original objects is kept. - * - * @see merge - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ - function deepMerge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (typeof result[key] === "object" && typeof val === "object") { - result[key] = deepMerge(result[key], val); - } else if (typeof val === "object") { - result[key] = deepMerge({}, val); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; - } - - /** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ - function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === "function") { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }); - return a; - } - - module.exports = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - deepMerge: deepMerge, - extend: extend, - trim: trim, - }; - - /***/ - }, - /* 3 */ - /***/ function (module, exports) { - "use strict"; - - module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; - }; - - /***/ - }, - /* 4 */ - /***/ function (module, exports) { - /*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh <https://feross.org> - * @license MIT - */ - - module.exports = function isBuffer(obj) { - return ( - obj != null && - obj.constructor != null && - typeof obj.constructor.isBuffer === "function" && - obj.constructor.isBuffer(obj) - ); - }; - - /***/ - }, - /* 5 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - var buildURL = __webpack_require__(6); - var InterceptorManager = __webpack_require__(7); - var dispatchRequest = __webpack_require__(8); - var mergeConfig = __webpack_require__(22); - - /** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ - function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager(), - }; - } - - /** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ - Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === "string") { - config = arguments[1] || {}; - config.url = arguments[0]; - } else { - config = config || {}; - } - - config = mergeConfig(this.defaults, config); - config.method = config.method ? config.method.toLowerCase() : "get"; - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); - - this.interceptors.request.forEach(function unshiftRequestInterceptors( - interceptor - ) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - this.interceptors.response.forEach(function pushResponseInterceptors( - interceptor - ) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; - }; - - Axios.prototype.getUri = function getUri(config) { - config = mergeConfig(this.defaults, config); - return buildURL( - config.url, - config.params, - config.paramsSerializer - ).replace(/^\?/, ""); - }; - - // Provide aliases for supported request methods - utils.forEach( - ["delete", "get", "head", "options"], - function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function (url, config) { - return this.request( - utils.merge(config || {}, { - method: method, - url: url, - }) - ); - }; - } - ); - - utils.forEach( - ["post", "put", "patch"], - function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function (url, data, config) { - return this.request( - utils.merge(config || {}, { - method: method, - url: url, - data: data, - }) - ); - }; - } - ); - - module.exports = Axios; - - /***/ - }, - /* 6 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - function encode(val) { - return encodeURIComponent(val) - .replace(/%40/gi, "@") - .replace(/%3A/gi, ":") - .replace(/%24/g, "$") - .replace(/%2C/gi, ",") - .replace(/%20/g, "+") - .replace(/%5B/gi, "[") - .replace(/%5D/gi, "]"); - } - - /** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ - module.exports = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === "undefined") { - return; - } - - if (utils.isArray(val)) { - key = key + "[]"; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); - } - parts.push(encode(key) + "=" + encode(v)); - }); - }); - - serializedParams = parts.join("&"); - } - - if (serializedParams) { - var hashmarkIndex = url.indexOf("#"); - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - - url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams; - } - - return url; - }; - - /***/ - }, - /* 7 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - function InterceptorManager() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected, - }); - return this.handlers.length - 1; - }; - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ - InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - }; - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ - InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - }; - - module.exports = InterceptorManager; - - /***/ - }, - /* 8 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - var transformData = __webpack_require__(9); - var isCancel = __webpack_require__(10); - var defaults = __webpack_require__(11); - var isAbsoluteURL = __webpack_require__(20); - var combineURLs = __webpack_require__(21); - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - } - - /** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ - module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Support baseURL config - if (config.baseURL && !isAbsoluteURL(config.url)) { - config.url = combineURLs(config.baseURL, config.url); - } - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers || {} - ); - - utils.forEach( - ["delete", "get", "head", "post", "put", "patch", "common"], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then( - function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, - function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - } - ); - }; - - /***/ - }, - /* 9 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - /** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ - module.exports = function transformData(data, headers, fns) { - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn(data, headers); - }); - - return data; - }; - - /***/ - }, - /* 10 */ - /***/ function (module, exports) { - "use strict"; - - module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); - }; - - /***/ - }, - /* 11 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - var normalizeHeaderName = __webpack_require__(12); - - var DEFAULT_CONTENT_TYPE = { - "Content-Type": "application/x-www-form-urlencoded", - }; - - function setContentTypeIfUnset(headers, value) { - if ( - !utils.isUndefined(headers) && - utils.isUndefined(headers["Content-Type"]) - ) { - headers["Content-Type"] = value; - } - } - - function getDefaultAdapter() { - var adapter; - // Only Node.JS has a process variable that is of [[Class]] process - if ( - typeof process !== "undefined" && - Object.prototype.toString.call(process) === "[object process]" - ) { - // For node use HTTP adapter - adapter = __webpack_require__(13); - } else if (typeof XMLHttpRequest !== "undefined") { - // For browsers use XHR adapter - adapter = __webpack_require__(13); - } - return adapter; - } - - var defaults = { - adapter: getDefaultAdapter(), - - transformRequest: [ - function transformRequest(data, headers) { - normalizeHeaderName(headers, "Accept"); - normalizeHeaderName(headers, "Content-Type"); - if ( - utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset( - headers, - "application/x-www-form-urlencoded;charset=utf-8" - ); - return data.toString(); - } - if (utils.isObject(data)) { - setContentTypeIfUnset( - headers, - "application/json;charset=utf-8" - ); - return JSON.stringify(data); - } - return data; - }, - ], - - transformResponse: [ - function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === "string") { - try { - data = JSON.parse(data); - } catch (e) { - /* Ignore */ - } - } - return data; - }, - ], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: "XSRF-TOKEN", - xsrfHeaderName: "X-XSRF-TOKEN", - - maxContentLength: -1, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - }; - - defaults.headers = { - common: { - Accept: "application/json, text/plain, */*", - }, - }; - - utils.forEach( - ["delete", "get", "head"], - function forEachMethodNoData(method) { - defaults.headers[method] = {}; - } - ); - - utils.forEach( - ["post", "put", "patch"], - function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); - } - ); - - module.exports = defaults; - - /***/ - }, - /* 12 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - module.exports = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if ( - name !== normalizedName && - name.toUpperCase() === normalizedName.toUpperCase() - ) { - headers[normalizedName] = value; - delete headers[name]; - } - }); - }; - - /***/ - }, - /* 13 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - var settle = __webpack_require__(14); - var buildURL = __webpack_require__(6); - var parseHeaders = __webpack_require__(17); - var isURLSameOrigin = __webpack_require__(18); - var createError = __webpack_require__(15); - - module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - - if (utils.isFormData(requestData)) { - delete requestHeaders["Content-Type"]; // Let the browser set it - } - - var request = new XMLHttpRequest(); - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ""; - var password = config.auth.password || ""; - requestHeaders.Authorization = - "Basic " + btoa(username + ":" + password); - } - - request.open( - config.method.toUpperCase(), - buildURL(config.url, config.params, config.paramsSerializer), - true - ); - - // Set the request timeout in MS - request.timeout = config.timeout; - - // Listen for ready state - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if ( - request.status === 0 && - !( - request.responseURL && - request.responseURL.indexOf("file:") === 0 - ) - ) { - return; - } - - // Prepare the response - var responseHeaders = - "getAllResponseHeaders" in request - ? parseHeaders(request.getAllResponseHeaders()) - : null; - var responseData = - !config.responseType || config.responseType === "text" - ? request.responseText - : request.response; - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config: config, - request: request, - }; - - settle(resolve, reject, response); - - // Clean up request - request = null; - }; - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - - reject( - createError("Request aborted", config, "ECONNABORTED", request) - ); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError("Network Error", config, null, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - reject( - createError( - "timeout of " + config.timeout + "ms exceeded", - config, - "ECONNABORTED", - request - ) - ); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - var cookies = __webpack_require__(19); - - // Add xsrf header - var xsrfValue = - (config.withCredentials || isURLSameOrigin(config.url)) && - config.xsrfCookieName - ? cookies.read(config.xsrfCookieName) - : undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ("setRequestHeader" in request) { - utils.forEach( - requestHeaders, - function setRequestHeader(val, key) { - if ( - typeof requestData === "undefined" && - key.toLowerCase() === "content-type" - ) { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - } - ); - } - - // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; - } - - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== "json") { - throw e; - } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === "function") { - request.addEventListener("progress", config.onDownloadProgress); - } - - // Not all browsers support upload events - if ( - typeof config.onUploadProgress === "function" && - request.upload - ) { - request.upload.addEventListener( - "progress", - config.onUploadProgress - ); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; - } - - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } - - if (requestData === undefined) { - requestData = null; - } - - // Send the request - request.send(requestData); - }); - }; - - /***/ - }, - /* 14 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var createError = __webpack_require__(15); - - /** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ - module.exports = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - if (!validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject( - createError( - "Request failed with status code " + response.status, - response.config, - null, - response.request, - response - ) - ); - } - }; - - /***/ - }, - /* 15 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var enhanceError = __webpack_require__(16); - - /** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ - module.exports = function createError( - message, - config, - code, - request, - response - ) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); - }; - - /***/ - }, - /* 16 */ - /***/ function (module, exports) { - "use strict"; - - /** - * Update an Error with the specified config, error code, and response. - * - * @param {Error} error The error to update. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The error. - */ - module.exports = function enhanceError( - error, - config, - code, - request, - response - ) { - error.config = config; - if (code) { - error.code = code; - } - - error.request = request; - error.response = response; - error.isAxiosError = true; - - error.toJSON = function () { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: this.config, - code: this.code, - }; - }; - return error; - }; - - /***/ - }, - /* 17 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - // Headers whose duplicates are ignored by node - // c.f. https://nodejs.org/api/http.html#http_message_headers - var ignoreDuplicateOf = [ - "age", - "authorization", - "content-length", - "content-type", - "etag", - "expires", - "from", - "host", - "if-modified-since", - "if-unmodified-since", - "last-modified", - "location", - "max-forwards", - "proxy-authorization", - "referer", - "retry-after", - "user-agent", - ]; - - /** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ - module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { - return parsed; - } - - utils.forEach(headers.split("\n"), function parser(line) { - i = line.indexOf(":"); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === "set-cookie") { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ", " + val : val; - } - } - }); - - return parsed; - }; - - /***/ - }, - /* 18 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - module.exports = utils.isStandardBrowserEnv() - ? // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement("a"); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute("href", href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute("href", href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol - ? urlParsingNode.protocol.replace(/:$/, "") - : "", - host: urlParsingNode.host, - search: urlParsingNode.search - ? urlParsingNode.search.replace(/^\?/, "") - : "", - hash: urlParsingNode.hash - ? urlParsingNode.hash.replace(/^#/, "") - : "", - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: - urlParsingNode.pathname.charAt(0) === "/" - ? urlParsingNode.pathname - : "/" + urlParsingNode.pathname, - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = utils.isString(requestURL) - ? resolveURL(requestURL) - : requestURL; - return ( - parsed.protocol === originURL.protocol && - parsed.host === originURL.host - ); - }; - })() - : // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })(); - - /***/ - }, - /* 19 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - module.exports = utils.isStandardBrowserEnv() - ? // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write( - name, - value, - expires, - path, - domain, - secure - ) { - var cookie = []; - cookie.push(name + "=" + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push("expires=" + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push("path=" + path); - } - - if (utils.isString(domain)) { - cookie.push("domain=" + domain); - } - - if (secure === true) { - cookie.push("secure"); - } - - document.cookie = cookie.join("; "); - }, - - read: function read(name) { - var match = document.cookie.match( - new RegExp("(^|;\\s*)(" + name + ")=([^;]*)") - ); - return match ? decodeURIComponent(match[3]) : null; - }, - - remove: function remove(name) { - this.write(name, "", Date.now() - 86400000); - }, - }; - })() - : // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { - return null; - }, - remove: function remove() {}, - }; - })(); - - /***/ - }, - /* 20 */ - /***/ function (module, exports) { - "use strict"; - - /** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ - module.exports = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); - }; - - /***/ - }, - /* 21 */ - /***/ function (module, exports) { - "use strict"; - - /** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ - module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, "") + - "/" + - relativeURL.replace(/^\/+/, "") - : baseURL; - }; - - /***/ - }, - /* 22 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var utils = __webpack_require__(2); - - /** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * @returns {Object} New object resulting from merging config2 to config1 - */ - module.exports = function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - var config = {}; - - utils.forEach( - ["url", "method", "params", "data"], - function valueFromConfig2(prop) { - if (typeof config2[prop] !== "undefined") { - config[prop] = config2[prop]; - } - } - ); - - utils.forEach( - ["headers", "auth", "proxy"], - function mergeDeepProperties(prop) { - if (utils.isObject(config2[prop])) { - config[prop] = utils.deepMerge(config1[prop], config2[prop]); - } else if (typeof config2[prop] !== "undefined") { - config[prop] = config2[prop]; - } else if (utils.isObject(config1[prop])) { - config[prop] = utils.deepMerge(config1[prop]); - } else if (typeof config1[prop] !== "undefined") { - config[prop] = config1[prop]; - } - } - ); - - utils.forEach( - [ - "baseURL", - "transformRequest", - "transformResponse", - "paramsSerializer", - "timeout", - "withCredentials", - "adapter", - "responseType", - "xsrfCookieName", - "xsrfHeaderName", - "onUploadProgress", - "onDownloadProgress", - "maxContentLength", - "validateStatus", - "maxRedirects", - "httpAgent", - "httpsAgent", - "cancelToken", - "socketPath", - ], - function defaultToConfig2(prop) { - if (typeof config2[prop] !== "undefined") { - config[prop] = config2[prop]; - } else if (typeof config1[prop] !== "undefined") { - config[prop] = config1[prop]; - } - } - ); - - return config; - }; - - /***/ - }, - /* 23 */ - /***/ function (module, exports) { - "use strict"; - - /** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ - function Cancel(message) { - this.message = message; - } - - Cancel.prototype.toString = function toString() { - return "Cancel" + (this.message ? ": " + this.message : ""); - }; - - Cancel.prototype.__CANCEL__ = true; - - module.exports = Cancel; - - /***/ - }, - /* 24 */ - /***/ function (module, exports, __webpack_require__) { - "use strict"; - - var Cancel = __webpack_require__(23); - - /** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ - function CancelToken(executor) { - if (typeof executor !== "function") { - throw new TypeError("executor must be a function."); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel(message); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } - }; - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel, - }; - }; - - module.exports = CancelToken; - - /***/ - }, - /* 25 */ - /***/ function (module, exports) { - "use strict"; - - /** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ - module.exports = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; - }; - - /***/ - }, - /******/ - ] - ); + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["axios"] = factory(); + else + root["axios"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(1); + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var bind = __webpack_require__(3); + var Axios = __webpack_require__(5); + var mergeConfig = __webpack_require__(22); + var defaults = __webpack_require__(11); + + /** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; + } + + // Create the default instance to be exported + var axios = createInstance(defaults); + + // Expose Axios class to allow class inheritance + axios.Axios = Axios; + + // Factory for creating new instances + axios.create = function create(instanceConfig) { + return createInstance(mergeConfig(axios.defaults, instanceConfig)); + }; + + // Expose Cancel & CancelToken + axios.Cancel = __webpack_require__(23); + axios.CancelToken = __webpack_require__(24); + axios.isCancel = __webpack_require__(10); + + // Expose all/spread + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = __webpack_require__(25); + + module.exports = axios; + + // Allow use of default import syntax in TypeScript + module.exports.default = axios; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var bind = __webpack_require__(3); + var isBuffer = __webpack_require__(4); + + /*global toString:true*/ + + // utils is a library of generic helper functions non-specific to axios + + var toString = Object.prototype.toString; + + /** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ + function isArray(val) { + return toString.call(val) === '[object Array]'; + } + + /** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ + function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; + } + + /** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ + function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); + } + + /** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ + function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; + } + + /** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ + function isString(val) { + return typeof val === 'string'; + } + + /** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ + function isNumber(val) { + return typeof val === 'number'; + } + + /** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ + function isUndefined(val) { + return typeof val === 'undefined'; + } + + /** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ + function isObject(val) { + return val !== null && typeof val === 'object'; + } + + /** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ + function isDate(val) { + return toString.call(val) === '[object Date]'; + } + + /** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ + function isFile(val) { + return toString.call(val) === '[object File]'; + } + + /** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ + function isBlob(val) { + return toString.call(val) === '[object Blob]'; + } + + /** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + function isFunction(val) { + return toString.call(val) === '[object Function]'; + } + + /** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ + function isStream(val) { + return isObject(val) && isFunction(val.pipe); + } + + /** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; + } + + /** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ + function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); + } + + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + */ + function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || + navigator.product === 'NativeScript' || + navigator.product === 'NS')) { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); + } + + /** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ + function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } + } + + /** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Function equal to merge with the difference being that no reference + * to original objects is kept. + * + * @see merge + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function deepMerge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = deepMerge(result[key], val); + } else if (typeof val === 'object') { + result[key] = deepMerge({}, val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ + function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; + } + + module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + deepMerge: deepMerge, + extend: extend, + trim: trim + }; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; + }; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ + + module.exports = function isBuffer (obj) { + return obj != null && obj.constructor != null && + typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) + } + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var buildURL = __webpack_require__(6); + var InterceptorManager = __webpack_require__(7); + var dispatchRequest = __webpack_require__(8); + var mergeConfig = __webpack_require__(22); + + /** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ + function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ + Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + config.method = config.method ? config.method.toLowerCase() : 'get'; + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + }; + + Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); + }; + + // Provide aliases for supported request methods + utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; + }); + + module.exports = Axios; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); + } + + /** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ + module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; + }; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + function InterceptorManager() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; + }; + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ + InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + }; + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ + InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + }; + + module.exports = InterceptorManager; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var transformData = __webpack_require__(9); + var isCancel = __webpack_require__(10); + var defaults = __webpack_require__(11); + var isAbsoluteURL = __webpack_require__(20); + var combineURLs = __webpack_require__(21); + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + } + + /** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ + module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Support baseURL config + if (config.baseURL && !isAbsoluteURL(config.url)) { + config.url = combineURLs(config.baseURL, config.url); + } + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers || {} + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); + }; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + /** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ + module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; + }; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + + 'use strict'; + + module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); + }; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var normalizeHeaderName = __webpack_require__(12); + + var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + + function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } + } + + function getDefaultAdapter() { + var adapter; + // Only Node.JS has a process variable that is of [[Class]] process + if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__(13); + } else if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(13); + } + return adapter; + } + + var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } + }; + + defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } + }; + + utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; + }); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); + }); + + module.exports = defaults; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); + }; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + var settle = __webpack_require__(14); + var buildURL = __webpack_require__(6); + var parseHeaders = __webpack_require__(17); + var isURLSameOrigin = __webpack_require__(18); + var createError = __webpack_require__(15); + + module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(createError('Request aborted', config, 'ECONNABORTED', request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = __webpack_require__(19); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (config.withCredentials) { + request.withCredentials = true; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); + }; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var createError = __webpack_require__(15); + + /** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ + module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } + }; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var enhanceError = __webpack_require__(16); + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ + module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); + }; + + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ + module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; + }; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + // Headers whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' + ]; + + /** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ + module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; + }; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() + ); + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() + ); + + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ + module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); + }; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ + module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; + }; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var utils = __webpack_require__(2); + + /** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ + module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } + }); + + utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) { + if (utils.isObject(config2[prop])) { + config[prop] = utils.deepMerge(config1[prop], config2[prop]); + } else if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (utils.isObject(config1[prop])) { + config[prop] = utils.deepMerge(config1[prop]); + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + utils.forEach([ + 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', + 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', + 'socketPath' + ], function defaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + return config; + }; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ + function Cancel(message) { + this.message = message; + } + + Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); + }; + + Cancel.prototype.__CANCEL__ = true; + + module.exports = Cancel; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + var Cancel = __webpack_require__(23); + + /** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ + function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `Cancel` if cancellation has been requested. + */ + CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } + }; + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + }; + + module.exports = CancelToken; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + + 'use strict'; + + /** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ + module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + }; + + +/***/ }) +/******/ ]) }); -//# sourceMappingURL=axios.map +; +//# sourceMappingURL=axios.map \ No newline at end of file diff --git a/notemyprogress/js/datepicker.js b/notemyprogress/js/datepicker.js index ead02a8f760906561d15b812af04cc17c95d2f86..ce8d7c927981db72151a3c9e9349807732954d43 100644 --- a/notemyprogress/js/datepicker.js +++ b/notemyprogress/js/datepicker.js @@ -1,1818 +1 @@ -!(function (e, t) { - "object" == typeof exports && "undefined" != typeof module - ? (module.exports = t()) - : "function" == typeof define && define.amd - ? define(t) - : ((e = e || self).vuejsDatepicker = t()); -})(this, function () { - "use strict"; - function e(t) { - return (e = - "function" == typeof Symbol && "symbol" == typeof Symbol.iterator - ? function (e) { - return typeof e; - } - : function (e) { - return e && - "function" == typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? "symbol" - : typeof e; - })(t); - } - function t(e, t) { - for (var a = 0; a < t.length; a++) { - var i = t[a]; - (i.enumerable = i.enumerable || !1), - (i.configurable = !0), - "value" in i && (i.writable = !0), - Object.defineProperty(e, i.key, i); - } - } - function a(e, t, a) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: a, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = a), - e - ); - } - function i(e) { - for (var t = 1; t < arguments.length; t++) { - var i = null != arguments[t] ? arguments[t] : {}, - n = Object.keys(i); - "function" == typeof Object.getOwnPropertySymbols && - (n = n.concat( - Object.getOwnPropertySymbols(i).filter(function (e) { - return Object.getOwnPropertyDescriptor(i, e).enumerable; - }) - )), - n.forEach(function (t) { - a(e, t, i[t]); - }); - } - return e; - } - var n = new ((function () { - function e(t, a, i, n) { - !(function (e, t) { - if (!(e instanceof t)) - throw new TypeError("Cannot call a class as a function"); - })(this, e), - (this.language = t), - (this.months = a), - (this.monthsAbbr = i), - (this.days = n), - (this.rtl = !1), - (this.ymd = !1), - (this.yearSuffix = ""); - } - var a, i, n; - return ( - (a = e), - (i = [ - { - key: "language", - get: function () { - return this._language; - }, - set: function (e) { - if ("string" != typeof e) - throw new TypeError("Language must be a string"); - this._language = e; - }, - }, - { - key: "months", - get: function () { - return this._months; - }, - set: function (e) { - if (12 !== e.length) - throw new RangeError( - "There must be 12 months for ".concat( - this.language, - " language" - ) - ); - this._months = e; - }, - }, - { - key: "monthsAbbr", - get: function () { - return this._monthsAbbr; - }, - set: function (e) { - if (12 !== e.length) - throw new RangeError( - "There must be 12 abbreviated months for ".concat( - this.language, - " language" - ) - ); - this._monthsAbbr = e; - }, - }, - { - key: "days", - get: function () { - return this._days; - }, - set: function (e) { - if (7 !== e.length) - throw new RangeError( - "There must be 7 days for ".concat(this.language, " language") - ); - this._days = e; - }, - }, - ]) && t(a.prototype, i), - n && t(a, n), - e - ); - })())( - "English", - [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] - ), - s = { - useUtc: !1, - getFullYear: function (e) { - return this.useUtc ? e.getUTCFullYear() : e.getFullYear(); - }, - getMonth: function (e) { - return this.useUtc ? e.getUTCMonth() : e.getMonth(); - }, - getDate: function (e) { - return this.useUtc ? e.getUTCDate() : e.getDate(); - }, - getDay: function (e) { - return this.useUtc ? e.getUTCDay() : e.getDay(); - }, - getHours: function (e) { - return this.useUtc ? e.getUTCHours() : e.getHours(); - }, - getMinutes: function (e) { - return this.useUtc ? e.getUTCMinutes() : e.getMinutes(); - }, - setFullYear: function (e, t, a) { - return this.useUtc ? e.setUTCFullYear(t) : e.setFullYear(t); - }, - setMonth: function (e, t, a) { - return this.useUtc ? e.setUTCMonth(t) : e.setMonth(t); - }, - setDate: function (e, t, a) { - return this.useUtc ? e.setUTCDate(t) : e.setDate(t); - }, - compareDates: function (e, t) { - var a = new Date(e.getTime()), - i = new Date(t.getTime()); - return ( - this.useUtc - ? (a.setUTCHours(0, 0, 0, 0), i.setUTCHours(0, 0, 0, 0)) - : (a.setHours(0, 0, 0, 0), i.setHours(0, 0, 0, 0)), - a.getTime() === i.getTime() - ); - }, - isValidDate: function (e) { - return ( - "[object Date]" === Object.prototype.toString.call(e) && - !isNaN(e.getTime()) - ); - }, - getDayNameAbbr: function (t, a) { - if ("object" !== e(t)) throw TypeError("Invalid Type"); - return a[this.getDay(t)]; - }, - getMonthName: function (t, a) { - if (!a) throw Error("missing 2nd parameter Months array"); - if ("object" === e(t)) return a[this.getMonth(t)]; - if ("number" == typeof t) return a[t]; - throw TypeError("Invalid type"); - }, - getMonthNameAbbr: function (t, a) { - if (!a) throw Error("missing 2nd paramter Months array"); - if ("object" === e(t)) return a[this.getMonth(t)]; - if ("number" == typeof t) return a[t]; - throw TypeError("Invalid type"); - }, - daysInMonth: function (e, t) { - return /8|3|5|10/.test(t) - ? 30 - : 1 === t - ? (e % 4 || !(e % 100)) && e % 400 - ? 28 - : 29 - : 31; - }, - getNthSuffix: function (e) { - switch (e) { - case 1: - case 21: - case 31: - return "st"; - case 2: - case 22: - return "nd"; - case 3: - case 23: - return "rd"; - default: - return "th"; - } - }, - formatDate: function (e, t, a) { - a = a || n; - var i = this.getFullYear(e), - s = this.getMonth(e) + 1, - r = this.getDate(e); - return t - .replace(/dd/, ("0" + r).slice(-2)) - .replace(/d/, r) - .replace(/yyyy/, i) - .replace(/yy/, String(i).slice(2)) - .replace(/MMMM/, this.getMonthName(this.getMonth(e), a.months)) - .replace(/MMM/, this.getMonthNameAbbr(this.getMonth(e), a.monthsAbbr)) - .replace(/MM/, ("0" + s).slice(-2)) - .replace(/M(?!a|ä|e)/, s) - .replace(/su/, this.getNthSuffix(this.getDate(e))) - .replace(/D(?!e|é|i)/, this.getDayNameAbbr(e, a.days)); - }, - createDateArray: function (e, t) { - for (var a = []; e <= t; ) - a.push(new Date(e)), - (e = this.setDate(new Date(e), this.getDate(new Date(e)) + 1)); - return a; - }, - validateDateInput: function (e) { - return ( - null === e || - e instanceof Date || - "string" == typeof e || - "number" == typeof e - ); - }, - }, - r = function (e) { - return i({}, s, { useUtc: e }); - }, - l = i({}, s); - var o = function (e, t, a, i, n, s, r, l, o, d) { - "boolean" != typeof r && ((o = l), (l = r), (r = !1)); - var h, - c = "function" == typeof a ? a.options : a; - if ( - (e && - e.render && - ((c.render = e.render), - (c.staticRenderFns = e.staticRenderFns), - (c._compiled = !0), - n && (c.functional = !0)), - i && (c._scopeId = i), - s - ? ((h = function (e) { - (e = - e || - (this.$vnode && this.$vnode.ssrContext) || - (this.parent && - this.parent.$vnode && - this.parent.$vnode.ssrContext)) || - "undefined" == typeof __VUE_SSR_CONTEXT__ || - (e = __VUE_SSR_CONTEXT__), - t && t.call(this, o(e)), - e && e._registeredComponents && e._registeredComponents.add(s); - }), - (c._ssrRegister = h)) - : t && - (h = r - ? function () { - t.call(this, d(this.$root.$options.shadowRoot)); - } - : function (e) { - t.call(this, l(e)); - }), - h) - ) - if (c.functional) { - var u = c.render; - c.render = function (e, t) { - return h.call(t), u(e, t); - }; - } else { - var p = c.beforeCreate; - c.beforeCreate = p ? [].concat(p, h) : [h]; - } - return a; - }; - const d = { - props: { - selectedDate: Date, - resetTypedDate: [Date], - format: [String, Function], - translation: Object, - inline: Boolean, - id: String, - name: String, - refName: String, - openDate: Date, - placeholder: String, - inputClass: [String, Object, Array], - clearButton: Boolean, - clearButtonIcon: String, - calendarButton: Boolean, - calendarButtonIcon: String, - calendarButtonIconContent: String, - disabled: Boolean, - required: Boolean, - typeable: Boolean, - bootstrapStyling: Boolean, - useUtc: Boolean, - }, - data: function () { - return { input: null, typedDate: !1, utils: r(this.useUtc) }; - }, - computed: { - formattedValue: function () { - return this.selectedDate - ? this.typedDate - ? this.typedDate - : "function" == typeof this.format - ? this.format(this.selectedDate) - : this.utils.formatDate( - new Date(this.selectedDate), - this.format, - this.translation - ) - : null; - }, - computedInputClass: function () { - return this.bootstrapStyling - ? "string" == typeof this.inputClass - ? [this.inputClass, "form-control"].join(" ") - : i({ "form-control": !0 }, this.inputClass) - : this.inputClass; - }, - }, - watch: { - resetTypedDate: function () { - this.typedDate = !1; - }, - }, - methods: { - showCalendar: function () { - this.$emit("showCalendar"); - }, - parseTypedDate: function (e) { - if ( - ([27, 13].includes(e.keyCode) && this.input.blur(), this.typeable) - ) { - var t = Date.parse(this.input.value); - isNaN(t) || - ((this.typedDate = this.input.value), - this.$emit("typedDate", new Date(this.typedDate))); - } - }, - inputBlurred: function () { - this.typeable && - isNaN(Date.parse(this.input.value)) && - (this.clearDate(), - (this.input.value = null), - (this.typedDate = null)), - this.$emit("closeCalendar"); - }, - clearDate: function () { - this.$emit("clearDate"); - }, - }, - mounted: function () { - this.input = this.$el.querySelector("input"); - }, - }; - var h = function () { - var e = this, - t = e.$createElement, - a = e._self._c || t; - return a( - "div", - { class: { "input-group": e.bootstrapStyling } }, - [ - e.calendarButton - ? a( - "span", - { - staticClass: "vdp-datepicker__calendar-button", - class: { "input-group-prepend": e.bootstrapStyling }, - style: { "cursor:not-allowed;": e.disabled }, - on: { click: e.showCalendar }, - }, - [ - a( - "span", - { class: { "input-group-text": e.bootstrapStyling } }, - [ - a("i", { class: e.calendarButtonIcon }, [ - e._v( - "\n " + - e._s(e.calendarButtonIconContent) + - "\n " - ), - e.calendarButtonIcon ? e._e() : a("span", [e._v("…")]), - ]), - ] - ), - ] - ) - : e._e(), - e._v(" "), - a("input", { - ref: e.refName, - class: e.computedInputClass, - attrs: { - type: e.inline ? "hidden" : "text", - name: e.name, - id: e.id, - "open-date": e.openDate, - placeholder: e.placeholder, - "clear-button": e.clearButton, - disabled: e.disabled, - required: e.required, - readonly: !e.typeable, - autocomplete: "off", - }, - domProps: { value: e.formattedValue }, - on: { - click: e.showCalendar, - keyup: e.parseTypedDate, - blur: e.inputBlurred, - }, - }), - e._v(" "), - e.clearButton && e.selectedDate - ? a( - "span", - { - staticClass: "vdp-datepicker__clear-button", - class: { "input-group-append": e.bootstrapStyling }, - on: { - click: function (t) { - return e.clearDate(); - }, - }, - }, - [ - a( - "span", - { class: { "input-group-text": e.bootstrapStyling } }, - [ - a("i", { class: e.clearButtonIcon }, [ - e.clearButtonIcon ? e._e() : a("span", [e._v("×")]), - ]), - ] - ), - ] - ) - : e._e(), - e._v(" "), - e._t("afterDateInput"), - ], - 2 - ); - }; - h._withStripped = !0; - var c = o( - { render: h, staticRenderFns: [] }, - void 0, - d, - void 0, - !1, - void 0, - void 0, - void 0 - ); - const u = { - props: { - showDayView: Boolean, - selectedDate: Date, - pageDate: Date, - pageTimestamp: Number, - fullMonthName: Boolean, - allowedToShowView: Function, - dayCellContent: { - type: Function, - default: function (e) { - return e.date; - }, - }, - disabledDates: Object, - highlighted: Object, - calendarClass: [String, Object, Array], - calendarStyle: Object, - translation: Object, - isRtl: Boolean, - mondayFirst: Boolean, - useUtc: Boolean, - }, - data: function () { - return { utils: r(this.useUtc) }; - }, - computed: { - daysOfWeek: function () { - if (this.mondayFirst) { - var e = this.translation.days.slice(); - return e.push(e.shift()), e; - } - return this.translation.days; - }, - blankDays: function () { - var e = this.pageDate, - t = this.useUtc - ? new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), 1)) - : new Date( - e.getFullYear(), - e.getMonth(), - 1, - e.getHours(), - e.getMinutes() - ); - return this.mondayFirst - ? this.utils.getDay(t) > 0 - ? this.utils.getDay(t) - 1 - : 6 - : this.utils.getDay(t); - }, - days: function () { - for ( - var e = this.pageDate, - t = [], - a = this.useUtc - ? new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), 1)) - : new Date( - e.getFullYear(), - e.getMonth(), - 1, - e.getHours(), - e.getMinutes() - ), - i = this.utils.daysInMonth( - this.utils.getFullYear(a), - this.utils.getMonth(a) - ), - n = 0; - n < i; - n++ - ) - t.push({ - date: this.utils.getDate(a), - timestamp: a.getTime(), - isSelected: this.isSelectedDate(a), - isDisabled: this.isDisabledDate(a), - isHighlighted: this.isHighlightedDate(a), - isHighlightStart: this.isHighlightStart(a), - isHighlightEnd: this.isHighlightEnd(a), - isToday: this.utils.compareDates(a, new Date()), - isWeekend: 0 === this.utils.getDay(a) || 6 === this.utils.getDay(a), - isSaturday: 6 === this.utils.getDay(a), - isSunday: 0 === this.utils.getDay(a), - }), - this.utils.setDate(a, this.utils.getDate(a) + 1); - return t; - }, - currMonthName: function () { - var e = this.fullMonthName - ? this.translation.months - : this.translation.monthsAbbr; - return this.utils.getMonthNameAbbr( - this.utils.getMonth(this.pageDate), - e - ); - }, - currYearName: function () { - var e = this.translation.yearSuffix; - return "".concat(this.utils.getFullYear(this.pageDate)).concat(e); - }, - isYmd: function () { - return this.translation.ymd && !0 === this.translation.ymd; - }, - isLeftNavDisabled: function () { - return this.isRtl - ? this.isNextMonthDisabled(this.pageTimestamp) - : this.isPreviousMonthDisabled(this.pageTimestamp); - }, - isRightNavDisabled: function () { - return this.isRtl - ? this.isPreviousMonthDisabled(this.pageTimestamp) - : this.isNextMonthDisabled(this.pageTimestamp); - }, - }, - methods: { - selectDate: function (e) { - if (e.isDisabled) return this.$emit("selectedDisabled", e), !1; - this.$emit("selectDate", e); - }, - getPageMonth: function () { - return this.utils.getMonth(this.pageDate); - }, - showMonthCalendar: function () { - this.$emit("showMonthCalendar"); - }, - changeMonth: function (e) { - var t = this.pageDate; - this.utils.setMonth(t, this.utils.getMonth(t) + e), - this.$emit("changedMonth", t); - }, - previousMonth: function () { - this.isPreviousMonthDisabled() || this.changeMonth(-1); - }, - isPreviousMonthDisabled: function () { - if (!this.disabledDates || !this.disabledDates.to) return !1; - var e = this.pageDate; - return ( - this.utils.getMonth(this.disabledDates.to) >= - this.utils.getMonth(e) && - this.utils.getFullYear(this.disabledDates.to) >= - this.utils.getFullYear(e) - ); - }, - nextMonth: function () { - this.isNextMonthDisabled() || this.changeMonth(1); - }, - isNextMonthDisabled: function () { - if (!this.disabledDates || !this.disabledDates.from) return !1; - var e = this.pageDate; - return ( - this.utils.getMonth(this.disabledDates.from) <= - this.utils.getMonth(e) && - this.utils.getFullYear(this.disabledDates.from) <= - this.utils.getFullYear(e) - ); - }, - isSelectedDate: function (e) { - return ( - this.selectedDate && this.utils.compareDates(this.selectedDate, e) - ); - }, - isDisabledDate: function (e) { - var t = this, - a = !1; - return ( - void 0 !== this.disabledDates && - (void 0 !== this.disabledDates.dates && - this.disabledDates.dates.forEach(function (i) { - if (t.utils.compareDates(e, i)) return (a = !0), !0; - }), - void 0 !== this.disabledDates.to && - this.disabledDates.to && - e < this.disabledDates.to && - (a = !0), - void 0 !== this.disabledDates.from && - this.disabledDates.from && - e > this.disabledDates.from && - (a = !0), - void 0 !== this.disabledDates.ranges && - this.disabledDates.ranges.forEach(function (t) { - if ( - void 0 !== t.from && - t.from && - void 0 !== t.to && - t.to && - e < t.to && - e > t.from - ) - return (a = !0), !0; - }), - void 0 !== this.disabledDates.days && - -1 !== this.disabledDates.days.indexOf(this.utils.getDay(e)) && - (a = !0), - void 0 !== this.disabledDates.daysOfMonth && - -1 !== - this.disabledDates.daysOfMonth.indexOf(this.utils.getDate(e)) && - (a = !0), - "function" == typeof this.disabledDates.customPredictor && - this.disabledDates.customPredictor(e) && - (a = !0), - a) - ); - }, - isHighlightedDate: function (e) { - var t = this; - if ( - (!this.highlighted || !this.highlighted.includeDisabled) && - this.isDisabledDate(e) - ) - return !1; - var a = !1; - return ( - void 0 !== this.highlighted && - (void 0 !== this.highlighted.dates && - this.highlighted.dates.forEach(function (i) { - if (t.utils.compareDates(e, i)) return (a = !0), !0; - }), - this.isDefined(this.highlighted.from) && - this.isDefined(this.highlighted.to) && - (a = e >= this.highlighted.from && e <= this.highlighted.to), - void 0 !== this.highlighted.days && - -1 !== this.highlighted.days.indexOf(this.utils.getDay(e)) && - (a = !0), - void 0 !== this.highlighted.daysOfMonth && - -1 !== - this.highlighted.daysOfMonth.indexOf(this.utils.getDate(e)) && - (a = !0), - "function" == typeof this.highlighted.customPredictor && - this.highlighted.customPredictor(e) && - (a = !0), - a) - ); - }, - dayClasses: function (e) { - return { - selected: e.isSelected, - disabled: e.isDisabled, - highlighted: e.isHighlighted, - today: e.isToday, - weekend: e.isWeekend, - sat: e.isSaturday, - sun: e.isSunday, - "highlight-start": e.isHighlightStart, - "highlight-end": e.isHighlightEnd, - }; - }, - isHighlightStart: function (e) { - return ( - this.isHighlightedDate(e) && - this.highlighted.from instanceof Date && - this.utils.getFullYear(this.highlighted.from) === - this.utils.getFullYear(e) && - this.utils.getMonth(this.highlighted.from) === - this.utils.getMonth(e) && - this.utils.getDate(this.highlighted.from) === this.utils.getDate(e) - ); - }, - isHighlightEnd: function (e) { - return ( - this.isHighlightedDate(e) && - this.highlighted.to instanceof Date && - this.utils.getFullYear(this.highlighted.to) === - this.utils.getFullYear(e) && - this.utils.getMonth(this.highlighted.to) === this.utils.getMonth(e) && - this.utils.getDate(this.highlighted.to) === this.utils.getDate(e) - ); - }, - isDefined: function (e) { - return void 0 !== e && e; - }, - }, - }; - var p = function () { - var e = this, - t = e.$createElement, - a = e._self._c || t; - return a( - "div", - { - directives: [ - { - name: "show", - rawName: "v-show", - value: e.showDayView, - expression: "showDayView", - }, - ], - class: [e.calendarClass, "vdp-datepicker__calendar"], - style: e.calendarStyle, - on: { - mousedown: function (e) { - e.preventDefault(); - }, - }, - }, - [ - e._t("beforeCalendarHeader"), - e._v(" "), - a("header", [ - a( - "span", - { - staticClass: "prev", - class: { disabled: e.isLeftNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.nextMonth() : e.previousMonth(); - }, - }, - }, - [e._v("<")] - ), - e._v(" "), - a( - "span", - { - staticClass: "day__month_btn", - class: e.allowedToShowView("month") ? "up" : "", - on: { click: e.showMonthCalendar }, - }, - [ - e._v( - e._s(e.isYmd ? e.currYearName : e.currMonthName) + - " " + - e._s(e.isYmd ? e.currMonthName : e.currYearName) - ), - ] - ), - e._v(" "), - a( - "span", - { - staticClass: "next", - class: { disabled: e.isRightNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.previousMonth() : e.nextMonth(); - }, - }, - }, - [e._v(">")] - ), - ]), - e._v(" "), - a( - "div", - { class: e.isRtl ? "flex-rtl" : "" }, - [ - e._l(e.daysOfWeek, function (t) { - return a( - "span", - { key: t.timestamp, staticClass: "cell day-header" }, - [e._v(e._s(t))] - ); - }), - e._v(" "), - e.blankDays > 0 - ? e._l(e.blankDays, function (e) { - return a("span", { - key: e.timestamp, - staticClass: "cell day blank", - }); - }) - : e._e(), - e._l(e.days, function (t) { - return a("span", { - key: t.timestamp, - staticClass: "cell day", - class: e.dayClasses(t), - domProps: { innerHTML: e._s(e.dayCellContent(t)) }, - on: { - click: function (a) { - return e.selectDate(t); - }, - }, - }); - }), - ], - 2 - ), - ], - 2 - ); - }; - p._withStripped = !0; - var g = o( - { render: p, staticRenderFns: [] }, - void 0, - u, - void 0, - !1, - void 0, - void 0, - void 0 - ); - const f = { - props: { - showMonthView: Boolean, - selectedDate: Date, - pageDate: Date, - pageTimestamp: Number, - disabledDates: Object, - calendarClass: [String, Object, Array], - calendarStyle: Object, - translation: Object, - isRtl: Boolean, - allowedToShowView: Function, - useUtc: Boolean, - }, - data: function () { - return { utils: r(this.useUtc) }; - }, - computed: { - months: function () { - for ( - var e = this.pageDate, - t = [], - a = this.useUtc - ? new Date(Date.UTC(e.getUTCFullYear(), 0, e.getUTCDate())) - : new Date( - e.getFullYear(), - 0, - e.getDate(), - e.getHours(), - e.getMinutes() - ), - i = 0; - i < 12; - i++ - ) - t.push({ - month: this.utils.getMonthName(i, this.translation.months), - timestamp: a.getTime(), - isSelected: this.isSelectedMonth(a), - isDisabled: this.isDisabledMonth(a), - }), - this.utils.setMonth(a, this.utils.getMonth(a) + 1); - return t; - }, - pageYearName: function () { - var e = this.translation.yearSuffix; - return "".concat(this.utils.getFullYear(this.pageDate)).concat(e); - }, - isLeftNavDisabled: function () { - return this.isRtl - ? this.isNextYearDisabled(this.pageTimestamp) - : this.isPreviousYearDisabled(this.pageTimestamp); - }, - isRightNavDisabled: function () { - return this.isRtl - ? this.isPreviousYearDisabled(this.pageTimestamp) - : this.isNextYearDisabled(this.pageTimestamp); - }, - }, - methods: { - selectMonth: function (e) { - if (e.isDisabled) return !1; - this.$emit("selectMonth", e); - }, - changeYear: function (e) { - var t = this.pageDate; - this.utils.setFullYear(t, this.utils.getFullYear(t) + e), - this.$emit("changedYear", t); - }, - previousYear: function () { - this.isPreviousYearDisabled() || this.changeYear(-1); - }, - isPreviousYearDisabled: function () { - return ( - !(!this.disabledDates || !this.disabledDates.to) && - this.utils.getFullYear(this.disabledDates.to) >= - this.utils.getFullYear(this.pageDate) - ); - }, - nextYear: function () { - this.isNextYearDisabled() || this.changeYear(1); - }, - isNextYearDisabled: function () { - return ( - !(!this.disabledDates || !this.disabledDates.from) && - this.utils.getFullYear(this.disabledDates.from) <= - this.utils.getFullYear(this.pageDate) - ); - }, - showYearCalendar: function () { - this.$emit("showYearCalendar"); - }, - isSelectedMonth: function (e) { - return ( - this.selectedDate && - this.utils.getFullYear(this.selectedDate) === - this.utils.getFullYear(e) && - this.utils.getMonth(this.selectedDate) === this.utils.getMonth(e) - ); - }, - isDisabledMonth: function (e) { - var t = !1; - return ( - void 0 !== this.disabledDates && - (void 0 !== this.disabledDates.to && - this.disabledDates.to && - ((this.utils.getMonth(e) < - this.utils.getMonth(this.disabledDates.to) && - this.utils.getFullYear(e) <= - this.utils.getFullYear(this.disabledDates.to)) || - this.utils.getFullYear(e) < - this.utils.getFullYear(this.disabledDates.to)) && - (t = !0), - void 0 !== this.disabledDates.from && - this.disabledDates.from && - ((this.utils.getMonth(e) > - this.utils.getMonth(this.disabledDates.from) && - this.utils.getFullYear(e) >= - this.utils.getFullYear(this.disabledDates.from)) || - this.utils.getFullYear(e) > - this.utils.getFullYear(this.disabledDates.from)) && - (t = !0), - "function" == typeof this.disabledDates.customPredictor && - this.disabledDates.customPredictor(e) && - (t = !0), - t) - ); - }, - }, - }; - var D = function () { - var e = this, - t = e.$createElement, - a = e._self._c || t; - return a( - "div", - { - directives: [ - { - name: "show", - rawName: "v-show", - value: e.showMonthView, - expression: "showMonthView", - }, - ], - class: [e.calendarClass, "vdp-datepicker__calendar"], - style: e.calendarStyle, - on: { - mousedown: function (e) { - e.preventDefault(); - }, - }, - }, - [ - e._t("beforeCalendarHeader"), - e._v(" "), - a("header", [ - a( - "span", - { - staticClass: "prev", - class: { disabled: e.isLeftNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.nextYear() : e.previousYear(); - }, - }, - }, - [e._v("<")] - ), - e._v(" "), - a( - "span", - { - staticClass: "month__year_btn", - class: e.allowedToShowView("year") ? "up" : "", - on: { click: e.showYearCalendar }, - }, - [e._v(e._s(e.pageYearName))] - ), - e._v(" "), - a( - "span", - { - staticClass: "next", - class: { disabled: e.isRightNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.previousYear() : e.nextYear(); - }, - }, - }, - [e._v(">")] - ), - ]), - e._v(" "), - e._l(e.months, function (t) { - return a( - "span", - { - key: t.timestamp, - staticClass: "cell month", - class: { selected: t.isSelected, disabled: t.isDisabled }, - on: { - click: function (a) { - return a.stopPropagation(), e.selectMonth(t); - }, - }, - }, - [e._v(e._s(t.month))] - ); - }), - ], - 2 - ); - }; - D._withStripped = !0; - var b = o( - { render: D, staticRenderFns: [] }, - void 0, - f, - void 0, - !1, - void 0, - void 0, - void 0 - ); - const m = { - props: { - showYearView: Boolean, - selectedDate: Date, - pageDate: Date, - pageTimestamp: Number, - disabledDates: Object, - highlighted: Object, - calendarClass: [String, Object, Array], - calendarStyle: Object, - translation: Object, - isRtl: Boolean, - allowedToShowView: Function, - useUtc: Boolean, - }, - computed: { - years: function () { - for ( - var e = this.pageDate, - t = [], - a = this.useUtc - ? new Date( - Date.UTC( - 10 * Math.floor(e.getUTCFullYear() / 10), - e.getUTCMonth(), - e.getUTCDate() - ) - ) - : new Date( - 10 * Math.floor(e.getFullYear() / 10), - e.getMonth(), - e.getDate(), - e.getHours(), - e.getMinutes() - ), - i = 0; - i < 10; - i++ - ) - t.push({ - year: this.utils.getFullYear(a), - timestamp: a.getTime(), - isSelected: this.isSelectedYear(a), - isDisabled: this.isDisabledYear(a), - }), - this.utils.setFullYear(a, this.utils.getFullYear(a) + 1); - return t; - }, - getPageDecade: function () { - var e = 10 * Math.floor(this.utils.getFullYear(this.pageDate) / 10), - t = e + 9, - a = this.translation.yearSuffix; - return "".concat(e, " - ").concat(t).concat(a); - }, - isLeftNavDisabled: function () { - return this.isRtl - ? this.isNextDecadeDisabled(this.pageTimestamp) - : this.isPreviousDecadeDisabled(this.pageTimestamp); - }, - isRightNavDisabled: function () { - return this.isRtl - ? this.isPreviousDecadeDisabled(this.pageTimestamp) - : this.isNextDecadeDisabled(this.pageTimestamp); - }, - }, - data: function () { - return { utils: r(this.useUtc) }; - }, - methods: { - selectYear: function (e) { - if (e.isDisabled) return !1; - this.$emit("selectYear", e); - }, - changeYear: function (e) { - var t = this.pageDate; - this.utils.setFullYear(t, this.utils.getFullYear(t) + e), - this.$emit("changedDecade", t); - }, - previousDecade: function () { - if (this.isPreviousDecadeDisabled()) return !1; - this.changeYear(-10); - }, - isPreviousDecadeDisabled: function () { - return ( - !(!this.disabledDates || !this.disabledDates.to) && - this.utils.getFullYear(this.disabledDates.to) > - 10 * Math.floor(this.utils.getFullYear(this.pageDate) / 10) - 1 - ); - }, - nextDecade: function () { - if (this.isNextDecadeDisabled()) return !1; - this.changeYear(10); - }, - isNextDecadeDisabled: function () { - return ( - !(!this.disabledDates || !this.disabledDates.from) && - this.utils.getFullYear(this.disabledDates.from) < - 10 * Math.ceil(this.utils.getFullYear(this.pageDate) / 10) - ); - }, - isSelectedYear: function (e) { - return ( - this.selectedDate && - this.utils.getFullYear(this.selectedDate) === - this.utils.getFullYear(e) - ); - }, - isDisabledYear: function (e) { - var t = !1; - return ( - !(void 0 === this.disabledDates || !this.disabledDates) && - (void 0 !== this.disabledDates.to && - this.disabledDates.to && - this.utils.getFullYear(e) < - this.utils.getFullYear(this.disabledDates.to) && - (t = !0), - void 0 !== this.disabledDates.from && - this.disabledDates.from && - this.utils.getFullYear(e) > - this.utils.getFullYear(this.disabledDates.from) && - (t = !0), - "function" == typeof this.disabledDates.customPredictor && - this.disabledDates.customPredictor(e) && - (t = !0), - t) - ); - }, - }, - }; - var A = function () { - var e = this, - t = e.$createElement, - a = e._self._c || t; - return a( - "div", - { - directives: [ - { - name: "show", - rawName: "v-show", - value: e.showYearView, - expression: "showYearView", - }, - ], - class: [e.calendarClass, "vdp-datepicker__calendar"], - style: e.calendarStyle, - on: { - mousedown: function (e) { - e.preventDefault(); - }, - }, - }, - [ - e._t("beforeCalendarHeader"), - e._v(" "), - a("header", [ - a( - "span", - { - staticClass: "prev", - class: { disabled: e.isLeftNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.nextDecade() : e.previousDecade(); - }, - }, - }, - [e._v("<")] - ), - e._v(" "), - a("span", [e._v(e._s(e.getPageDecade))]), - e._v(" "), - a( - "span", - { - staticClass: "next", - class: { disabled: e.isRightNavDisabled }, - on: { - click: function (t) { - e.isRtl ? e.previousDecade() : e.nextDecade(); - }, - }, - }, - [e._v(">")] - ), - ]), - e._v(" "), - e._l(e.years, function (t) { - return a( - "span", - { - key: t.timestamp, - staticClass: "cell year", - class: { selected: t.isSelected, disabled: t.isDisabled }, - on: { - click: function (a) { - return a.stopPropagation(), e.selectYear(t); - }, - }, - }, - [e._v(e._s(t.year))] - ); - }), - ], - 2 - ); - }; - A._withStripped = !0; - var v = { - components: { - DateInput: c, - PickerDay: g, - PickerMonth: b, - PickerYear: o( - { render: A, staticRenderFns: [] }, - void 0, - m, - void 0, - !1, - void 0, - void 0, - void 0 - ), - }, - props: { - value: { - validator: function (e) { - return l.validateDateInput(e); - }, - }, - name: String, - refName: String, - id: String, - format: { type: [String, Function], default: "dd MMM yyyy" }, - language: { - type: Object, - default: function () { - return n; - }, - }, - openDate: { - validator: function (e) { - return l.validateDateInput(e); - }, - }, - dayCellContent: Function, - fullMonthName: Boolean, - disabledDates: Object, - highlighted: Object, - placeholder: String, - inline: Boolean, - calendarClass: [String, Object, Array], - inputClass: [String, Object, Array], - wrapperClass: [String, Object, Array], - mondayFirst: Boolean, - clearButton: Boolean, - clearButtonIcon: String, - calendarButton: Boolean, - calendarButtonIcon: String, - calendarButtonIconContent: String, - bootstrapStyling: Boolean, - initialView: String, - disabled: Boolean, - required: Boolean, - typeable: Boolean, - useUtc: Boolean, - minimumView: { type: String, default: "day" }, - maximumView: { type: String, default: "year" }, - }, - data: function () { - var e = this.openDate ? new Date(this.openDate) : new Date(), - t = r(this.useUtc); - return { - pageTimestamp: t.setDate(e, 1), - selectedDate: null, - showDayView: !1, - showMonthView: !1, - showYearView: !1, - calendarHeight: 0, - resetTypedDate: new Date(), - utils: t, - }; - }, - watch: { - value: function (e) { - this.setValue(e); - }, - openDate: function () { - this.setPageDate(); - }, - initialView: function () { - this.setInitialView(); - }, - }, - computed: { - computedInitialView: function () { - return this.initialView ? this.initialView : this.minimumView; - }, - pageDate: function () { - return new Date(this.pageTimestamp); - }, - translation: function () { - return this.language; - }, - calendarStyle: function () { - return { position: this.isInline ? "static" : void 0 }; - }, - isOpen: function () { - return this.showDayView || this.showMonthView || this.showYearView; - }, - isInline: function () { - return !!this.inline; - }, - isRtl: function () { - return !0 === this.translation.rtl; - }, - }, - methods: { - resetDefaultPageDate: function () { - null !== this.selectedDate - ? this.setPageDate(this.selectedDate) - : this.setPageDate(); - }, - showCalendar: function () { - return ( - !this.disabled && - !this.isInline && - (this.isOpen ? this.close(!0) : void this.setInitialView()) - ); - }, - setInitialView: function () { - var e = this.computedInitialView; - if (!this.allowedToShowView(e)) - throw new Error( - "initialView '" - .concat( - this.initialView, - "' cannot be rendered based on minimum '" - ) - .concat(this.minimumView, "' and maximum '") - .concat(this.maximumView, "'") - ); - switch (e) { - case "year": - this.showYearCalendar(); - break; - case "month": - this.showMonthCalendar(); - break; - default: - this.showDayCalendar(); - } - }, - allowedToShowView: function (e) { - var t = ["day", "month", "year"], - a = t.indexOf(this.minimumView), - i = t.indexOf(this.maximumView), - n = t.indexOf(e); - return n >= a && n <= i; - }, - showDayCalendar: function () { - return ( - !!this.allowedToShowView("day") && - (this.close(), (this.showDayView = !0), !0) - ); - }, - showMonthCalendar: function () { - return ( - !!this.allowedToShowView("month") && - (this.close(), (this.showMonthView = !0), !0) - ); - }, - showYearCalendar: function () { - return ( - !!this.allowedToShowView("year") && - (this.close(), (this.showYearView = !0), !0) - ); - }, - setDate: function (e) { - var t = new Date(e); - (this.selectedDate = t), - this.setPageDate(t), - this.$emit("selected", t), - this.$emit("input", t); - }, - clearDate: function () { - (this.selectedDate = null), - this.setPageDate(), - this.$emit("selected", null), - this.$emit("input", null), - this.$emit("cleared"); - }, - selectDate: function (e) { - this.setDate(e.timestamp), - this.isInline || this.close(!0), - (this.resetTypedDate = new Date()); - }, - selectDisabledDate: function (e) { - this.$emit("selectedDisabled", e); - }, - selectMonth: function (e) { - var t = new Date(e.timestamp); - this.allowedToShowView("day") - ? (this.setPageDate(t), - this.$emit("changedMonth", e), - this.showDayCalendar()) - : this.selectDate(e); - }, - selectYear: function (e) { - var t = new Date(e.timestamp); - this.allowedToShowView("month") - ? (this.setPageDate(t), - this.$emit("changedYear", e), - this.showMonthCalendar()) - : this.selectDate(e); - }, - setValue: function (e) { - if ("string" == typeof e || "number" == typeof e) { - var t = new Date(e); - e = isNaN(t.valueOf()) ? null : t; - } - if (!e) return this.setPageDate(), void (this.selectedDate = null); - (this.selectedDate = e), this.setPageDate(e); - }, - setPageDate: function (e) { - e || (e = this.openDate ? new Date(this.openDate) : new Date()), - (this.pageTimestamp = this.utils.setDate(new Date(e), 1)); - }, - handleChangedMonthFromDayPicker: function (e) { - this.setPageDate(e), this.$emit("changedMonth", e); - }, - setTypedDate: function (e) { - this.setDate(e.getTime()); - }, - close: function (e) { - (this.showDayView = this.showMonthView = this.showYearView = !1), - this.isInline || - (e && this.$emit("closed"), - document.removeEventListener("click", this.clickOutside, !1)); - }, - init: function () { - this.value && this.setValue(this.value), - this.isInline && this.setInitialView(); - }, - }, - mounted: function () { - this.init(); - }, - }, - y = - "undefined" != typeof navigator && - /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); - var _ = document.head || document.getElementsByTagName("head")[0], - w = {}; - var C = function (e) { - return function (e, t) { - return (function (e, t) { - var a = y ? t.media || "default" : e, - i = w[a] || (w[a] = { ids: new Set(), styles: [] }); - if (!i.ids.has(e)) { - i.ids.add(e); - var n = t.source; - if ( - (t.map && - ((n += "\n/*# sourceURL=" + t.map.sources[0] + " */"), - (n += - "\n/*# sourceMappingURL=data:application/json;base64," + - btoa(unescape(encodeURIComponent(JSON.stringify(t.map)))) + - " */")), - i.element || - ((i.element = document.createElement("style")), - (i.element.type = "text/css"), - t.media && i.element.setAttribute("media", t.media), - _.appendChild(i.element)), - "styleSheet" in i.element) - ) - i.styles.push(n), - (i.element.styleSheet.cssText = i.styles - .filter(Boolean) - .join("\n")); - else { - var s = i.ids.size - 1, - r = document.createTextNode(n), - l = i.element.childNodes; - l[s] && i.element.removeChild(l[s]), - l.length - ? i.element.insertBefore(r, l[s]) - : i.element.appendChild(r); - } - } - })(e, t); - }; - }; - const k = v; - var B = function () { - var e = this, - t = e.$createElement, - a = e._self._c || t; - return a( - "div", - { - staticClass: "vdp-datepicker", - class: [e.wrapperClass, e.isRtl ? "rtl" : ""], - }, - [ - a( - "date-input", - { - attrs: { - selectedDate: e.selectedDate, - resetTypedDate: e.resetTypedDate, - format: e.format, - translation: e.translation, - inline: e.inline, - id: e.id, - name: e.name, - refName: e.refName, - openDate: e.openDate, - placeholder: e.placeholder, - inputClass: e.inputClass, - typeable: e.typeable, - clearButton: e.clearButton, - clearButtonIcon: e.clearButtonIcon, - calendarButton: e.calendarButton, - calendarButtonIcon: e.calendarButtonIcon, - calendarButtonIconContent: e.calendarButtonIconContent, - disabled: e.disabled, - required: e.required, - bootstrapStyling: e.bootstrapStyling, - "use-utc": e.useUtc, - }, - on: { - showCalendar: e.showCalendar, - closeCalendar: e.close, - typedDate: e.setTypedDate, - clearDate: e.clearDate, - }, - }, - [e._t("afterDateInput", null, { slot: "afterDateInput" })], - 2 - ), - e._v(" "), - e.allowedToShowView("day") - ? a( - "picker-day", - { - attrs: { - pageDate: e.pageDate, - selectedDate: e.selectedDate, - showDayView: e.showDayView, - fullMonthName: e.fullMonthName, - allowedToShowView: e.allowedToShowView, - disabledDates: e.disabledDates, - highlighted: e.highlighted, - calendarClass: e.calendarClass, - calendarStyle: e.calendarStyle, - translation: e.translation, - pageTimestamp: e.pageTimestamp, - isRtl: e.isRtl, - mondayFirst: e.mondayFirst, - dayCellContent: e.dayCellContent, - "use-utc": e.useUtc, - }, - on: { - changedMonth: e.handleChangedMonthFromDayPicker, - selectDate: e.selectDate, - showMonthCalendar: e.showMonthCalendar, - selectedDisabled: e.selectDisabledDate, - }, - }, - [ - e._t("beforeCalendarHeader", null, { - slot: "beforeCalendarHeader", - }), - ], - 2 - ) - : e._e(), - e._v(" "), - e.allowedToShowView("month") - ? a( - "picker-month", - { - attrs: { - pageDate: e.pageDate, - selectedDate: e.selectedDate, - showMonthView: e.showMonthView, - allowedToShowView: e.allowedToShowView, - disabledDates: e.disabledDates, - calendarClass: e.calendarClass, - calendarStyle: e.calendarStyle, - translation: e.translation, - isRtl: e.isRtl, - "use-utc": e.useUtc, - }, - on: { - selectMonth: e.selectMonth, - showYearCalendar: e.showYearCalendar, - changedYear: e.setPageDate, - }, - }, - [ - e._t("beforeCalendarHeader", null, { - slot: "beforeCalendarHeader", - }), - ], - 2 - ) - : e._e(), - e._v(" "), - e.allowedToShowView("year") - ? a( - "picker-year", - { - attrs: { - pageDate: e.pageDate, - selectedDate: e.selectedDate, - showYearView: e.showYearView, - allowedToShowView: e.allowedToShowView, - disabledDates: e.disabledDates, - calendarClass: e.calendarClass, - calendarStyle: e.calendarStyle, - translation: e.translation, - isRtl: e.isRtl, - "use-utc": e.useUtc, - }, - on: { selectYear: e.selectYear, changedDecade: e.setPageDate }, - }, - [ - e._t("beforeCalendarHeader", null, { - slot: "beforeCalendarHeader", - }), - ], - 2 - ) - : e._e(), - ], - 1 - ); - }; - B._withStripped = !0; - return o( - { render: B, staticRenderFns: [] }, - function (e) { - e && - e("data-v-64ca2bb5_0", { - source: - ".rtl {\n direction: rtl;\n}\n.vdp-datepicker {\n position: relative;\n text-align: left;\n}\n.vdp-datepicker * {\n box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n position: absolute;\n z-index: 100;\n background: #fff;\n width: 300px;\n border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n display: block;\n line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n display: inline-block;\n text-align: center;\n width: 71.42857142857143%;\n float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n width: 14.285714285714286%;\n float: left;\n text-indent: -10000px;\n position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n border-right: 10px solid #000;\n margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n border-left: 10px solid #000;\n margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n color: #ddd;\n cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n display: flex;\n width: inherit;\n flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n display: inline-block;\n padding: 0 5px;\n width: 14.285714285714286%;\n height: 40px;\n line-height: 40px;\n text-align: center;\n vertical-align: middle;\n border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n font-size: 75%;\n white-space: nowrap;\n cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n cursor: pointer;\n font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n color: #999;\n cursor: default;\n}\n", - map: { - version: 3, - sources: ["Datepicker.vue"], - names: [], - mappings: - "AAAA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;AACb;AACA;;EAEE,0BAA0B;EAC1B,WAAW;EACX,qBAAqB;EACrB,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,4CAA4C;EAC5C,6BAA6B;AAC/B;AACA;EACE,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,gBAAgB;AAClB;AACA;EACE,4BAA4B;AAC9B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;EACd,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;EACtB,6BAA6B;AAC/B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,eAAe;AACjB", - file: "Datepicker.vue", - sourcesContent: [ - ".rtl {\n direction: rtl;\n}\n.vdp-datepicker {\n position: relative;\n text-align: left;\n}\n.vdp-datepicker * {\n box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n position: absolute;\n z-index: 100;\n background: #fff;\n width: 300px;\n border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n display: block;\n line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n display: inline-block;\n text-align: center;\n width: 71.42857142857143%;\n float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n width: 14.285714285714286%;\n float: left;\n text-indent: -10000px;\n position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n border-right: 10px solid #000;\n margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n border-left: 10px solid #000;\n margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n color: #ddd;\n cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n display: flex;\n width: inherit;\n flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n display: inline-block;\n padding: 0 5px;\n width: 14.285714285714286%;\n height: 40px;\n line-height: 40px;\n text-align: center;\n vertical-align: middle;\n border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n font-size: 75%;\n white-space: nowrap;\n cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n cursor: pointer;\n font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n color: #999;\n cursor: default;\n}\n", - ], - }, - media: void 0, - }); - }, - k, - void 0, - !1, - void 0, - C, - void 0 - ); -}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).vuejsDatepicker=t()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function a(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),n.forEach(function(t){a(e,t,i[t])})}return e}var n=new(function(){function e(t,a,i,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.language=t,this.months=a,this.monthsAbbr=i,this.days=n,this.rtl=!1,this.ymd=!1,this.yearSuffix=""}var a,i,n;return a=e,(i=[{key:"language",get:function(){return this._language},set:function(e){if("string"!=typeof e)throw new TypeError("Language must be a string");this._language=e}},{key:"months",get:function(){return this._months},set:function(e){if(12!==e.length)throw new RangeError("There must be 12 months for ".concat(this.language," language"));this._months=e}},{key:"monthsAbbr",get:function(){return this._monthsAbbr},set:function(e){if(12!==e.length)throw new RangeError("There must be 12 abbreviated months for ".concat(this.language," language"));this._monthsAbbr=e}},{key:"days",get:function(){return this._days},set:function(e){if(7!==e.length)throw new RangeError("There must be 7 days for ".concat(this.language," language"));this._days=e}}])&&t(a.prototype,i),n&&t(a,n),e}())("English",["January","February","March","April","May","June","July","August","September","October","November","December"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),s={useUtc:!1,getFullYear:function(e){return this.useUtc?e.getUTCFullYear():e.getFullYear()},getMonth:function(e){return this.useUtc?e.getUTCMonth():e.getMonth()},getDate:function(e){return this.useUtc?e.getUTCDate():e.getDate()},getDay:function(e){return this.useUtc?e.getUTCDay():e.getDay()},getHours:function(e){return this.useUtc?e.getUTCHours():e.getHours()},getMinutes:function(e){return this.useUtc?e.getUTCMinutes():e.getMinutes()},setFullYear:function(e,t,a){return this.useUtc?e.setUTCFullYear(t):e.setFullYear(t)},setMonth:function(e,t,a){return this.useUtc?e.setUTCMonth(t):e.setMonth(t)},setDate:function(e,t,a){return this.useUtc?e.setUTCDate(t):e.setDate(t)},compareDates:function(e,t){var a=new Date(e.getTime()),i=new Date(t.getTime());return this.useUtc?(a.setUTCHours(0,0,0,0),i.setUTCHours(0,0,0,0)):(a.setHours(0,0,0,0),i.setHours(0,0,0,0)),a.getTime()===i.getTime()},isValidDate:function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},getDayNameAbbr:function(t,a){if("object"!==e(t))throw TypeError("Invalid Type");return a[this.getDay(t)]},getMonthName:function(t,a){if(!a)throw Error("missing 2nd parameter Months array");if("object"===e(t))return a[this.getMonth(t)];if("number"==typeof t)return a[t];throw TypeError("Invalid type")},getMonthNameAbbr:function(t,a){if(!a)throw Error("missing 2nd paramter Months array");if("object"===e(t))return a[this.getMonth(t)];if("number"==typeof t)return a[t];throw TypeError("Invalid type")},daysInMonth:function(e,t){return/8|3|5|10/.test(t)?30:1===t?(e%4||!(e%100))&&e%400?28:29:31},getNthSuffix:function(e){switch(e){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},formatDate:function(e,t,a){a=a||n;var i=this.getFullYear(e),s=this.getMonth(e)+1,r=this.getDate(e);return t.replace(/dd/,("0"+r).slice(-2)).replace(/d/,r).replace(/yyyy/,i).replace(/yy/,String(i).slice(2)).replace(/MMMM/,this.getMonthName(this.getMonth(e),a.months)).replace(/MMM/,this.getMonthNameAbbr(this.getMonth(e),a.monthsAbbr)).replace(/MM/,("0"+s).slice(-2)).replace(/M(?!a|ä|e)/,s).replace(/su/,this.getNthSuffix(this.getDate(e))).replace(/D(?!e|é|i)/,this.getDayNameAbbr(e,a.days))},createDateArray:function(e,t){for(var a=[];e<=t;)a.push(new Date(e)),e=this.setDate(new Date(e),this.getDate(new Date(e))+1);return a},validateDateInput:function(e){return null===e||e instanceof Date||"string"==typeof e||"number"==typeof e}},r=function(e){return i({},s,{useUtc:e})},l=i({},s);var o=function(e,t,a,i,n,s,r,l,o,d){"boolean"!=typeof r&&(o=l,l=r,r=!1);var h,c="function"==typeof a?a.options:a;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,n&&(c.functional=!0)),i&&(c._scopeId=i),s?(h=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,o(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=h):t&&(h=r?function(){t.call(this,d(this.$root.$options.shadowRoot))}:function(e){t.call(this,l(e))}),h)if(c.functional){var u=c.render;c.render=function(e,t){return h.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,h):[h]}return a};const d={props:{selectedDate:Date,resetTypedDate:[Date],format:[String,Function],translation:Object,inline:Boolean,id:String,name:String,refName:String,openDate:Date,placeholder:String,inputClass:[String,Object,Array],clearButton:Boolean,clearButtonIcon:String,calendarButton:Boolean,calendarButtonIcon:String,calendarButtonIconContent:String,disabled:Boolean,required:Boolean,typeable:Boolean,bootstrapStyling:Boolean,useUtc:Boolean},data:function(){return{input:null,typedDate:!1,utils:r(this.useUtc)}},computed:{formattedValue:function(){return this.selectedDate?this.typedDate?this.typedDate:"function"==typeof this.format?this.format(this.selectedDate):this.utils.formatDate(new Date(this.selectedDate),this.format,this.translation):null},computedInputClass:function(){return this.bootstrapStyling?"string"==typeof this.inputClass?[this.inputClass,"form-control"].join(" "):i({"form-control":!0},this.inputClass):this.inputClass}},watch:{resetTypedDate:function(){this.typedDate=!1}},methods:{showCalendar:function(){this.$emit("showCalendar")},parseTypedDate:function(e){if([27,13].includes(e.keyCode)&&this.input.blur(),this.typeable){var t=Date.parse(this.input.value);isNaN(t)||(this.typedDate=this.input.value,this.$emit("typedDate",new Date(this.typedDate)))}},inputBlurred:function(){this.typeable&&isNaN(Date.parse(this.input.value))&&(this.clearDate(),this.input.value=null,this.typedDate=null),this.$emit("closeCalendar")},clearDate:function(){this.$emit("clearDate")}},mounted:function(){this.input=this.$el.querySelector("input")}};var h=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:{"input-group":e.bootstrapStyling}},[e.calendarButton?a("span",{staticClass:"vdp-datepicker__calendar-button",class:{"input-group-prepend":e.bootstrapStyling},style:{"cursor:not-allowed;":e.disabled},on:{click:e.showCalendar}},[a("span",{class:{"input-group-text":e.bootstrapStyling}},[a("i",{class:e.calendarButtonIcon},[e._v("\n "+e._s(e.calendarButtonIconContent)+"\n "),e.calendarButtonIcon?e._e():a("span",[e._v("…")])])])]):e._e(),e._v(" "),a("input",{ref:e.refName,class:e.computedInputClass,attrs:{type:e.inline?"hidden":"text",name:e.name,id:e.id,"open-date":e.openDate,placeholder:e.placeholder,"clear-button":e.clearButton,disabled:e.disabled,required:e.required,readonly:!e.typeable,autocomplete:"off"},domProps:{value:e.formattedValue},on:{click:e.showCalendar,keyup:e.parseTypedDate,blur:e.inputBlurred}}),e._v(" "),e.clearButton&&e.selectedDate?a("span",{staticClass:"vdp-datepicker__clear-button",class:{"input-group-append":e.bootstrapStyling},on:{click:function(t){return e.clearDate()}}},[a("span",{class:{"input-group-text":e.bootstrapStyling}},[a("i",{class:e.clearButtonIcon},[e.clearButtonIcon?e._e():a("span",[e._v("×")])])])]):e._e(),e._v(" "),e._t("afterDateInput")],2)};h._withStripped=!0;var c=o({render:h,staticRenderFns:[]},void 0,d,void 0,!1,void 0,void 0,void 0);const u={props:{showDayView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,fullMonthName:Boolean,allowedToShowView:Function,dayCellContent:{type:Function,default:function(e){return e.date}},disabledDates:Object,highlighted:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,mondayFirst:Boolean,useUtc:Boolean},data:function(){return{utils:r(this.useUtc)}},computed:{daysOfWeek:function(){if(this.mondayFirst){var e=this.translation.days.slice();return e.push(e.shift()),e}return this.translation.days},blankDays:function(){var e=this.pageDate,t=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)):new Date(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes());return this.mondayFirst?this.utils.getDay(t)>0?this.utils.getDay(t)-1:6:this.utils.getDay(t)},days:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)):new Date(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes()),i=this.utils.daysInMonth(this.utils.getFullYear(a),this.utils.getMonth(a)),n=0;n<i;n++)t.push({date:this.utils.getDate(a),timestamp:a.getTime(),isSelected:this.isSelectedDate(a),isDisabled:this.isDisabledDate(a),isHighlighted:this.isHighlightedDate(a),isHighlightStart:this.isHighlightStart(a),isHighlightEnd:this.isHighlightEnd(a),isToday:this.utils.compareDates(a,new Date),isWeekend:0===this.utils.getDay(a)||6===this.utils.getDay(a),isSaturday:6===this.utils.getDay(a),isSunday:0===this.utils.getDay(a)}),this.utils.setDate(a,this.utils.getDate(a)+1);return t},currMonthName:function(){var e=this.fullMonthName?this.translation.months:this.translation.monthsAbbr;return this.utils.getMonthNameAbbr(this.utils.getMonth(this.pageDate),e)},currYearName:function(){var e=this.translation.yearSuffix;return"".concat(this.utils.getFullYear(this.pageDate)).concat(e)},isYmd:function(){return this.translation.ymd&&!0===this.translation.ymd},isLeftNavDisabled:function(){return this.isRtl?this.isNextMonthDisabled(this.pageTimestamp):this.isPreviousMonthDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousMonthDisabled(this.pageTimestamp):this.isNextMonthDisabled(this.pageTimestamp)}},methods:{selectDate:function(e){if(e.isDisabled)return this.$emit("selectedDisabled",e),!1;this.$emit("selectDate",e)},getPageMonth:function(){return this.utils.getMonth(this.pageDate)},showMonthCalendar:function(){this.$emit("showMonthCalendar")},changeMonth:function(e){var t=this.pageDate;this.utils.setMonth(t,this.utils.getMonth(t)+e),this.$emit("changedMonth",t)},previousMonth:function(){this.isPreviousMonthDisabled()||this.changeMonth(-1)},isPreviousMonthDisabled:function(){if(!this.disabledDates||!this.disabledDates.to)return!1;var e=this.pageDate;return this.utils.getMonth(this.disabledDates.to)>=this.utils.getMonth(e)&&this.utils.getFullYear(this.disabledDates.to)>=this.utils.getFullYear(e)},nextMonth:function(){this.isNextMonthDisabled()||this.changeMonth(1)},isNextMonthDisabled:function(){if(!this.disabledDates||!this.disabledDates.from)return!1;var e=this.pageDate;return this.utils.getMonth(this.disabledDates.from)<=this.utils.getMonth(e)&&this.utils.getFullYear(this.disabledDates.from)<=this.utils.getFullYear(e)},isSelectedDate:function(e){return this.selectedDate&&this.utils.compareDates(this.selectedDate,e)},isDisabledDate:function(e){var t=this,a=!1;return void 0!==this.disabledDates&&(void 0!==this.disabledDates.dates&&this.disabledDates.dates.forEach(function(i){if(t.utils.compareDates(e,i))return a=!0,!0}),void 0!==this.disabledDates.to&&this.disabledDates.to&&e<this.disabledDates.to&&(a=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&e>this.disabledDates.from&&(a=!0),void 0!==this.disabledDates.ranges&&this.disabledDates.ranges.forEach(function(t){if(void 0!==t.from&&t.from&&void 0!==t.to&&t.to&&e<t.to&&e>t.from)return a=!0,!0}),void 0!==this.disabledDates.days&&-1!==this.disabledDates.days.indexOf(this.utils.getDay(e))&&(a=!0),void 0!==this.disabledDates.daysOfMonth&&-1!==this.disabledDates.daysOfMonth.indexOf(this.utils.getDate(e))&&(a=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(a=!0),a)},isHighlightedDate:function(e){var t=this;if((!this.highlighted||!this.highlighted.includeDisabled)&&this.isDisabledDate(e))return!1;var a=!1;return void 0!==this.highlighted&&(void 0!==this.highlighted.dates&&this.highlighted.dates.forEach(function(i){if(t.utils.compareDates(e,i))return a=!0,!0}),this.isDefined(this.highlighted.from)&&this.isDefined(this.highlighted.to)&&(a=e>=this.highlighted.from&&e<=this.highlighted.to),void 0!==this.highlighted.days&&-1!==this.highlighted.days.indexOf(this.utils.getDay(e))&&(a=!0),void 0!==this.highlighted.daysOfMonth&&-1!==this.highlighted.daysOfMonth.indexOf(this.utils.getDate(e))&&(a=!0),"function"==typeof this.highlighted.customPredictor&&this.highlighted.customPredictor(e)&&(a=!0),a)},dayClasses:function(e){return{selected:e.isSelected,disabled:e.isDisabled,highlighted:e.isHighlighted,today:e.isToday,weekend:e.isWeekend,sat:e.isSaturday,sun:e.isSunday,"highlight-start":e.isHighlightStart,"highlight-end":e.isHighlightEnd}},isHighlightStart:function(e){return this.isHighlightedDate(e)&&this.highlighted.from instanceof Date&&this.utils.getFullYear(this.highlighted.from)===this.utils.getFullYear(e)&&this.utils.getMonth(this.highlighted.from)===this.utils.getMonth(e)&&this.utils.getDate(this.highlighted.from)===this.utils.getDate(e)},isHighlightEnd:function(e){return this.isHighlightedDate(e)&&this.highlighted.to instanceof Date&&this.utils.getFullYear(this.highlighted.to)===this.utils.getFullYear(e)&&this.utils.getMonth(this.highlighted.to)===this.utils.getMonth(e)&&this.utils.getDate(this.highlighted.to)===this.utils.getDate(e)},isDefined:function(e){return void 0!==e&&e}}};var p=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showDayView,expression:"showDayView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextMonth():e.previousMonth()}}},[e._v("<")]),e._v(" "),a("span",{staticClass:"day__month_btn",class:e.allowedToShowView("month")?"up":"",on:{click:e.showMonthCalendar}},[e._v(e._s(e.isYmd?e.currYearName:e.currMonthName)+" "+e._s(e.isYmd?e.currMonthName:e.currYearName))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousMonth():e.nextMonth()}}},[e._v(">")])]),e._v(" "),a("div",{class:e.isRtl?"flex-rtl":""},[e._l(e.daysOfWeek,function(t){return a("span",{key:t.timestamp,staticClass:"cell day-header"},[e._v(e._s(t))])}),e._v(" "),e.blankDays>0?e._l(e.blankDays,function(e){return a("span",{key:e.timestamp,staticClass:"cell day blank"})}):e._e(),e._l(e.days,function(t){return a("span",{key:t.timestamp,staticClass:"cell day",class:e.dayClasses(t),domProps:{innerHTML:e._s(e.dayCellContent(t))},on:{click:function(a){return e.selectDate(t)}}})})],2)],2)};p._withStripped=!0;var g=o({render:p,staticRenderFns:[]},void 0,u,void 0,!1,void 0,void 0,void 0);const f={props:{showMonthView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,disabledDates:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,allowedToShowView:Function,useUtc:Boolean},data:function(){return{utils:r(this.useUtc)}},computed:{months:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),0,e.getUTCDate())):new Date(e.getFullYear(),0,e.getDate(),e.getHours(),e.getMinutes()),i=0;i<12;i++)t.push({month:this.utils.getMonthName(i,this.translation.months),timestamp:a.getTime(),isSelected:this.isSelectedMonth(a),isDisabled:this.isDisabledMonth(a)}),this.utils.setMonth(a,this.utils.getMonth(a)+1);return t},pageYearName:function(){var e=this.translation.yearSuffix;return"".concat(this.utils.getFullYear(this.pageDate)).concat(e)},isLeftNavDisabled:function(){return this.isRtl?this.isNextYearDisabled(this.pageTimestamp):this.isPreviousYearDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousYearDisabled(this.pageTimestamp):this.isNextYearDisabled(this.pageTimestamp)}},methods:{selectMonth:function(e){if(e.isDisabled)return!1;this.$emit("selectMonth",e)},changeYear:function(e){var t=this.pageDate;this.utils.setFullYear(t,this.utils.getFullYear(t)+e),this.$emit("changedYear",t)},previousYear:function(){this.isPreviousYearDisabled()||this.changeYear(-1)},isPreviousYearDisabled:function(){return!(!this.disabledDates||!this.disabledDates.to)&&this.utils.getFullYear(this.disabledDates.to)>=this.utils.getFullYear(this.pageDate)},nextYear:function(){this.isNextYearDisabled()||this.changeYear(1)},isNextYearDisabled:function(){return!(!this.disabledDates||!this.disabledDates.from)&&this.utils.getFullYear(this.disabledDates.from)<=this.utils.getFullYear(this.pageDate)},showYearCalendar:function(){this.$emit("showYearCalendar")},isSelectedMonth:function(e){return this.selectedDate&&this.utils.getFullYear(this.selectedDate)===this.utils.getFullYear(e)&&this.utils.getMonth(this.selectedDate)===this.utils.getMonth(e)},isDisabledMonth:function(e){var t=!1;return void 0!==this.disabledDates&&(void 0!==this.disabledDates.to&&this.disabledDates.to&&(this.utils.getMonth(e)<this.utils.getMonth(this.disabledDates.to)&&this.utils.getFullYear(e)<=this.utils.getFullYear(this.disabledDates.to)||this.utils.getFullYear(e)<this.utils.getFullYear(this.disabledDates.to))&&(t=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&(this.utils.getMonth(e)>this.utils.getMonth(this.disabledDates.from)&&this.utils.getFullYear(e)>=this.utils.getFullYear(this.disabledDates.from)||this.utils.getFullYear(e)>this.utils.getFullYear(this.disabledDates.from))&&(t=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(t=!0),t)}}};var D=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showMonthView,expression:"showMonthView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextYear():e.previousYear()}}},[e._v("<")]),e._v(" "),a("span",{staticClass:"month__year_btn",class:e.allowedToShowView("year")?"up":"",on:{click:e.showYearCalendar}},[e._v(e._s(e.pageYearName))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousYear():e.nextYear()}}},[e._v(">")])]),e._v(" "),e._l(e.months,function(t){return a("span",{key:t.timestamp,staticClass:"cell month",class:{selected:t.isSelected,disabled:t.isDisabled},on:{click:function(a){return a.stopPropagation(),e.selectMonth(t)}}},[e._v(e._s(t.month))])})],2)};D._withStripped=!0;var b=o({render:D,staticRenderFns:[]},void 0,f,void 0,!1,void 0,void 0,void 0);const m={props:{showYearView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,disabledDates:Object,highlighted:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,allowedToShowView:Function,useUtc:Boolean},computed:{years:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(10*Math.floor(e.getUTCFullYear()/10),e.getUTCMonth(),e.getUTCDate())):new Date(10*Math.floor(e.getFullYear()/10),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes()),i=0;i<10;i++)t.push({year:this.utils.getFullYear(a),timestamp:a.getTime(),isSelected:this.isSelectedYear(a),isDisabled:this.isDisabledYear(a)}),this.utils.setFullYear(a,this.utils.getFullYear(a)+1);return t},getPageDecade:function(){var e=10*Math.floor(this.utils.getFullYear(this.pageDate)/10),t=e+9,a=this.translation.yearSuffix;return"".concat(e," - ").concat(t).concat(a)},isLeftNavDisabled:function(){return this.isRtl?this.isNextDecadeDisabled(this.pageTimestamp):this.isPreviousDecadeDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousDecadeDisabled(this.pageTimestamp):this.isNextDecadeDisabled(this.pageTimestamp)}},data:function(){return{utils:r(this.useUtc)}},methods:{selectYear:function(e){if(e.isDisabled)return!1;this.$emit("selectYear",e)},changeYear:function(e){var t=this.pageDate;this.utils.setFullYear(t,this.utils.getFullYear(t)+e),this.$emit("changedDecade",t)},previousDecade:function(){if(this.isPreviousDecadeDisabled())return!1;this.changeYear(-10)},isPreviousDecadeDisabled:function(){return!(!this.disabledDates||!this.disabledDates.to)&&this.utils.getFullYear(this.disabledDates.to)>10*Math.floor(this.utils.getFullYear(this.pageDate)/10)-1},nextDecade:function(){if(this.isNextDecadeDisabled())return!1;this.changeYear(10)},isNextDecadeDisabled:function(){return!(!this.disabledDates||!this.disabledDates.from)&&this.utils.getFullYear(this.disabledDates.from)<10*Math.ceil(this.utils.getFullYear(this.pageDate)/10)},isSelectedYear:function(e){return this.selectedDate&&this.utils.getFullYear(this.selectedDate)===this.utils.getFullYear(e)},isDisabledYear:function(e){var t=!1;return!(void 0===this.disabledDates||!this.disabledDates)&&(void 0!==this.disabledDates.to&&this.disabledDates.to&&this.utils.getFullYear(e)<this.utils.getFullYear(this.disabledDates.to)&&(t=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&this.utils.getFullYear(e)>this.utils.getFullYear(this.disabledDates.from)&&(t=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(t=!0),t)}}};var A=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showYearView,expression:"showYearView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextDecade():e.previousDecade()}}},[e._v("<")]),e._v(" "),a("span",[e._v(e._s(e.getPageDecade))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousDecade():e.nextDecade()}}},[e._v(">")])]),e._v(" "),e._l(e.years,function(t){return a("span",{key:t.timestamp,staticClass:"cell year",class:{selected:t.isSelected,disabled:t.isDisabled},on:{click:function(a){return a.stopPropagation(),e.selectYear(t)}}},[e._v(e._s(t.year))])})],2)};A._withStripped=!0;var v={components:{DateInput:c,PickerDay:g,PickerMonth:b,PickerYear:o({render:A,staticRenderFns:[]},void 0,m,void 0,!1,void 0,void 0,void 0)},props:{value:{validator:function(e){return l.validateDateInput(e)}},name:String,refName:String,id:String,format:{type:[String,Function],default:"dd MMM yyyy"},language:{type:Object,default:function(){return n}},openDate:{validator:function(e){return l.validateDateInput(e)}},dayCellContent:Function,fullMonthName:Boolean,disabledDates:Object,highlighted:Object,placeholder:String,inline:Boolean,calendarClass:[String,Object,Array],inputClass:[String,Object,Array],wrapperClass:[String,Object,Array],mondayFirst:Boolean,clearButton:Boolean,clearButtonIcon:String,calendarButton:Boolean,calendarButtonIcon:String,calendarButtonIconContent:String,bootstrapStyling:Boolean,initialView:String,disabled:Boolean,required:Boolean,typeable:Boolean,useUtc:Boolean,minimumView:{type:String,default:"day"},maximumView:{type:String,default:"year"}},data:function(){var e=this.openDate?new Date(this.openDate):new Date,t=r(this.useUtc);return{pageTimestamp:t.setDate(e,1),selectedDate:null,showDayView:!1,showMonthView:!1,showYearView:!1,calendarHeight:0,resetTypedDate:new Date,utils:t}},watch:{value:function(e){this.setValue(e)},openDate:function(){this.setPageDate()},initialView:function(){this.setInitialView()}},computed:{computedInitialView:function(){return this.initialView?this.initialView:this.minimumView},pageDate:function(){return new Date(this.pageTimestamp)},translation:function(){return this.language},calendarStyle:function(){return{position:this.isInline?"static":void 0}},isOpen:function(){return this.showDayView||this.showMonthView||this.showYearView},isInline:function(){return!!this.inline},isRtl:function(){return!0===this.translation.rtl}},methods:{resetDefaultPageDate:function(){null!==this.selectedDate?this.setPageDate(this.selectedDate):this.setPageDate()},showCalendar:function(){return!this.disabled&&!this.isInline&&(this.isOpen?this.close(!0):void this.setInitialView())},setInitialView:function(){var e=this.computedInitialView;if(!this.allowedToShowView(e))throw new Error("initialView '".concat(this.initialView,"' cannot be rendered based on minimum '").concat(this.minimumView,"' and maximum '").concat(this.maximumView,"'"));switch(e){case"year":this.showYearCalendar();break;case"month":this.showMonthCalendar();break;default:this.showDayCalendar()}},allowedToShowView:function(e){var t=["day","month","year"],a=t.indexOf(this.minimumView),i=t.indexOf(this.maximumView),n=t.indexOf(e);return n>=a&&n<=i},showDayCalendar:function(){return!!this.allowedToShowView("day")&&(this.close(),this.showDayView=!0,!0)},showMonthCalendar:function(){return!!this.allowedToShowView("month")&&(this.close(),this.showMonthView=!0,!0)},showYearCalendar:function(){return!!this.allowedToShowView("year")&&(this.close(),this.showYearView=!0,!0)},setDate:function(e){var t=new Date(e);this.selectedDate=t,this.setPageDate(t),this.$emit("selected",t),this.$emit("input",t)},clearDate:function(){this.selectedDate=null,this.setPageDate(),this.$emit("selected",null),this.$emit("input",null),this.$emit("cleared")},selectDate:function(e){this.setDate(e.timestamp),this.isInline||this.close(!0),this.resetTypedDate=new Date},selectDisabledDate:function(e){this.$emit("selectedDisabled",e)},selectMonth:function(e){var t=new Date(e.timestamp);this.allowedToShowView("day")?(this.setPageDate(t),this.$emit("changedMonth",e),this.showDayCalendar()):this.selectDate(e)},selectYear:function(e){var t=new Date(e.timestamp);this.allowedToShowView("month")?(this.setPageDate(t),this.$emit("changedYear",e),this.showMonthCalendar()):this.selectDate(e)},setValue:function(e){if("string"==typeof e||"number"==typeof e){var t=new Date(e);e=isNaN(t.valueOf())?null:t}if(!e)return this.setPageDate(),void(this.selectedDate=null);this.selectedDate=e,this.setPageDate(e)},setPageDate:function(e){e||(e=this.openDate?new Date(this.openDate):new Date),this.pageTimestamp=this.utils.setDate(new Date(e),1)},handleChangedMonthFromDayPicker:function(e){this.setPageDate(e),this.$emit("changedMonth",e)},setTypedDate:function(e){this.setDate(e.getTime())},close:function(e){this.showDayView=this.showMonthView=this.showYearView=!1,this.isInline||(e&&this.$emit("closed"),document.removeEventListener("click",this.clickOutside,!1))},init:function(){this.value&&this.setValue(this.value),this.isInline&&this.setInitialView()}},mounted:function(){this.init()}},y="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());var _=document.head||document.getElementsByTagName("head")[0],w={};var C=function(e){return function(e,t){return function(e,t){var a=y?t.media||"default":e,i=w[a]||(w[a]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",t.media&&i.element.setAttribute("media",t.media),_.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(n),i.element.styleSheet.cssText=i.styles.filter(Boolean).join("\n");else{var s=i.ids.size-1,r=document.createTextNode(n),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(r,l[s]):i.element.appendChild(r)}}}(e,t)}};const k=v;var B=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"vdp-datepicker",class:[e.wrapperClass,e.isRtl?"rtl":""]},[a("date-input",{attrs:{selectedDate:e.selectedDate,resetTypedDate:e.resetTypedDate,format:e.format,translation:e.translation,inline:e.inline,id:e.id,name:e.name,refName:e.refName,openDate:e.openDate,placeholder:e.placeholder,inputClass:e.inputClass,typeable:e.typeable,clearButton:e.clearButton,clearButtonIcon:e.clearButtonIcon,calendarButton:e.calendarButton,calendarButtonIcon:e.calendarButtonIcon,calendarButtonIconContent:e.calendarButtonIconContent,disabled:e.disabled,required:e.required,bootstrapStyling:e.bootstrapStyling,"use-utc":e.useUtc},on:{showCalendar:e.showCalendar,closeCalendar:e.close,typedDate:e.setTypedDate,clearDate:e.clearDate}},[e._t("afterDateInput",null,{slot:"afterDateInput"})],2),e._v(" "),e.allowedToShowView("day")?a("picker-day",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showDayView:e.showDayView,fullMonthName:e.fullMonthName,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,highlighted:e.highlighted,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,pageTimestamp:e.pageTimestamp,isRtl:e.isRtl,mondayFirst:e.mondayFirst,dayCellContent:e.dayCellContent,"use-utc":e.useUtc},on:{changedMonth:e.handleChangedMonthFromDayPicker,selectDate:e.selectDate,showMonthCalendar:e.showMonthCalendar,selectedDisabled:e.selectDisabledDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e(),e._v(" "),e.allowedToShowView("month")?a("picker-month",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showMonthView:e.showMonthView,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,isRtl:e.isRtl,"use-utc":e.useUtc},on:{selectMonth:e.selectMonth,showYearCalendar:e.showYearCalendar,changedYear:e.setPageDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e(),e._v(" "),e.allowedToShowView("year")?a("picker-year",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showYearView:e.showYearView,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,isRtl:e.isRtl,"use-utc":e.useUtc},on:{selectYear:e.selectYear,changedDecade:e.setPageDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e()],1)};B._withStripped=!0;return o({render:B,staticRenderFns:[]},function(e){e&&e("data-v-64ca2bb5_0",{source:".rtl {\n direction: rtl;\n}\n.vdp-datepicker {\n position: relative;\n text-align: left;\n}\n.vdp-datepicker * {\n box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n position: absolute;\n z-index: 100;\n background: #fff;\n width: 300px;\n border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n display: block;\n line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n display: inline-block;\n text-align: center;\n width: 71.42857142857143%;\n float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n width: 14.285714285714286%;\n float: left;\n text-indent: -10000px;\n position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n border-right: 10px solid #000;\n margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n border-left: 10px solid #000;\n margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n color: #ddd;\n cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n display: flex;\n width: inherit;\n flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n display: inline-block;\n padding: 0 5px;\n width: 14.285714285714286%;\n height: 40px;\n line-height: 40px;\n text-align: center;\n vertical-align: middle;\n border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n font-size: 75%;\n white-space: nowrap;\n cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n cursor: pointer;\n font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n color: #999;\n cursor: default;\n}\n",map:{version:3,sources:["Datepicker.vue"],names:[],mappings:"AAAA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;AACb;AACA;;EAEE,0BAA0B;EAC1B,WAAW;EACX,qBAAqB;EACrB,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,4CAA4C;EAC5C,6BAA6B;AAC/B;AACA;EACE,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,gBAAgB;AAClB;AACA;EACE,4BAA4B;AAC9B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;EACd,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;EACtB,6BAA6B;AAC/B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,eAAe;AACjB",file:"Datepicker.vue",sourcesContent:[".rtl {\n direction: rtl;\n}\n.vdp-datepicker {\n position: relative;\n text-align: left;\n}\n.vdp-datepicker * {\n box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n position: absolute;\n z-index: 100;\n background: #fff;\n width: 300px;\n border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n display: block;\n line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n display: inline-block;\n text-align: center;\n width: 71.42857142857143%;\n float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n width: 14.285714285714286%;\n float: left;\n text-indent: -10000px;\n position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n border-right: 10px solid #000;\n margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n border-left: 10px solid #000;\n margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n color: #ddd;\n cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n display: flex;\n width: inherit;\n flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n display: inline-block;\n padding: 0 5px;\n width: 14.285714285714286%;\n height: 40px;\n line-height: 40px;\n text-align: center;\n vertical-align: middle;\n border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n font-size: 75%;\n white-space: nowrap;\n cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n cursor: pointer;\n font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n color: #999;\n cursor: default;\n}\n"]},media:void 0})},k,void 0,!1,void 0,C,void 0)}); diff --git a/notemyprogress/js/draggable.js b/notemyprogress/js/draggable.js index 509ba4069a503074758642e4cb85ed94d3265092..dee16afe98a1de5cdd2ee747a24e1936759bd4f5 100644 --- a/notemyprogress/js/draggable.js +++ b/notemyprogress/js/draggable.js @@ -1,2271 +1,2 @@ -(function (t, n) { - "object" === typeof exports && "object" === typeof module - ? (module.exports = n(require("sortablejs"))) - : "function" === typeof define && define.amd - ? define(["sortablejs"], n) - : "object" === typeof exports - ? (exports["vuedraggable"] = n(require("sortablejs"))) - : (t["vuedraggable"] = n(t["Sortable"])); -})("undefined" !== typeof self ? self : this, function (t) { - return (function (t) { - var n = {}; - function e(r) { - if (n[r]) return n[r].exports; - var o = (n[r] = { i: r, l: !1, exports: {} }); - return t[r].call(o.exports, o, o.exports, e), (o.l = !0), o.exports; - } - return ( - (e.m = t), - (e.c = n), - (e.d = function (t, n, r) { - e.o(t, n) || Object.defineProperty(t, n, { enumerable: !0, get: r }); - }), - (e.r = function (t) { - "undefined" !== typeof Symbol && - Symbol.toStringTag && - Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), - Object.defineProperty(t, "__esModule", { value: !0 }); - }), - (e.t = function (t, n) { - if ((1 & n && (t = e(t)), 8 & n)) return t; - if (4 & n && "object" === typeof t && t && t.__esModule) return t; - var r = Object.create(null); - if ( - (e.r(r), - Object.defineProperty(r, "default", { enumerable: !0, value: t }), - 2 & n && "string" != typeof t) - ) - for (var o in t) - e.d( - r, - o, - function (n) { - return t[n]; - }.bind(null, o) - ); - return r; - }), - (e.n = function (t) { - var n = - t && t.__esModule - ? function () { - return t["default"]; - } - : function () { - return t; - }; - return e.d(n, "a", n), n; - }), - (e.o = function (t, n) { - return Object.prototype.hasOwnProperty.call(t, n); - }), - (e.p = ""), - e((e.s = "fb15")) - ); - })({ - "02f4": function (t, n, e) { - var r = e("4588"), - o = e("be13"); - t.exports = function (t) { - return function (n, e) { - var i, - u, - c = String(o(n)), - a = r(e), - f = c.length; - return a < 0 || a >= f - ? t - ? "" - : void 0 - : ((i = c.charCodeAt(a)), - i < 55296 || - i > 56319 || - a + 1 === f || - (u = c.charCodeAt(a + 1)) < 56320 || - u > 57343 - ? t - ? c.charAt(a) - : i - : t - ? c.slice(a, a + 2) - : u - 56320 + ((i - 55296) << 10) + 65536); - }; - }; - }, - "0390": function (t, n, e) { - "use strict"; - var r = e("02f4")(!0); - t.exports = function (t, n, e) { - return n + (e ? r(t, n).length : 1); - }; - }, - "07e3": function (t, n) { - var e = {}.hasOwnProperty; - t.exports = function (t, n) { - return e.call(t, n); - }; - }, - "0bfb": function (t, n, e) { - "use strict"; - var r = e("cb7c"); - t.exports = function () { - var t = r(this), - n = ""; - return ( - t.global && (n += "g"), - t.ignoreCase && (n += "i"), - t.multiline && (n += "m"), - t.unicode && (n += "u"), - t.sticky && (n += "y"), - n - ); - }; - }, - "0fc9": function (t, n, e) { - var r = e("3a38"), - o = Math.max, - i = Math.min; - t.exports = function (t, n) { - return (t = r(t)), t < 0 ? o(t + n, 0) : i(t, n); - }; - }, - 1654: function (t, n, e) { - "use strict"; - var r = e("71c1")(!0); - e("30f1")( - String, - "String", - function (t) { - (this._t = String(t)), (this._i = 0); - }, - function () { - var t, - n = this._t, - e = this._i; - return e >= n.length - ? { value: void 0, done: !0 } - : ((t = r(n, e)), (this._i += t.length), { value: t, done: !1 }); - } - ); - }, - 1691: function (t, n) { - t.exports = - "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split( - "," - ); - }, - "1af6": function (t, n, e) { - var r = e("63b6"); - r(r.S, "Array", { isArray: e("9003") }); - }, - "1bc3": function (t, n, e) { - var r = e("f772"); - t.exports = function (t, n) { - if (!r(t)) return t; - var e, o; - if (n && "function" == typeof (e = t.toString) && !r((o = e.call(t)))) - return o; - if ("function" == typeof (e = t.valueOf) && !r((o = e.call(t)))) - return o; - if (!n && "function" == typeof (e = t.toString) && !r((o = e.call(t)))) - return o; - throw TypeError("Can't convert object to primitive value"); - }; - }, - "1ec9": function (t, n, e) { - var r = e("f772"), - o = e("e53d").document, - i = r(o) && r(o.createElement); - t.exports = function (t) { - return i ? o.createElement(t) : {}; - }; - }, - "20fd": function (t, n, e) { - "use strict"; - var r = e("d9f6"), - o = e("aebd"); - t.exports = function (t, n, e) { - n in t ? r.f(t, n, o(0, e)) : (t[n] = e); - }; - }, - "214f": function (t, n, e) { - "use strict"; - e("b0c5"); - var r = e("2aba"), - o = e("32e9"), - i = e("79e5"), - u = e("be13"), - c = e("2b4c"), - a = e("520a"), - f = c("species"), - s = !i(function () { - var t = /./; - return ( - (t.exec = function () { - var t = []; - return (t.groups = { a: "7" }), t; - }), - "7" !== "".replace(t, "$<a>") - ); - }), - l = (function () { - var t = /(?:)/, - n = t.exec; - t.exec = function () { - return n.apply(this, arguments); - }; - var e = "ab".split(t); - return 2 === e.length && "a" === e[0] && "b" === e[1]; - })(); - t.exports = function (t, n, e) { - var p = c(t), - d = !i(function () { - var n = {}; - return ( - (n[p] = function () { - return 7; - }), - 7 != ""[t](n) - ); - }), - v = d - ? !i(function () { - var n = !1, - e = /a/; - return ( - (e.exec = function () { - return (n = !0), null; - }), - "split" === t && - ((e.constructor = {}), - (e.constructor[f] = function () { - return e; - })), - e[p](""), - !n - ); - }) - : void 0; - if (!d || !v || ("replace" === t && !s) || ("split" === t && !l)) { - var h = /./[p], - b = e(u, p, ""[t], function (t, n, e, r, o) { - return n.exec === a - ? d && !o - ? { done: !0, value: h.call(n, e, r) } - : { done: !0, value: t.call(e, n, r) } - : { done: !1 }; - }), - g = b[0], - y = b[1]; - r(String.prototype, t, g), - o( - RegExp.prototype, - p, - 2 == n - ? function (t, n) { - return y.call(t, this, n); - } - : function (t) { - return y.call(t, this); - } - ); - } - }; - }, - "230e": function (t, n, e) { - var r = e("d3f4"), - o = e("7726").document, - i = r(o) && r(o.createElement); - t.exports = function (t) { - return i ? o.createElement(t) : {}; - }; - }, - "23c6": function (t, n, e) { - var r = e("2d95"), - o = e("2b4c")("toStringTag"), - i = - "Arguments" == - r( - (function () { - return arguments; - })() - ), - u = function (t, n) { - try { - return t[n]; - } catch (e) {} - }; - t.exports = function (t) { - var n, e, c; - return void 0 === t - ? "Undefined" - : null === t - ? "Null" - : "string" == typeof (e = u((n = Object(t)), o)) - ? e - : i - ? r(n) - : "Object" == (c = r(n)) && "function" == typeof n.callee - ? "Arguments" - : c; - }; - }, - "241e": function (t, n, e) { - var r = e("25eb"); - t.exports = function (t) { - return Object(r(t)); - }; - }, - "25eb": function (t, n) { - t.exports = function (t) { - if (void 0 == t) throw TypeError("Can't call method on " + t); - return t; - }; - }, - "294c": function (t, n) { - t.exports = function (t) { - try { - return !!t(); - } catch (n) { - return !0; - } - }; - }, - "2aba": function (t, n, e) { - var r = e("7726"), - o = e("32e9"), - i = e("69a8"), - u = e("ca5a")("src"), - c = e("fa5b"), - a = "toString", - f = ("" + c).split(a); - (e("8378").inspectSource = function (t) { - return c.call(t); - }), - (t.exports = function (t, n, e, c) { - var a = "function" == typeof e; - a && (i(e, "name") || o(e, "name", n)), - t[n] !== e && - (a && (i(e, u) || o(e, u, t[n] ? "" + t[n] : f.join(String(n)))), - t === r - ? (t[n] = e) - : c - ? t[n] - ? (t[n] = e) - : o(t, n, e) - : (delete t[n], o(t, n, e))); - })(Function.prototype, a, function () { - return ("function" == typeof this && this[u]) || c.call(this); - }); - }, - "2b4c": function (t, n, e) { - var r = e("5537")("wks"), - o = e("ca5a"), - i = e("7726").Symbol, - u = "function" == typeof i, - c = (t.exports = function (t) { - return r[t] || (r[t] = (u && i[t]) || (u ? i : o)("Symbol." + t)); - }); - c.store = r; - }, - "2d00": function (t, n) { - t.exports = !1; - }, - "2d95": function (t, n) { - var e = {}.toString; - t.exports = function (t) { - return e.call(t).slice(8, -1); - }; - }, - "2fdb": function (t, n, e) { - "use strict"; - var r = e("5ca1"), - o = e("d2c8"), - i = "includes"; - r(r.P + r.F * e("5147")(i), "String", { - includes: function (t) { - return !!~o(this, t, i).indexOf( - t, - arguments.length > 1 ? arguments[1] : void 0 - ); - }, - }); - }, - "30f1": function (t, n, e) { - "use strict"; - var r = e("b8e3"), - o = e("63b6"), - i = e("9138"), - u = e("35e8"), - c = e("481b"), - a = e("8f60"), - f = e("45f2"), - s = e("53e2"), - l = e("5168")("iterator"), - p = !([].keys && "next" in [].keys()), - d = "@@iterator", - v = "keys", - h = "values", - b = function () { - return this; - }; - t.exports = function (t, n, e, g, y, x, m) { - a(e, n, g); - var w, - O, - S, - j = function (t) { - if (!p && t in C) return C[t]; - switch (t) { - case v: - return function () { - return new e(this, t); - }; - case h: - return function () { - return new e(this, t); - }; - } - return function () { - return new e(this, t); - }; - }, - _ = n + " Iterator", - M = y == h, - T = !1, - C = t.prototype, - E = C[l] || C[d] || (y && C[y]), - A = E || j(y), - P = y ? (M ? j("entries") : A) : void 0, - I = ("Array" == n && C.entries) || E; - if ( - (I && - ((S = s(I.call(new t()))), - S !== Object.prototype && - S.next && - (f(S, _, !0), r || "function" == typeof S[l] || u(S, l, b))), - M && - E && - E.name !== h && - ((T = !0), - (A = function () { - return E.call(this); - })), - (r && !m) || (!p && !T && C[l]) || u(C, l, A), - (c[n] = A), - (c[_] = b), - y) - ) - if ( - ((w = { values: M ? A : j(h), keys: x ? A : j(v), entries: P }), m) - ) - for (O in w) O in C || i(C, O, w[O]); - else o(o.P + o.F * (p || T), n, w); - return w; - }; - }, - "32a6": function (t, n, e) { - var r = e("241e"), - o = e("c3a1"); - e("ce7e")("keys", function () { - return function (t) { - return o(r(t)); - }; - }); - }, - "32e9": function (t, n, e) { - var r = e("86cc"), - o = e("4630"); - t.exports = e("9e1e") - ? function (t, n, e) { - return r.f(t, n, o(1, e)); - } - : function (t, n, e) { - return (t[n] = e), t; - }; - }, - "32fc": function (t, n, e) { - var r = e("e53d").document; - t.exports = r && r.documentElement; - }, - "335c": function (t, n, e) { - var r = e("6b4c"); - t.exports = Object("z").propertyIsEnumerable(0) - ? Object - : function (t) { - return "String" == r(t) ? t.split("") : Object(t); - }; - }, - "355d": function (t, n) { - n.f = {}.propertyIsEnumerable; - }, - "35e8": function (t, n, e) { - var r = e("d9f6"), - o = e("aebd"); - t.exports = e("8e60") - ? function (t, n, e) { - return r.f(t, n, o(1, e)); - } - : function (t, n, e) { - return (t[n] = e), t; - }; - }, - "36c3": function (t, n, e) { - var r = e("335c"), - o = e("25eb"); - t.exports = function (t) { - return r(o(t)); - }; - }, - 3702: function (t, n, e) { - var r = e("481b"), - o = e("5168")("iterator"), - i = Array.prototype; - t.exports = function (t) { - return void 0 !== t && (r.Array === t || i[o] === t); - }; - }, - "3a38": function (t, n) { - var e = Math.ceil, - r = Math.floor; - t.exports = function (t) { - return isNaN((t = +t)) ? 0 : (t > 0 ? r : e)(t); - }; - }, - "40c3": function (t, n, e) { - var r = e("6b4c"), - o = e("5168")("toStringTag"), - i = - "Arguments" == - r( - (function () { - return arguments; - })() - ), - u = function (t, n) { - try { - return t[n]; - } catch (e) {} - }; - t.exports = function (t) { - var n, e, c; - return void 0 === t - ? "Undefined" - : null === t - ? "Null" - : "string" == typeof (e = u((n = Object(t)), o)) - ? e - : i - ? r(n) - : "Object" == (c = r(n)) && "function" == typeof n.callee - ? "Arguments" - : c; - }; - }, - 4588: function (t, n) { - var e = Math.ceil, - r = Math.floor; - t.exports = function (t) { - return isNaN((t = +t)) ? 0 : (t > 0 ? r : e)(t); - }; - }, - "45f2": function (t, n, e) { - var r = e("d9f6").f, - o = e("07e3"), - i = e("5168")("toStringTag"); - t.exports = function (t, n, e) { - t && - !o((t = e ? t : t.prototype), i) && - r(t, i, { configurable: !0, value: n }); - }; - }, - 4630: function (t, n) { - t.exports = function (t, n) { - return { - enumerable: !(1 & t), - configurable: !(2 & t), - writable: !(4 & t), - value: n, - }; - }; - }, - "469f": function (t, n, e) { - e("6c1c"), e("1654"), (t.exports = e("7d7b")); - }, - "481b": function (t, n) { - t.exports = {}; - }, - "4aa6": function (t, n, e) { - t.exports = e("dc62"); - }, - "4bf8": function (t, n, e) { - var r = e("be13"); - t.exports = function (t) { - return Object(r(t)); - }; - }, - "4ee1": function (t, n, e) { - var r = e("5168")("iterator"), - o = !1; - try { - var i = [7][r](); - (i["return"] = function () { - o = !0; - }), - Array.from(i, function () { - throw 2; - }); - } catch (u) {} - t.exports = function (t, n) { - if (!n && !o) return !1; - var e = !1; - try { - var i = [7], - c = i[r](); - (c.next = function () { - return { done: (e = !0) }; - }), - (i[r] = function () { - return c; - }), - t(i); - } catch (u) {} - return e; - }; - }, - "50ed": function (t, n) { - t.exports = function (t, n) { - return { value: n, done: !!t }; - }; - }, - 5147: function (t, n, e) { - var r = e("2b4c")("match"); - t.exports = function (t) { - var n = /./; - try { - "/./"[t](n); - } catch (e) { - try { - return (n[r] = !1), !"/./"[t](n); - } catch (o) {} - } - return !0; - }; - }, - 5168: function (t, n, e) { - var r = e("dbdb")("wks"), - o = e("62a0"), - i = e("e53d").Symbol, - u = "function" == typeof i, - c = (t.exports = function (t) { - return r[t] || (r[t] = (u && i[t]) || (u ? i : o)("Symbol." + t)); - }); - c.store = r; - }, - 5176: function (t, n, e) { - t.exports = e("51b6"); - }, - "51b6": function (t, n, e) { - e("a3c3"), (t.exports = e("584a").Object.assign); - }, - "520a": function (t, n, e) { - "use strict"; - var r = e("0bfb"), - o = RegExp.prototype.exec, - i = String.prototype.replace, - u = o, - c = "lastIndex", - a = (function () { - var t = /a/, - n = /b*/g; - return o.call(t, "a"), o.call(n, "a"), 0 !== t[c] || 0 !== n[c]; - })(), - f = void 0 !== /()??/.exec("")[1], - s = a || f; - s && - (u = function (t) { - var n, - e, - u, - s, - l = this; - return ( - f && (e = new RegExp("^" + l.source + "$(?!\\s)", r.call(l))), - a && (n = l[c]), - (u = o.call(l, t)), - a && u && (l[c] = l.global ? u.index + u[0].length : n), - f && - u && - u.length > 1 && - i.call(u[0], e, function () { - for (s = 1; s < arguments.length - 2; s++) - void 0 === arguments[s] && (u[s] = void 0); - }), - u - ); - }), - (t.exports = u); - }, - "53e2": function (t, n, e) { - var r = e("07e3"), - o = e("241e"), - i = e("5559")("IE_PROTO"), - u = Object.prototype; - t.exports = - Object.getPrototypeOf || - function (t) { - return ( - (t = o(t)), - r(t, i) - ? t[i] - : "function" == typeof t.constructor && t instanceof t.constructor - ? t.constructor.prototype - : t instanceof Object - ? u - : null - ); - }; - }, - "549b": function (t, n, e) { - "use strict"; - var r = e("d864"), - o = e("63b6"), - i = e("241e"), - u = e("b0dc"), - c = e("3702"), - a = e("b447"), - f = e("20fd"), - s = e("7cd6"); - o( - o.S + - o.F * - !e("4ee1")(function (t) { - Array.from(t); - }), - "Array", - { - from: function (t) { - var n, - e, - o, - l, - p = i(t), - d = "function" == typeof this ? this : Array, - v = arguments.length, - h = v > 1 ? arguments[1] : void 0, - b = void 0 !== h, - g = 0, - y = s(p); - if ( - (b && (h = r(h, v > 2 ? arguments[2] : void 0, 2)), - void 0 == y || (d == Array && c(y))) - ) - for (n = a(p.length), e = new d(n); n > g; g++) - f(e, g, b ? h(p[g], g) : p[g]); - else - for (l = y.call(p), e = new d(); !(o = l.next()).done; g++) - f(e, g, b ? u(l, h, [o.value, g], !0) : o.value); - return (e.length = g), e; - }, - } - ); - }, - "54a1": function (t, n, e) { - e("6c1c"), e("1654"), (t.exports = e("95d5")); - }, - 5537: function (t, n, e) { - var r = e("8378"), - o = e("7726"), - i = "__core-js_shared__", - u = o[i] || (o[i] = {}); - (t.exports = function (t, n) { - return u[t] || (u[t] = void 0 !== n ? n : {}); - })("versions", []).push({ - version: r.version, - mode: e("2d00") ? "pure" : "global", - copyright: "© 2019 Denis Pushkarev (zloirock.ru)", - }); - }, - 5559: function (t, n, e) { - var r = e("dbdb")("keys"), - o = e("62a0"); - t.exports = function (t) { - return r[t] || (r[t] = o(t)); - }; - }, - "584a": function (t, n) { - var e = (t.exports = { version: "2.6.5" }); - "number" == typeof __e && (__e = e); - }, - "5b4e": function (t, n, e) { - var r = e("36c3"), - o = e("b447"), - i = e("0fc9"); - t.exports = function (t) { - return function (n, e, u) { - var c, - a = r(n), - f = o(a.length), - s = i(u, f); - if (t && e != e) { - while (f > s) if (((c = a[s++]), c != c)) return !0; - } else - for (; f > s; s++) - if ((t || s in a) && a[s] === e) return t || s || 0; - return !t && -1; - }; - }; - }, - "5ca1": function (t, n, e) { - var r = e("7726"), - o = e("8378"), - i = e("32e9"), - u = e("2aba"), - c = e("9b43"), - a = "prototype", - f = function (t, n, e) { - var s, - l, - p, - d, - v = t & f.F, - h = t & f.G, - b = t & f.S, - g = t & f.P, - y = t & f.B, - x = h ? r : b ? r[n] || (r[n] = {}) : (r[n] || {})[a], - m = h ? o : o[n] || (o[n] = {}), - w = m[a] || (m[a] = {}); - for (s in (h && (e = n), e)) - (l = !v && x && void 0 !== x[s]), - (p = (l ? x : e)[s]), - (d = - y && l - ? c(p, r) - : g && "function" == typeof p - ? c(Function.call, p) - : p), - x && u(x, s, p, t & f.U), - m[s] != p && i(m, s, d), - g && w[s] != p && (w[s] = p); - }; - (r.core = o), - (f.F = 1), - (f.G = 2), - (f.S = 4), - (f.P = 8), - (f.B = 16), - (f.W = 32), - (f.U = 64), - (f.R = 128), - (t.exports = f); - }, - "5d73": function (t, n, e) { - t.exports = e("469f"); - }, - "5f1b": function (t, n, e) { - "use strict"; - var r = e("23c6"), - o = RegExp.prototype.exec; - t.exports = function (t, n) { - var e = t.exec; - if ("function" === typeof e) { - var i = e.call(t, n); - if ("object" !== typeof i) - throw new TypeError( - "RegExp exec method returned something other than an Object or null" - ); - return i; - } - if ("RegExp" !== r(t)) - throw new TypeError("RegExp#exec called on incompatible receiver"); - return o.call(t, n); - }; - }, - "626a": function (t, n, e) { - var r = e("2d95"); - t.exports = Object("z").propertyIsEnumerable(0) - ? Object - : function (t) { - return "String" == r(t) ? t.split("") : Object(t); - }; - }, - "62a0": function (t, n) { - var e = 0, - r = Math.random(); - t.exports = function (t) { - return "Symbol(".concat( - void 0 === t ? "" : t, - ")_", - (++e + r).toString(36) - ); - }; - }, - "63b6": function (t, n, e) { - var r = e("e53d"), - o = e("584a"), - i = e("d864"), - u = e("35e8"), - c = e("07e3"), - a = "prototype", - f = function (t, n, e) { - var s, - l, - p, - d = t & f.F, - v = t & f.G, - h = t & f.S, - b = t & f.P, - g = t & f.B, - y = t & f.W, - x = v ? o : o[n] || (o[n] = {}), - m = x[a], - w = v ? r : h ? r[n] : (r[n] || {})[a]; - for (s in (v && (e = n), e)) - (l = !d && w && void 0 !== w[s]), - (l && c(x, s)) || - ((p = l ? w[s] : e[s]), - (x[s] = - v && "function" != typeof w[s] - ? e[s] - : g && l - ? i(p, r) - : y && w[s] == p - ? (function (t) { - var n = function (n, e, r) { - if (this instanceof t) { - switch (arguments.length) { - case 0: - return new t(); - case 1: - return new t(n); - case 2: - return new t(n, e); - } - return new t(n, e, r); - } - return t.apply(this, arguments); - }; - return (n[a] = t[a]), n; - })(p) - : b && "function" == typeof p - ? i(Function.call, p) - : p), - b && - (((x.virtual || (x.virtual = {}))[s] = p), - t & f.R && m && !m[s] && u(m, s, p))); - }; - (f.F = 1), - (f.G = 2), - (f.S = 4), - (f.P = 8), - (f.B = 16), - (f.W = 32), - (f.U = 64), - (f.R = 128), - (t.exports = f); - }, - 6762: function (t, n, e) { - "use strict"; - var r = e("5ca1"), - o = e("c366")(!0); - r(r.P, "Array", { - includes: function (t) { - return o(this, t, arguments.length > 1 ? arguments[1] : void 0); - }, - }), - e("9c6c")("includes"); - }, - 6821: function (t, n, e) { - var r = e("626a"), - o = e("be13"); - t.exports = function (t) { - return r(o(t)); - }; - }, - "69a8": function (t, n) { - var e = {}.hasOwnProperty; - t.exports = function (t, n) { - return e.call(t, n); - }; - }, - "6a99": function (t, n, e) { - var r = e("d3f4"); - t.exports = function (t, n) { - if (!r(t)) return t; - var e, o; - if (n && "function" == typeof (e = t.toString) && !r((o = e.call(t)))) - return o; - if ("function" == typeof (e = t.valueOf) && !r((o = e.call(t)))) - return o; - if (!n && "function" == typeof (e = t.toString) && !r((o = e.call(t)))) - return o; - throw TypeError("Can't convert object to primitive value"); - }; - }, - "6b4c": function (t, n) { - var e = {}.toString; - t.exports = function (t) { - return e.call(t).slice(8, -1); - }; - }, - "6c1c": function (t, n, e) { - e("c367"); - for ( - var r = e("e53d"), - o = e("35e8"), - i = e("481b"), - u = e("5168")("toStringTag"), - c = - "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split( - "," - ), - a = 0; - a < c.length; - a++ - ) { - var f = c[a], - s = r[f], - l = s && s.prototype; - l && !l[u] && o(l, u, f), (i[f] = i.Array); - } - }, - "71c1": function (t, n, e) { - var r = e("3a38"), - o = e("25eb"); - t.exports = function (t) { - return function (n, e) { - var i, - u, - c = String(o(n)), - a = r(e), - f = c.length; - return a < 0 || a >= f - ? t - ? "" - : void 0 - : ((i = c.charCodeAt(a)), - i < 55296 || - i > 56319 || - a + 1 === f || - (u = c.charCodeAt(a + 1)) < 56320 || - u > 57343 - ? t - ? c.charAt(a) - : i - : t - ? c.slice(a, a + 2) - : u - 56320 + ((i - 55296) << 10) + 65536); - }; - }; - }, - 7726: function (t, n) { - var e = (t.exports = - "undefined" != typeof window && window.Math == Math - ? window - : "undefined" != typeof self && self.Math == Math - ? self - : Function("return this")()); - "number" == typeof __g && (__g = e); - }, - "774e": function (t, n, e) { - t.exports = e("d2d5"); - }, - "77f1": function (t, n, e) { - var r = e("4588"), - o = Math.max, - i = Math.min; - t.exports = function (t, n) { - return (t = r(t)), t < 0 ? o(t + n, 0) : i(t, n); - }; - }, - "794b": function (t, n, e) { - t.exports = - !e("8e60") && - !e("294c")(function () { - return ( - 7 != - Object.defineProperty(e("1ec9")("div"), "a", { - get: function () { - return 7; - }, - }).a - ); - }); - }, - "79aa": function (t, n) { - t.exports = function (t) { - if ("function" != typeof t) throw TypeError(t + " is not a function!"); - return t; - }; - }, - "79e5": function (t, n) { - t.exports = function (t) { - try { - return !!t(); - } catch (n) { - return !0; - } - }; - }, - "7cd6": function (t, n, e) { - var r = e("40c3"), - o = e("5168")("iterator"), - i = e("481b"); - t.exports = e("584a").getIteratorMethod = function (t) { - if (void 0 != t) return t[o] || t["@@iterator"] || i[r(t)]; - }; - }, - "7d7b": function (t, n, e) { - var r = e("e4ae"), - o = e("7cd6"); - t.exports = e("584a").getIterator = function (t) { - var n = o(t); - if ("function" != typeof n) throw TypeError(t + " is not iterable!"); - return r(n.call(t)); - }; - }, - "7e90": function (t, n, e) { - var r = e("d9f6"), - o = e("e4ae"), - i = e("c3a1"); - t.exports = e("8e60") - ? Object.defineProperties - : function (t, n) { - o(t); - var e, - u = i(n), - c = u.length, - a = 0; - while (c > a) r.f(t, (e = u[a++]), n[e]); - return t; - }; - }, - 8378: function (t, n) { - var e = (t.exports = { version: "2.6.5" }); - "number" == typeof __e && (__e = e); - }, - 8436: function (t, n) { - t.exports = function () {}; - }, - "86cc": function (t, n, e) { - var r = e("cb7c"), - o = e("c69a"), - i = e("6a99"), - u = Object.defineProperty; - n.f = e("9e1e") - ? Object.defineProperty - : function (t, n, e) { - if ((r(t), (n = i(n, !0)), r(e), o)) - try { - return u(t, n, e); - } catch (c) {} - if ("get" in e || "set" in e) - throw TypeError("Accessors not supported!"); - return "value" in e && (t[n] = e.value), t; - }; - }, - "8aae": function (t, n, e) { - e("32a6"), (t.exports = e("584a").Object.keys); - }, - "8e60": function (t, n, e) { - t.exports = !e("294c")(function () { - return ( - 7 != - Object.defineProperty({}, "a", { - get: function () { - return 7; - }, - }).a - ); - }); - }, - "8f60": function (t, n, e) { - "use strict"; - var r = e("a159"), - o = e("aebd"), - i = e("45f2"), - u = {}; - e("35e8")(u, e("5168")("iterator"), function () { - return this; - }), - (t.exports = function (t, n, e) { - (t.prototype = r(u, { next: o(1, e) })), i(t, n + " Iterator"); - }); - }, - 9003: function (t, n, e) { - var r = e("6b4c"); - t.exports = - Array.isArray || - function (t) { - return "Array" == r(t); - }; - }, - 9138: function (t, n, e) { - t.exports = e("35e8"); - }, - 9306: function (t, n, e) { - "use strict"; - var r = e("c3a1"), - o = e("9aa9"), - i = e("355d"), - u = e("241e"), - c = e("335c"), - a = Object.assign; - t.exports = - !a || - e("294c")(function () { - var t = {}, - n = {}, - e = Symbol(), - r = "abcdefghijklmnopqrst"; - return ( - (t[e] = 7), - r.split("").forEach(function (t) { - n[t] = t; - }), - 7 != a({}, t)[e] || Object.keys(a({}, n)).join("") != r - ); - }) - ? function (t, n) { - var e = u(t), - a = arguments.length, - f = 1, - s = o.f, - l = i.f; - while (a > f) { - var p, - d = c(arguments[f++]), - v = s ? r(d).concat(s(d)) : r(d), - h = v.length, - b = 0; - while (h > b) l.call(d, (p = v[b++])) && (e[p] = d[p]); - } - return e; - } - : a; - }, - 9427: function (t, n, e) { - var r = e("63b6"); - r(r.S, "Object", { create: e("a159") }); - }, - "95d5": function (t, n, e) { - var r = e("40c3"), - o = e("5168")("iterator"), - i = e("481b"); - t.exports = e("584a").isIterable = function (t) { - var n = Object(t); - return void 0 !== n[o] || "@@iterator" in n || i.hasOwnProperty(r(n)); - }; - }, - "9aa9": function (t, n) { - n.f = Object.getOwnPropertySymbols; - }, - "9b43": function (t, n, e) { - var r = e("d8e8"); - t.exports = function (t, n, e) { - if ((r(t), void 0 === n)) return t; - switch (e) { - case 1: - return function (e) { - return t.call(n, e); - }; - case 2: - return function (e, r) { - return t.call(n, e, r); - }; - case 3: - return function (e, r, o) { - return t.call(n, e, r, o); - }; - } - return function () { - return t.apply(n, arguments); - }; - }; - }, - "9c6c": function (t, n, e) { - var r = e("2b4c")("unscopables"), - o = Array.prototype; - void 0 == o[r] && e("32e9")(o, r, {}), - (t.exports = function (t) { - o[r][t] = !0; - }); - }, - "9def": function (t, n, e) { - var r = e("4588"), - o = Math.min; - t.exports = function (t) { - return t > 0 ? o(r(t), 9007199254740991) : 0; - }; - }, - "9e1e": function (t, n, e) { - t.exports = !e("79e5")(function () { - return ( - 7 != - Object.defineProperty({}, "a", { - get: function () { - return 7; - }, - }).a - ); - }); - }, - a159: function (t, n, e) { - var r = e("e4ae"), - o = e("7e90"), - i = e("1691"), - u = e("5559")("IE_PROTO"), - c = function () {}, - a = "prototype", - f = function () { - var t, - n = e("1ec9")("iframe"), - r = i.length, - o = "<", - u = ">"; - (n.style.display = "none"), - e("32fc").appendChild(n), - (n.src = "javascript:"), - (t = n.contentWindow.document), - t.open(), - t.write(o + "script" + u + "document.F=Object" + o + "/script" + u), - t.close(), - (f = t.F); - while (r--) delete f[a][i[r]]; - return f(); - }; - t.exports = - Object.create || - function (t, n) { - var e; - return ( - null !== t - ? ((c[a] = r(t)), (e = new c()), (c[a] = null), (e[u] = t)) - : (e = f()), - void 0 === n ? e : o(e, n) - ); - }; - }, - a352: function (n, e) { - n.exports = t; - }, - a3c3: function (t, n, e) { - var r = e("63b6"); - r(r.S + r.F, "Object", { assign: e("9306") }); - }, - a481: function (t, n, e) { - "use strict"; - var r = e("cb7c"), - o = e("4bf8"), - i = e("9def"), - u = e("4588"), - c = e("0390"), - a = e("5f1b"), - f = Math.max, - s = Math.min, - l = Math.floor, - p = /\$([$&`']|\d\d?|<[^>]*>)/g, - d = /\$([$&`']|\d\d?)/g, - v = function (t) { - return void 0 === t ? t : String(t); - }; - e("214f")("replace", 2, function (t, n, e, h) { - return [ - function (r, o) { - var i = t(this), - u = void 0 == r ? void 0 : r[n]; - return void 0 !== u ? u.call(r, i, o) : e.call(String(i), r, o); - }, - function (t, n) { - var o = h(e, t, this, n); - if (o.done) return o.value; - var l = r(t), - p = String(this), - d = "function" === typeof n; - d || (n = String(n)); - var g = l.global; - if (g) { - var y = l.unicode; - l.lastIndex = 0; - } - var x = []; - while (1) { - var m = a(l, p); - if (null === m) break; - if ((x.push(m), !g)) break; - var w = String(m[0]); - "" === w && (l.lastIndex = c(p, i(l.lastIndex), y)); - } - for (var O = "", S = 0, j = 0; j < x.length; j++) { - m = x[j]; - for ( - var _ = String(m[0]), - M = f(s(u(m.index), p.length), 0), - T = [], - C = 1; - C < m.length; - C++ - ) - T.push(v(m[C])); - var E = m.groups; - if (d) { - var A = [_].concat(T, M, p); - void 0 !== E && A.push(E); - var P = String(n.apply(void 0, A)); - } else P = b(_, p, M, T, E, n); - M >= S && ((O += p.slice(S, M) + P), (S = M + _.length)); - } - return O + p.slice(S); - }, - ]; - function b(t, n, r, i, u, c) { - var a = r + t.length, - f = i.length, - s = d; - return ( - void 0 !== u && ((u = o(u)), (s = p)), - e.call(c, s, function (e, o) { - var c; - switch (o.charAt(0)) { - case "$": - return "$"; - case "&": - return t; - case "`": - return n.slice(0, r); - case "'": - return n.slice(a); - case "<": - c = u[o.slice(1, -1)]; - break; - default: - var s = +o; - if (0 === s) return e; - if (s > f) { - var p = l(s / 10); - return 0 === p - ? e - : p <= f - ? void 0 === i[p - 1] - ? o.charAt(1) - : i[p - 1] + o.charAt(1) - : e; - } - c = i[s - 1]; - } - return void 0 === c ? "" : c; - }) - ); - } - }); - }, - a4bb: function (t, n, e) { - t.exports = e("8aae"); - }, - a745: function (t, n, e) { - t.exports = e("f410"); - }, - aae3: function (t, n, e) { - var r = e("d3f4"), - o = e("2d95"), - i = e("2b4c")("match"); - t.exports = function (t) { - var n; - return r(t) && (void 0 !== (n = t[i]) ? !!n : "RegExp" == o(t)); - }; - }, - aebd: function (t, n) { - t.exports = function (t, n) { - return { - enumerable: !(1 & t), - configurable: !(2 & t), - writable: !(4 & t), - value: n, - }; - }; - }, - b0c5: function (t, n, e) { - "use strict"; - var r = e("520a"); - e("5ca1")( - { target: "RegExp", proto: !0, forced: r !== /./.exec }, - { exec: r } - ); - }, - b0dc: function (t, n, e) { - var r = e("e4ae"); - t.exports = function (t, n, e, o) { - try { - return o ? n(r(e)[0], e[1]) : n(e); - } catch (u) { - var i = t["return"]; - throw (void 0 !== i && r(i.call(t)), u); - } - }; - }, - b447: function (t, n, e) { - var r = e("3a38"), - o = Math.min; - t.exports = function (t) { - return t > 0 ? o(r(t), 9007199254740991) : 0; - }; - }, - b8e3: function (t, n) { - t.exports = !0; - }, - be13: function (t, n) { - t.exports = function (t) { - if (void 0 == t) throw TypeError("Can't call method on " + t); - return t; - }; - }, - c366: function (t, n, e) { - var r = e("6821"), - o = e("9def"), - i = e("77f1"); - t.exports = function (t) { - return function (n, e, u) { - var c, - a = r(n), - f = o(a.length), - s = i(u, f); - if (t && e != e) { - while (f > s) if (((c = a[s++]), c != c)) return !0; - } else - for (; f > s; s++) - if ((t || s in a) && a[s] === e) return t || s || 0; - return !t && -1; - }; - }; - }, - c367: function (t, n, e) { - "use strict"; - var r = e("8436"), - o = e("50ed"), - i = e("481b"), - u = e("36c3"); - (t.exports = e("30f1")( - Array, - "Array", - function (t, n) { - (this._t = u(t)), (this._i = 0), (this._k = n); - }, - function () { - var t = this._t, - n = this._k, - e = this._i++; - return !t || e >= t.length - ? ((this._t = void 0), o(1)) - : o(0, "keys" == n ? e : "values" == n ? t[e] : [e, t[e]]); - }, - "values" - )), - (i.Arguments = i.Array), - r("keys"), - r("values"), - r("entries"); - }, - c3a1: function (t, n, e) { - var r = e("e6f3"), - o = e("1691"); - t.exports = - Object.keys || - function (t) { - return r(t, o); - }; - }, - c649: function (t, n, e) { - "use strict"; - (function (t) { - e.d(n, "c", function () { - return l; - }), - e.d(n, "a", function () { - return f; - }), - e.d(n, "b", function () { - return u; - }), - e.d(n, "d", function () { - return s; - }); - e("a481"); - var r = e("4aa6"), - o = e.n(r); - function i() { - return "undefined" !== typeof window ? window.console : t.console; - } - var u = i(); - function c(t) { - var n = o()(null); - return function (e) { - var r = n[e]; - return r || (n[e] = t(e)); - }; - } - var a = /-(\w)/g, - f = c(function (t) { - return t.replace(a, function (t, n) { - return n ? n.toUpperCase() : ""; - }); - }); - function s(t) { - null !== t.parentElement && t.parentElement.removeChild(t); - } - function l(t, n, e) { - var r = 0 === e ? t.children[0] : t.children[e - 1].nextSibling; - t.insertBefore(n, r); - } - }.call(this, e("c8ba"))); - }, - c69a: function (t, n, e) { - t.exports = - !e("9e1e") && - !e("79e5")(function () { - return ( - 7 != - Object.defineProperty(e("230e")("div"), "a", { - get: function () { - return 7; - }, - }).a - ); - }); - }, - c8ba: function (t, n) { - var e; - e = (function () { - return this; - })(); - try { - e = e || new Function("return this")(); - } catch (r) { - "object" === typeof window && (e = window); - } - t.exports = e; - }, - c8bb: function (t, n, e) { - t.exports = e("54a1"); - }, - ca5a: function (t, n) { - var e = 0, - r = Math.random(); - t.exports = function (t) { - return "Symbol(".concat( - void 0 === t ? "" : t, - ")_", - (++e + r).toString(36) - ); - }; - }, - cb7c: function (t, n, e) { - var r = e("d3f4"); - t.exports = function (t) { - if (!r(t)) throw TypeError(t + " is not an object!"); - return t; - }; - }, - ce7e: function (t, n, e) { - var r = e("63b6"), - o = e("584a"), - i = e("294c"); - t.exports = function (t, n) { - var e = (o.Object || {})[t] || Object[t], - u = {}; - (u[t] = n(e)), - r( - r.S + - r.F * - i(function () { - e(1); - }), - "Object", - u - ); - }; - }, - d2c8: function (t, n, e) { - var r = e("aae3"), - o = e("be13"); - t.exports = function (t, n, e) { - if (r(n)) throw TypeError("String#" + e + " doesn't accept regex!"); - return String(o(t)); - }; - }, - d2d5: function (t, n, e) { - e("1654"), e("549b"), (t.exports = e("584a").Array.from); - }, - d3f4: function (t, n) { - t.exports = function (t) { - return "object" === typeof t ? null !== t : "function" === typeof t; - }; - }, - d864: function (t, n, e) { - var r = e("79aa"); - t.exports = function (t, n, e) { - if ((r(t), void 0 === n)) return t; - switch (e) { - case 1: - return function (e) { - return t.call(n, e); - }; - case 2: - return function (e, r) { - return t.call(n, e, r); - }; - case 3: - return function (e, r, o) { - return t.call(n, e, r, o); - }; - } - return function () { - return t.apply(n, arguments); - }; - }; - }, - d8e8: function (t, n) { - t.exports = function (t) { - if ("function" != typeof t) throw TypeError(t + " is not a function!"); - return t; - }; - }, - d9f6: function (t, n, e) { - var r = e("e4ae"), - o = e("794b"), - i = e("1bc3"), - u = Object.defineProperty; - n.f = e("8e60") - ? Object.defineProperty - : function (t, n, e) { - if ((r(t), (n = i(n, !0)), r(e), o)) - try { - return u(t, n, e); - } catch (c) {} - if ("get" in e || "set" in e) - throw TypeError("Accessors not supported!"); - return "value" in e && (t[n] = e.value), t; - }; - }, - dbdb: function (t, n, e) { - var r = e("584a"), - o = e("e53d"), - i = "__core-js_shared__", - u = o[i] || (o[i] = {}); - (t.exports = function (t, n) { - return u[t] || (u[t] = void 0 !== n ? n : {}); - })("versions", []).push({ - version: r.version, - mode: e("b8e3") ? "pure" : "global", - copyright: "© 2019 Denis Pushkarev (zloirock.ru)", - }); - }, - dc62: function (t, n, e) { - e("9427"); - var r = e("584a").Object; - t.exports = function (t, n) { - return r.create(t, n); - }; - }, - e4ae: function (t, n, e) { - var r = e("f772"); - t.exports = function (t) { - if (!r(t)) throw TypeError(t + " is not an object!"); - return t; - }; - }, - e53d: function (t, n) { - var e = (t.exports = - "undefined" != typeof window && window.Math == Math - ? window - : "undefined" != typeof self && self.Math == Math - ? self - : Function("return this")()); - "number" == typeof __g && (__g = e); - }, - e6f3: function (t, n, e) { - var r = e("07e3"), - o = e("36c3"), - i = e("5b4e")(!1), - u = e("5559")("IE_PROTO"); - t.exports = function (t, n) { - var e, - c = o(t), - a = 0, - f = []; - for (e in c) e != u && r(c, e) && f.push(e); - while (n.length > a) r(c, (e = n[a++])) && (~i(f, e) || f.push(e)); - return f; - }; - }, - f410: function (t, n, e) { - e("1af6"), (t.exports = e("584a").Array.isArray); - }, - f559: function (t, n, e) { - "use strict"; - var r = e("5ca1"), - o = e("9def"), - i = e("d2c8"), - u = "startsWith", - c = ""[u]; - r(r.P + r.F * e("5147")(u), "String", { - startsWith: function (t) { - var n = i(this, t, u), - e = o( - Math.min(arguments.length > 1 ? arguments[1] : void 0, n.length) - ), - r = String(t); - return c ? c.call(n, r, e) : n.slice(e, e + r.length) === r; - }, - }); - }, - f772: function (t, n) { - t.exports = function (t) { - return "object" === typeof t ? null !== t : "function" === typeof t; - }; - }, - fa5b: function (t, n, e) { - t.exports = e("5537")("native-function-to-string", Function.toString); - }, - fb15: function (t, n, e) { - "use strict"; - var r; - (e.r(n), "undefined" !== typeof window) && - (r = window.document.currentScript) && - (r = r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/)) && - (e.p = r[1]); - var o = e("5176"), - i = e.n(o), - u = (e("f559"), e("a4bb")), - c = e.n(u), - a = (e("6762"), e("2fdb"), e("a745")), - f = e.n(a); - function s(t) { - if (f()(t)) return t; - } - var l = e("5d73"), - p = e.n(l); - function d(t, n) { - var e = [], - r = !0, - o = !1, - i = void 0; - try { - for (var u, c = p()(t); !(r = (u = c.next()).done); r = !0) - if ((e.push(u.value), n && e.length === n)) break; - } catch (a) { - (o = !0), (i = a); - } finally { - try { - r || null == c["return"] || c["return"](); - } finally { - if (o) throw i; - } - } - return e; - } - function v() { - throw new TypeError( - "Invalid attempt to destructure non-iterable instance" - ); - } - function h(t, n) { - return s(t) || d(t, n) || v(); - } - function b(t) { - if (f()(t)) { - for (var n = 0, e = new Array(t.length); n < t.length; n++) - e[n] = t[n]; - return e; - } - } - var g = e("774e"), - y = e.n(g), - x = e("c8bb"), - m = e.n(x); - function w(t) { - if ( - m()(Object(t)) || - "[object Arguments]" === Object.prototype.toString.call(t) - ) - return y()(t); - } - function O() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); - } - function S(t) { - return b(t) || w(t) || O(); - } - var j = e("a352"), - _ = e.n(j), - M = e("c649"); - function T(t, n, e) { - return void 0 === e ? t : ((t = t || {}), (t[n] = e), t); - } - function C(t, n) { - return t - .map(function (t) { - return t.elm; - }) - .indexOf(n); - } - function E(t, n, e, r) { - if (!t) return []; - var o = t.map(function (t) { - return t.elm; - }), - i = n.length - r, - u = S(n).map(function (t, n) { - return n >= i ? o.length : o.indexOf(t); - }); - return e - ? u.filter(function (t) { - return -1 !== t; - }) - : u; - } - function A(t, n) { - var e = this; - this.$nextTick(function () { - return e.$emit(t.toLowerCase(), n); - }); - } - function P(t) { - var n = this; - return function (e) { - null !== n.realList && n["onDrag" + t](e), A.call(n, t, e); - }; - } - function I(t) { - if (!t || 1 !== t.length) return !1; - var n = h(t, 1), - e = n[0].componentOptions; - return !!e && ["transition-group", "TransitionGroup"].includes(e.tag); - } - function L(t, n) { - var e = n.header, - r = n.footer, - o = 0, - i = 0; - return ( - e && ((o = e.length), (t = t ? [].concat(S(e), S(t)) : S(e))), - r && ((i = r.length), (t = t ? [].concat(S(t), S(r)) : S(r))), - { children: t, headerOffset: o, footerOffset: i } - ); - } - function F(t, n) { - var e = null, - r = function (t, n) { - e = T(e, t, n); - }, - o = c()(t) - .filter(function (t) { - return "id" === t || t.startsWith("data-"); - }) - .reduce(function (n, e) { - return (n[e] = t[e]), n; - }, {}); - if ((r("attrs", o), !n)) return e; - var u = n.on, - a = n.props, - f = n.attrs; - return r("on", u), r("props", a), i()(e.attrs, f), e; - } - var $ = ["Start", "Add", "Remove", "Update", "End"], - k = ["Choose", "Sort", "Filter", "Clone"], - D = ["Move"].concat($, k).map(function (t) { - return "on" + t; - }), - R = null, - V = { - options: Object, - list: { type: Array, required: !1, default: null }, - value: { type: Array, required: !1, default: null }, - noTransitionOnDrag: { type: Boolean, default: !1 }, - clone: { - type: Function, - default: function (t) { - return t; - }, - }, - element: { type: String, default: "div" }, - tag: { type: String, default: null }, - move: { type: Function, default: null }, - componentData: { type: Object, required: !1, default: null }, - }, - N = { - name: "draggable", - inheritAttrs: !1, - props: V, - data: function () { - return { - transitionMode: !1, - noneFunctionalComponentMode: !1, - init: !1, - }; - }, - render: function (t) { - var n = this.$slots.default; - this.transitionMode = I(n); - var e = L(n, this.$slots), - r = e.children, - o = e.headerOffset, - i = e.footerOffset; - (this.headerOffset = o), (this.footerOffset = i); - var u = F(this.$attrs, this.componentData); - return t(this.getTag(), u, r); - }, - created: function () { - null !== this.list && - null !== this.value && - M["b"].error( - "Value and list props are mutually exclusive! Please set one or another." - ), - "div" !== this.element && - M["b"].warn( - "Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props" - ), - void 0 !== this.options && - M["b"].warn( - "Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props" - ); - }, - mounted: function () { - var t = this; - if ( - ((this.noneFunctionalComponentMode = - this.getTag().toLowerCase() !== - this.$el.nodeName.toLowerCase()), - this.noneFunctionalComponentMode && this.transitionMode) - ) - throw new Error( - "Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat( - this.getTag() - ) - ); - var n = {}; - $.forEach(function (e) { - n["on" + e] = P.call(t, e); - }), - k.forEach(function (e) { - n["on" + e] = A.bind(t, e); - }); - var e = c()(this.$attrs).reduce(function (n, e) { - return (n[Object(M["a"])(e)] = t.$attrs[e]), n; - }, {}), - r = i()({}, this.options, e, n, { - onMove: function (n, e) { - return t.onDragMove(n, e); - }, - }); - !("draggable" in r) && (r.draggable = ">*"), - (this._sortable = new _.a(this.rootContainer, r)), - this.computeIndexes(); - }, - beforeDestroy: function () { - void 0 !== this._sortable && this._sortable.destroy(); - }, - computed: { - rootContainer: function () { - return this.transitionMode ? this.$el.children[0] : this.$el; - }, - realList: function () { - return this.list ? this.list : this.value; - }, - }, - watch: { - options: { - handler: function (t) { - this.updateOptions(t); - }, - deep: !0, - }, - $attrs: { - handler: function (t) { - this.updateOptions(t); - }, - deep: !0, - }, - realList: function () { - this.computeIndexes(); - }, - }, - methods: { - getTag: function () { - return this.tag || this.element; - }, - updateOptions: function (t) { - for (var n in t) { - var e = Object(M["a"])(n); - -1 === D.indexOf(e) && this._sortable.option(e, t[n]); - } - }, - getChildrenNodes: function () { - if ( - (this.init || - ((this.noneFunctionalComponentMode = - this.noneFunctionalComponentMode && - 1 === this.$children.length), - (this.init = !0)), - this.noneFunctionalComponentMode) - ) - return this.$children[0].$slots.default; - var t = this.$slots.default; - return this.transitionMode ? t[0].child.$slots.default : t; - }, - computeIndexes: function () { - var t = this; - this.$nextTick(function () { - t.visibleIndexes = E( - t.getChildrenNodes(), - t.rootContainer.children, - t.transitionMode, - t.footerOffset - ); - }); - }, - getUnderlyingVm: function (t) { - var n = C(this.getChildrenNodes() || [], t); - if (-1 === n) return null; - var e = this.realList[n]; - return { index: n, element: e }; - }, - getUnderlyingPotencialDraggableComponent: function (t) { - var n = t.__vue__; - return n && - n.$options && - "transition-group" === n.$options._componentTag - ? n.$parent - : n; - }, - emitChanges: function (t) { - var n = this; - this.$nextTick(function () { - n.$emit("change", t); - }); - }, - alterList: function (t) { - if (this.list) t(this.list); - else { - var n = S(this.value); - t(n), this.$emit("input", n); - } - }, - spliceList: function () { - var t = arguments, - n = function (n) { - return n.splice.apply(n, S(t)); - }; - this.alterList(n); - }, - updatePosition: function (t, n) { - var e = function (e) { - return e.splice(n, 0, e.splice(t, 1)[0]); - }; - this.alterList(e); - }, - getRelatedContextFromMoveEvent: function (t) { - var n = t.to, - e = t.related, - r = this.getUnderlyingPotencialDraggableComponent(n); - if (!r) return { component: r }; - var o = r.realList, - u = { list: o, component: r }; - if (n !== e && o && r.getUnderlyingVm) { - var c = r.getUnderlyingVm(e); - if (c) return i()(c, u); - } - return u; - }, - getVmIndex: function (t) { - var n = this.visibleIndexes, - e = n.length; - return t > e - 1 ? e : n[t]; - }, - getComponent: function () { - return this.$slots.default[0].componentInstance; - }, - resetTransitionData: function (t) { - if (this.noTransitionOnDrag && this.transitionMode) { - var n = this.getChildrenNodes(); - n[t].data = null; - var e = this.getComponent(); - (e.children = []), (e.kept = void 0); - } - }, - onDragStart: function (t) { - (this.context = this.getUnderlyingVm(t.item)), - (t.item._underlying_vm_ = this.clone(this.context.element)), - (R = t.item); - }, - onDragAdd: function (t) { - var n = t.item._underlying_vm_; - if (void 0 !== n) { - Object(M["d"])(t.item); - var e = this.getVmIndex(t.newIndex); - this.spliceList(e, 0, n), this.computeIndexes(); - var r = { element: n, newIndex: e }; - this.emitChanges({ added: r }); - } - }, - onDragRemove: function (t) { - if ( - (Object(M["c"])(this.rootContainer, t.item, t.oldIndex), - "clone" !== t.pullMode) - ) { - var n = this.context.index; - this.spliceList(n, 1); - var e = { element: this.context.element, oldIndex: n }; - this.resetTransitionData(n), this.emitChanges({ removed: e }); - } else Object(M["d"])(t.clone); - }, - onDragUpdate: function (t) { - Object(M["d"])(t.item), - Object(M["c"])(t.from, t.item, t.oldIndex); - var n = this.context.index, - e = this.getVmIndex(t.newIndex); - this.updatePosition(n, e); - var r = { - element: this.context.element, - oldIndex: n, - newIndex: e, - }; - this.emitChanges({ moved: r }); - }, - updateProperty: function (t, n) { - t.hasOwnProperty(n) && (t[n] += this.headerOffset); - }, - computeFutureIndex: function (t, n) { - if (!t.element) return 0; - var e = S(n.to.children).filter(function (t) { - return "none" !== t.style["display"]; - }), - r = e.indexOf(n.related), - o = t.component.getVmIndex(r), - i = -1 !== e.indexOf(R); - return i || !n.willInsertAfter ? o : o + 1; - }, - onDragMove: function (t, n) { - var e = this.move; - if (!e || !this.realList) return !0; - var r = this.getRelatedContextFromMoveEvent(t), - o = this.context, - u = this.computeFutureIndex(r, t); - i()(o, { futureIndex: u }); - var c = i()({}, t, { relatedContext: r, draggedContext: o }); - return e(c, n); - }, - onDragEnd: function () { - this.computeIndexes(), (R = null); - }, - }, - }; - "undefined" !== typeof window && - "Vue" in window && - window.Vue.component("draggable", N); - var U = N; - n["default"] = U; - }, - })["default"]; -}); -//# sourceMappingURL=vuedraggable.umd.min.js.map +(function(t,n){"object"===typeof exports&&"object"===typeof module?module.exports=n(require("sortablejs")):"function"===typeof define&&define.amd?define(["sortablejs"],n):"object"===typeof exports?exports["vuedraggable"]=n(require("sortablejs")):t["vuedraggable"]=n(t["Sortable"])})("undefined"!==typeof self?self:this,function(t){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s="fb15")}({"02f4":function(t,n,e){var r=e("4588"),o=e("be13");t.exports=function(t){return function(n,e){var i,u,c=String(o(n)),a=r(e),f=c.length;return a<0||a>=f?t?"":void 0:(i=c.charCodeAt(a),i<55296||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):u-56320+(i-55296<<10)+65536)}}},"0390":function(t,n,e){"use strict";var r=e("02f4")(!0);t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},"07e3":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"0bfb":function(t,n,e){"use strict";var r=e("cb7c");t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},"0fc9":function(t,n,e){var r=e("3a38"),o=Math.max,i=Math.min;t.exports=function(t,n){return t=r(t),t<0?o(t+n,0):i(t,n)}},1654:function(t,n,e){"use strict";var r=e("71c1")(!0);e("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,n=this._t,e=this._i;return e>=n.length?{value:void 0,done:!0}:(t=r(n,e),this._i+=t.length,{value:t,done:!1})})},1691:function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,n,e){var r=e("63b6");r(r.S,"Array",{isArray:e("9003")})},"1bc3":function(t,n,e){var r=e("f772");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,n,e){var r=e("f772"),o=e("e53d").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"20fd":function(t,n,e){"use strict";var r=e("d9f6"),o=e("aebd");t.exports=function(t,n,e){n in t?r.f(t,n,o(0,e)):t[n]=e}},"214f":function(t,n,e){"use strict";e("b0c5");var r=e("2aba"),o=e("32e9"),i=e("79e5"),u=e("be13"),c=e("2b4c"),a=e("520a"),f=c("species"),s=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2===e.length&&"a"===e[0]&&"b"===e[1]}();t.exports=function(t,n,e){var p=c(t),d=!i(function(){var n={};return n[p]=function(){return 7},7!=""[t](n)}),v=d?!i(function(){var n=!1,e=/a/;return e.exec=function(){return n=!0,null},"split"===t&&(e.constructor={},e.constructor[f]=function(){return e}),e[p](""),!n}):void 0;if(!d||!v||"replace"===t&&!s||"split"===t&&!l){var h=/./[p],b=e(u,p,""[t],function(t,n,e,r,o){return n.exec===a?d&&!o?{done:!0,value:h.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),g=b[0],y=b[1];r(String.prototype,t,g),o(RegExp.prototype,p,2==n?function(t,n){return y.call(t,this,n)}:function(t){return y.call(t,this)})}}},"230e":function(t,n,e){var r=e("d3f4"),o=e("7726").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"23c6":function(t,n,e){var r=e("2d95"),o=e("2b4c")("toStringTag"),i="Arguments"==r(function(){return arguments}()),u=function(t,n){try{return t[n]}catch(e){}};t.exports=function(t){var n,e,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=u(n=Object(t),o))?e:i?r(n):"Object"==(c=r(n))&&"function"==typeof n.callee?"Arguments":c}},"241e":function(t,n,e){var r=e("25eb");t.exports=function(t){return Object(r(t))}},"25eb":function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"294c":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"2aba":function(t,n,e){var r=e("7726"),o=e("32e9"),i=e("69a8"),u=e("ca5a")("src"),c=e("fa5b"),a="toString",f=(""+c).split(a);e("8378").inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,e,c){var a="function"==typeof e;a&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(a&&(i(e,u)||o(e,u,t[n]?""+t[n]:f.join(String(n)))),t===r?t[n]=e:c?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,a,function(){return"function"==typeof this&&this[u]||c.call(this)})},"2b4c":function(t,n,e){var r=e("5537")("wks"),o=e("ca5a"),i=e("7726").Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},"2d00":function(t,n){t.exports=!1},"2d95":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},"2fdb":function(t,n,e){"use strict";var r=e("5ca1"),o=e("d2c8"),i="includes";r(r.P+r.F*e("5147")(i),"String",{includes:function(t){return!!~o(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"30f1":function(t,n,e){"use strict";var r=e("b8e3"),o=e("63b6"),i=e("9138"),u=e("35e8"),c=e("481b"),a=e("8f60"),f=e("45f2"),s=e("53e2"),l=e("5168")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",v="keys",h="values",b=function(){return this};t.exports=function(t,n,e,g,y,x,m){a(e,n,g);var w,O,S,j=function(t){if(!p&&t in C)return C[t];switch(t){case v:return function(){return new e(this,t)};case h:return function(){return new e(this,t)}}return function(){return new e(this,t)}},_=n+" Iterator",M=y==h,T=!1,C=t.prototype,E=C[l]||C[d]||y&&C[y],A=E||j(y),P=y?M?j("entries"):A:void 0,I="Array"==n&&C.entries||E;if(I&&(S=s(I.call(new t)),S!==Object.prototype&&S.next&&(f(S,_,!0),r||"function"==typeof S[l]||u(S,l,b))),M&&E&&E.name!==h&&(T=!0,A=function(){return E.call(this)}),r&&!m||!p&&!T&&C[l]||u(C,l,A),c[n]=A,c[_]=b,y)if(w={values:M?A:j(h),keys:x?A:j(v),entries:P},m)for(O in w)O in C||i(C,O,w[O]);else o(o.P+o.F*(p||T),n,w);return w}},"32a6":function(t,n,e){var r=e("241e"),o=e("c3a1");e("ce7e")("keys",function(){return function(t){return o(r(t))}})},"32e9":function(t,n,e){var r=e("86cc"),o=e("4630");t.exports=e("9e1e")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"32fc":function(t,n,e){var r=e("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,n,e){var r=e("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"355d":function(t,n){n.f={}.propertyIsEnumerable},"35e8":function(t,n,e){var r=e("d9f6"),o=e("aebd");t.exports=e("8e60")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"36c3":function(t,n,e){var r=e("335c"),o=e("25eb");t.exports=function(t){return r(o(t))}},3702:function(t,n,e){var r=e("481b"),o=e("5168")("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},"3a38":function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},"40c3":function(t,n,e){var r=e("6b4c"),o=e("5168")("toStringTag"),i="Arguments"==r(function(){return arguments}()),u=function(t,n){try{return t[n]}catch(e){}};t.exports=function(t){var n,e,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=u(n=Object(t),o))?e:i?r(n):"Object"==(c=r(n))&&"function"==typeof n.callee?"Arguments":c}},4588:function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},"45f2":function(t,n,e){var r=e("d9f6").f,o=e("07e3"),i=e("5168")("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},4630:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},"469f":function(t,n,e){e("6c1c"),e("1654"),t.exports=e("7d7b")},"481b":function(t,n){t.exports={}},"4aa6":function(t,n,e){t.exports=e("dc62")},"4bf8":function(t,n,e){var r=e("be13");t.exports=function(t){return Object(r(t))}},"4ee1":function(t,n,e){var r=e("5168")("iterator"),o=!1;try{var i=[7][r]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(u){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i=[7],c=i[r]();c.next=function(){return{done:e=!0}},i[r]=function(){return c},t(i)}catch(u){}return e}},"50ed":function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},5147:function(t,n,e){var r=e("2b4c")("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,!"/./"[t](n)}catch(o){}}return!0}},5168:function(t,n,e){var r=e("dbdb")("wks"),o=e("62a0"),i=e("e53d").Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},5176:function(t,n,e){t.exports=e("51b6")},"51b6":function(t,n,e){e("a3c3"),t.exports=e("584a").Object.assign},"520a":function(t,n,e){"use strict";var r=e("0bfb"),o=RegExp.prototype.exec,i=String.prototype.replace,u=o,c="lastIndex",a=function(){var t=/a/,n=/b*/g;return o.call(t,"a"),o.call(n,"a"),0!==t[c]||0!==n[c]}(),f=void 0!==/()??/.exec("")[1],s=a||f;s&&(u=function(t){var n,e,u,s,l=this;return f&&(e=new RegExp("^"+l.source+"$(?!\\s)",r.call(l))),a&&(n=l[c]),u=o.call(l,t),a&&u&&(l[c]=l.global?u.index+u[0].length:n),f&&u&&u.length>1&&i.call(u[0],e,function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(u[s]=void 0)}),u}),t.exports=u},"53e2":function(t,n,e){var r=e("07e3"),o=e("241e"),i=e("5559")("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},"549b":function(t,n,e){"use strict";var r=e("d864"),o=e("63b6"),i=e("241e"),u=e("b0dc"),c=e("3702"),a=e("b447"),f=e("20fd"),s=e("7cd6");o(o.S+o.F*!e("4ee1")(function(t){Array.from(t)}),"Array",{from:function(t){var n,e,o,l,p=i(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,b=void 0!==h,g=0,y=s(p);if(b&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==y||d==Array&&c(y))for(n=a(p.length),e=new d(n);n>g;g++)f(e,g,b?h(p[g],g):p[g]);else for(l=y.call(p),e=new d;!(o=l.next()).done;g++)f(e,g,b?u(l,h,[o.value,g],!0):o.value);return e.length=g,e}})},"54a1":function(t,n,e){e("6c1c"),e("1654"),t.exports=e("95d5")},5537:function(t,n,e){var r=e("8378"),o=e("7726"),i="__core-js_shared__",u=o[i]||(o[i]={});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,n,e){var r=e("dbdb")("keys"),o=e("62a0");t.exports=function(t){return r[t]||(r[t]=o(t))}},"584a":function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},"5b4e":function(t,n,e){var r=e("36c3"),o=e("b447"),i=e("0fc9");t.exports=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){while(f>s)if(c=a[s++],c!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}}},"5ca1":function(t,n,e){var r=e("7726"),o=e("8378"),i=e("32e9"),u=e("2aba"),c=e("9b43"),a="prototype",f=function(t,n,e){var s,l,p,d,v=t&f.F,h=t&f.G,b=t&f.S,g=t&f.P,y=t&f.B,x=h?r:b?r[n]||(r[n]={}):(r[n]||{})[a],m=h?o:o[n]||(o[n]={}),w=m[a]||(m[a]={});for(s in h&&(e=n),e)l=!v&&x&&void 0!==x[s],p=(l?x:e)[s],d=y&&l?c(p,r):g&&"function"==typeof p?c(Function.call,p):p,x&&u(x,s,p,t&f.U),m[s]!=p&&i(m,s,d),g&&w[s]!=p&&(w[s]=p)};r.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},"5d73":function(t,n,e){t.exports=e("469f")},"5f1b":function(t,n,e){"use strict";var r=e("23c6"),o=RegExp.prototype.exec;t.exports=function(t,n){var e=t.exec;if("function"===typeof e){var i=e.call(t,n);if("object"!==typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},"626a":function(t,n,e){var r=e("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},"63b6":function(t,n,e){var r=e("e53d"),o=e("584a"),i=e("d864"),u=e("35e8"),c=e("07e3"),a="prototype",f=function(t,n,e){var s,l,p,d=t&f.F,v=t&f.G,h=t&f.S,b=t&f.P,g=t&f.B,y=t&f.W,x=v?o:o[n]||(o[n]={}),m=x[a],w=v?r:h?r[n]:(r[n]||{})[a];for(s in v&&(e=n),e)l=!d&&w&&void 0!==w[s],l&&c(x,s)||(p=l?w[s]:e[s],x[s]=v&&"function"!=typeof w[s]?e[s]:g&&l?i(p,r):y&&w[s]==p?function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n[a]=t[a],n}(p):b&&"function"==typeof p?i(Function.call,p):p,b&&((x.virtual||(x.virtual={}))[s]=p,t&f.R&&m&&!m[s]&&u(m,s,p)))};f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},6762:function(t,n,e){"use strict";var r=e("5ca1"),o=e("c366")(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e("9c6c")("includes")},6821:function(t,n,e){var r=e("626a"),o=e("be13");t.exports=function(t){return r(o(t))}},"69a8":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"6a99":function(t,n,e){var r=e("d3f4");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},"6c1c":function(t,n,e){e("c367");for(var r=e("e53d"),o=e("35e8"),i=e("481b"),u=e("5168")("toStringTag"),c="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),a=0;a<c.length;a++){var f=c[a],s=r[f],l=s&&s.prototype;l&&!l[u]&&o(l,u,f),i[f]=i.Array}},"71c1":function(t,n,e){var r=e("3a38"),o=e("25eb");t.exports=function(t){return function(n,e){var i,u,c=String(o(n)),a=r(e),f=c.length;return a<0||a>=f?t?"":void 0:(i=c.charCodeAt(a),i<55296||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):u-56320+(i-55296<<10)+65536)}}},7726:function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},"774e":function(t,n,e){t.exports=e("d2d5")},"77f1":function(t,n,e){var r=e("4588"),o=Math.max,i=Math.min;t.exports=function(t,n){return t=r(t),t<0?o(t+n,0):i(t,n)}},"794b":function(t,n,e){t.exports=!e("8e60")&&!e("294c")(function(){return 7!=Object.defineProperty(e("1ec9")("div"),"a",{get:function(){return 7}}).a})},"79aa":function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"7cd6":function(t,n,e){var r=e("40c3"),o=e("5168")("iterator"),i=e("481b");t.exports=e("584a").getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},"7d7b":function(t,n,e){var r=e("e4ae"),o=e("7cd6");t.exports=e("584a").getIterator=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(t+" is not iterable!");return r(n.call(t))}},"7e90":function(t,n,e){var r=e("d9f6"),o=e("e4ae"),i=e("c3a1");t.exports=e("8e60")?Object.defineProperties:function(t,n){o(t);var e,u=i(n),c=u.length,a=0;while(c>a)r.f(t,e=u[a++],n[e]);return t}},8378:function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},8436:function(t,n){t.exports=function(){}},"86cc":function(t,n,e){var r=e("cb7c"),o=e("c69a"),i=e("6a99"),u=Object.defineProperty;n.f=e("9e1e")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},"8aae":function(t,n,e){e("32a6"),t.exports=e("584a").Object.keys},"8e60":function(t,n,e){t.exports=!e("294c")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"8f60":function(t,n,e){"use strict";var r=e("a159"),o=e("aebd"),i=e("45f2"),u={};e("35e8")(u,e("5168")("iterator"),function(){return this}),t.exports=function(t,n,e){t.prototype=r(u,{next:o(1,e)}),i(t,n+" Iterator")}},9003:function(t,n,e){var r=e("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9138:function(t,n,e){t.exports=e("35e8")},9306:function(t,n,e){"use strict";var r=e("c3a1"),o=e("9aa9"),i=e("355d"),u=e("241e"),c=e("335c"),a=Object.assign;t.exports=!a||e("294c")(function(){var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach(function(t){n[t]=t}),7!=a({},t)[e]||Object.keys(a({},n)).join("")!=r})?function(t,n){var e=u(t),a=arguments.length,f=1,s=o.f,l=i.f;while(a>f){var p,d=c(arguments[f++]),v=s?r(d).concat(s(d)):r(d),h=v.length,b=0;while(h>b)l.call(d,p=v[b++])&&(e[p]=d[p])}return e}:a},9427:function(t,n,e){var r=e("63b6");r(r.S,"Object",{create:e("a159")})},"95d5":function(t,n,e){var r=e("40c3"),o=e("5168")("iterator"),i=e("481b");t.exports=e("584a").isIterable=function(t){var n=Object(t);return void 0!==n[o]||"@@iterator"in n||i.hasOwnProperty(r(n))}},"9aa9":function(t,n){n.f=Object.getOwnPropertySymbols},"9b43":function(t,n,e){var r=e("d8e8");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},"9c6c":function(t,n,e){var r=e("2b4c")("unscopables"),o=Array.prototype;void 0==o[r]&&e("32e9")(o,r,{}),t.exports=function(t){o[r][t]=!0}},"9def":function(t,n,e){var r=e("4588"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},"9e1e":function(t,n,e){t.exports=!e("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a159:function(t,n,e){var r=e("e4ae"),o=e("7e90"),i=e("1691"),u=e("5559")("IE_PROTO"),c=function(){},a="prototype",f=function(){var t,n=e("1ec9")("iframe"),r=i.length,o="<",u=">";n.style.display="none",e("32fc").appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(o+"script"+u+"document.F=Object"+o+"/script"+u),t.close(),f=t.F;while(r--)delete f[a][i[r]];return f()};t.exports=Object.create||function(t,n){var e;return null!==t?(c[a]=r(t),e=new c,c[a]=null,e[u]=t):e=f(),void 0===n?e:o(e,n)}},a352:function(n,e){n.exports=t},a3c3:function(t,n,e){var r=e("63b6");r(r.S+r.F,"Object",{assign:e("9306")})},a481:function(t,n,e){"use strict";var r=e("cb7c"),o=e("4bf8"),i=e("9def"),u=e("4588"),c=e("0390"),a=e("5f1b"),f=Math.max,s=Math.min,l=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,v=function(t){return void 0===t?t:String(t)};e("214f")("replace",2,function(t,n,e,h){return[function(r,o){var i=t(this),u=void 0==r?void 0:r[n];return void 0!==u?u.call(r,i,o):e.call(String(i),r,o)},function(t,n){var o=h(e,t,this,n);if(o.done)return o.value;var l=r(t),p=String(this),d="function"===typeof n;d||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}var x=[];while(1){var m=a(l,p);if(null===m)break;if(x.push(m),!g)break;var w=String(m[0]);""===w&&(l.lastIndex=c(p,i(l.lastIndex),y))}for(var O="",S=0,j=0;j<x.length;j++){m=x[j];for(var _=String(m[0]),M=f(s(u(m.index),p.length),0),T=[],C=1;C<m.length;C++)T.push(v(m[C]));var E=m.groups;if(d){var A=[_].concat(T,M,p);void 0!==E&&A.push(E);var P=String(n.apply(void 0,A))}else P=b(_,p,M,T,E,n);M>=S&&(O+=p.slice(S,M)+P,S=M+_.length)}return O+p.slice(S)}];function b(t,n,r,i,u,c){var a=r+t.length,f=i.length,s=d;return void 0!==u&&(u=o(u),s=p),e.call(c,s,function(e,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(a);case"<":c=u[o.slice(1,-1)];break;default:var s=+o;if(0===s)return e;if(s>f){var p=l(s/10);return 0===p?e:p<=f?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):e}c=i[s-1]}return void 0===c?"":c})}})},a4bb:function(t,n,e){t.exports=e("8aae")},a745:function(t,n,e){t.exports=e("f410")},aae3:function(t,n,e){var r=e("d3f4"),o=e("2d95"),i=e("2b4c")("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},aebd:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},b0c5:function(t,n,e){"use strict";var r=e("520a");e("5ca1")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},b0dc:function(t,n,e){var r=e("e4ae");t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(u){var i=t["return"];throw void 0!==i&&r(i.call(t)),u}}},b447:function(t,n,e){var r=e("3a38"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},b8e3:function(t,n){t.exports=!0},be13:function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c366:function(t,n,e){var r=e("6821"),o=e("9def"),i=e("77f1");t.exports=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){while(f>s)if(c=a[s++],c!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}}},c367:function(t,n,e){"use strict";var r=e("8436"),o=e("50ed"),i=e("481b"),u=e("36c3");t.exports=e("30f1")(Array,"Array",function(t,n){this._t=u(t),this._i=0,this._k=n},function(){var t=this._t,n=this._k,e=this._i++;return!t||e>=t.length?(this._t=void 0,o(1)):o(0,"keys"==n?e:"values"==n?t[e]:[e,t[e]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,n,e){var r=e("e6f3"),o=e("1691");t.exports=Object.keys||function(t){return r(t,o)}},c649:function(t,n,e){"use strict";(function(t){e.d(n,"c",function(){return l}),e.d(n,"a",function(){return f}),e.d(n,"b",function(){return u}),e.d(n,"d",function(){return s});e("a481");var r=e("4aa6"),o=e.n(r);function i(){return"undefined"!==typeof window?window.console:t.console}var u=i();function c(t){var n=o()(null);return function(e){var r=n[e];return r||(n[e]=t(e))}}var a=/-(\w)/g,f=c(function(t){return t.replace(a,function(t,n){return n?n.toUpperCase():""})});function s(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function l(t,n,e){var r=0===e?t.children[0]:t.children[e-1].nextSibling;t.insertBefore(n,r)}}).call(this,e("c8ba"))},c69a:function(t,n,e){t.exports=!e("9e1e")&&!e("79e5")(function(){return 7!=Object.defineProperty(e("230e")("div"),"a",{get:function(){return 7}}).a})},c8ba:function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(r){"object"===typeof window&&(e=window)}t.exports=e},c8bb:function(t,n,e){t.exports=e("54a1")},ca5a:function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},cb7c:function(t,n,e){var r=e("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce7e:function(t,n,e){var r=e("63b6"),o=e("584a"),i=e("294c");t.exports=function(t,n){var e=(o.Object||{})[t]||Object[t],u={};u[t]=n(e),r(r.S+r.F*i(function(){e(1)}),"Object",u)}},d2c8:function(t,n,e){var r=e("aae3"),o=e("be13");t.exports=function(t,n,e){if(r(n))throw TypeError("String#"+e+" doesn't accept regex!");return String(o(t))}},d2d5:function(t,n,e){e("1654"),e("549b"),t.exports=e("584a").Array.from},d3f4:function(t,n){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d864:function(t,n,e){var r=e("79aa");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},d8e8:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,n,e){var r=e("e4ae"),o=e("794b"),i=e("1bc3"),u=Object.defineProperty;n.f=e("8e60")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},dbdb:function(t,n,e){var r=e("584a"),o=e("e53d"),i="__core-js_shared__",u=o[i]||(o[i]={});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dc62:function(t,n,e){e("9427");var r=e("584a").Object;t.exports=function(t,n){return r.create(t,n)}},e4ae:function(t,n,e){var r=e("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},e6f3:function(t,n,e){var r=e("07e3"),o=e("36c3"),i=e("5b4e")(!1),u=e("5559")("IE_PROTO");t.exports=function(t,n){var e,c=o(t),a=0,f=[];for(e in c)e!=u&&r(c,e)&&f.push(e);while(n.length>a)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},f410:function(t,n,e){e("1af6"),t.exports=e("584a").Array.isArray},f559:function(t,n,e){"use strict";var r=e("5ca1"),o=e("9def"),i=e("d2c8"),u="startsWith",c=""[u];r(r.P+r.F*e("5147")(u),"String",{startsWith:function(t){var n=i(this,t,u),e=o(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return c?c.call(n,r,e):n.slice(e,e+r.length)===r}})},f772:function(t,n){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,n,e){t.exports=e("5537")("native-function-to-string",Function.toString)},fb15:function(t,n,e){"use strict";var r;(e.r(n),"undefined"!==typeof window)&&((r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(e.p=r[1]));var o=e("5176"),i=e.n(o),u=(e("f559"),e("a4bb")),c=e.n(u),a=(e("6762"),e("2fdb"),e("a745")),f=e.n(a);function s(t){if(f()(t))return t}var l=e("5d73"),p=e.n(l);function d(t,n){var e=[],r=!0,o=!1,i=void 0;try{for(var u,c=p()(t);!(r=(u=c.next()).done);r=!0)if(e.push(u.value),n&&e.length===n)break}catch(a){o=!0,i=a}finally{try{r||null==c["return"]||c["return"]()}finally{if(o)throw i}}return e}function v(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function h(t,n){return s(t)||d(t,n)||v()}function b(t){if(f()(t)){for(var n=0,e=new Array(t.length);n<t.length;n++)e[n]=t[n];return e}}var g=e("774e"),y=e.n(g),x=e("c8bb"),m=e.n(x);function w(t){if(m()(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return y()(t)}function O(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function S(t){return b(t)||w(t)||O()}var j=e("a352"),_=e.n(j),M=e("c649");function T(t,n,e){return void 0===e?t:(t=t||{},t[n]=e,t)}function C(t,n){return t.map(function(t){return t.elm}).indexOf(n)}function E(t,n,e,r){if(!t)return[];var o=t.map(function(t){return t.elm}),i=n.length-r,u=S(n).map(function(t,n){return n>=i?o.length:o.indexOf(t)});return e?u.filter(function(t){return-1!==t}):u}function A(t,n){var e=this;this.$nextTick(function(){return e.$emit(t.toLowerCase(),n)})}function P(t){var n=this;return function(e){null!==n.realList&&n["onDrag"+t](e),A.call(n,t,e)}}function I(t){if(!t||1!==t.length)return!1;var n=h(t,1),e=n[0].componentOptions;return!!e&&["transition-group","TransitionGroup"].includes(e.tag)}function L(t,n){var e=n.header,r=n.footer,o=0,i=0;return e&&(o=e.length,t=t?[].concat(S(e),S(t)):S(e)),r&&(i=r.length,t=t?[].concat(S(t),S(r)):S(r)),{children:t,headerOffset:o,footerOffset:i}}function F(t,n){var e=null,r=function(t,n){e=T(e,t,n)},o=c()(t).filter(function(t){return"id"===t||t.startsWith("data-")}).reduce(function(n,e){return n[e]=t[e],n},{});if(r("attrs",o),!n)return e;var u=n.on,a=n.props,f=n.attrs;return r("on",u),r("props",a),i()(e.attrs,f),e}var $=["Start","Add","Remove","Update","End"],k=["Choose","Sort","Filter","Clone"],D=["Move"].concat($,k).map(function(t){return"on"+t}),R=null,V={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},N={name:"draggable",inheritAttrs:!1,props:V,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1,init:!1}},render:function(t){var n=this.$slots.default;this.transitionMode=I(n);var e=L(n,this.$slots),r=e.children,o=e.headerOffset,i=e.footerOffset;this.headerOffset=o,this.footerOffset=i;var u=F(this.$attrs,this.componentData);return t(this.getTag(),u,r)},created:function(){null!==this.list&&null!==this.value&&M["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&M["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&M["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var n={};$.forEach(function(e){n["on"+e]=P.call(t,e)}),k.forEach(function(e){n["on"+e]=A.bind(t,e)});var e=c()(this.$attrs).reduce(function(n,e){return n[Object(M["a"])(e)]=t.$attrs[e],n},{}),r=i()({},this.options,e,n,{onMove:function(n,e){return t.onDragMove(n,e)}});!("draggable"in r)&&(r.draggable=">*"),this._sortable=new _.a(this.rootContainer,r),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var n in t){var e=Object(M["a"])(n);-1===D.indexOf(e)&&this._sortable.option(e,t[n])}},getChildrenNodes:function(){if(this.init||(this.noneFunctionalComponentMode=this.noneFunctionalComponentMode&&1===this.$children.length,this.init=!0),this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick(function(){t.visibleIndexes=E(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)})},getUnderlyingVm:function(t){var n=C(this.getChildrenNodes()||[],t);if(-1===n)return null;var e=this.realList[n];return{index:n,element:e}},getUnderlyingPotencialDraggableComponent:function(t){var n=t.__vue__;return n&&n.$options&&"transition-group"===n.$options._componentTag?n.$parent:n},emitChanges:function(t){var n=this;this.$nextTick(function(){n.$emit("change",t)})},alterList:function(t){if(this.list)t(this.list);else{var n=S(this.value);t(n),this.$emit("input",n)}},spliceList:function(){var t=arguments,n=function(n){return n.splice.apply(n,S(t))};this.alterList(n)},updatePosition:function(t,n){var e=function(e){return e.splice(n,0,e.splice(t,1)[0])};this.alterList(e)},getRelatedContextFromMoveEvent:function(t){var n=t.to,e=t.related,r=this.getUnderlyingPotencialDraggableComponent(n);if(!r)return{component:r};var o=r.realList,u={list:o,component:r};if(n!==e&&o&&r.getUnderlyingVm){var c=r.getUnderlyingVm(e);if(c)return i()(c,u)}return u},getVmIndex:function(t){var n=this.visibleIndexes,e=n.length;return t>e-1?e:n[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var n=this.getChildrenNodes();n[t].data=null;var e=this.getComponent();e.children=[],e.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),R=t.item},onDragAdd:function(t){var n=t.item._underlying_vm_;if(void 0!==n){Object(M["d"])(t.item);var e=this.getVmIndex(t.newIndex);this.spliceList(e,0,n),this.computeIndexes();var r={element:n,newIndex:e};this.emitChanges({added:r})}},onDragRemove:function(t){if(Object(M["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var n=this.context.index;this.spliceList(n,1);var e={element:this.context.element,oldIndex:n};this.resetTransitionData(n),this.emitChanges({removed:e})}else Object(M["d"])(t.clone)},onDragUpdate:function(t){Object(M["d"])(t.item),Object(M["c"])(t.from,t.item,t.oldIndex);var n=this.context.index,e=this.getVmIndex(t.newIndex);this.updatePosition(n,e);var r={element:this.context.element,oldIndex:n,newIndex:e};this.emitChanges({moved:r})},updateProperty:function(t,n){t.hasOwnProperty(n)&&(t[n]+=this.headerOffset)},computeFutureIndex:function(t,n){if(!t.element)return 0;var e=S(n.to.children).filter(function(t){return"none"!==t.style["display"]}),r=e.indexOf(n.related),o=t.component.getVmIndex(r),i=-1!==e.indexOf(R);return i||!n.willInsertAfter?o:o+1},onDragMove:function(t,n){var e=this.move;if(!e||!this.realList)return!0;var r=this.getRelatedContextFromMoveEvent(t),o=this.context,u=this.computeFutureIndex(r,t);i()(o,{futureIndex:u});var c=i()({},t,{relatedContext:r,draggedContext:o});return e(c,n)},onDragEnd:function(){this.computeIndexes(),R=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",N);var U=N;n["default"]=U}})["default"]}); +//# sourceMappingURL=vuedraggable.umd.min.js.map \ No newline at end of file diff --git a/notemyprogress/js/highcharts/modules/accessibility.js b/notemyprogress/js/highcharts/modules/accessibility.js index 7df713986a0e8ebfe31ba0cbe87a584d7124e553..05cad981ff09c89e33328b9d9eadcfd771a831e7 100644 --- a/notemyprogress/js/highcharts/modules/accessibility.js +++ b/notemyprogress/js/highcharts/modules/accessibility.js @@ -8,4199 +8,174 @@ License: www.highcharts.com/license */ -(function (a) { - "object" === typeof module && module.exports - ? ((a["default"] = a), (module.exports = a)) - : "function" === typeof define && define.amd - ? define("highcharts/modules/accessibility", ["highcharts"], function (p) { - a(p); - a.Highcharts = p; - return a; - }) - : a("undefined" !== typeof Highcharts ? Highcharts : void 0); -})(function (a) { - function p(a, f, l, m) { - a.hasOwnProperty(f) || (a[f] = m.apply(null, l)); - } - a = a ? a._modules : {}; - p( - a, - "Accessibility/Utils/HTMLUtilities.js", - [a["Core/Globals.js"], a["Core/Utilities.js"]], - function (a, f) { - function u(a) { - return a - .replace(/&/g, "&") - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/"/g, """) - .replace(/'/g, "'") - .replace(/\//g, "/"); - } - var m = a.doc, - n = a.win, - g = f.merge; - return { - addClass: function (a, g) { - a.classList - ? a.classList.add(g) - : 0 > a.className.indexOf(g) && (a.className += g); - }, - escapeStringForHTML: u, - getElement: function (a) { - return m.getElementById(a); - }, - getFakeMouseEvent: function (a) { - if ("function" === typeof n.MouseEvent) return new n.MouseEvent(a); - if (m.createEvent) { - var g = m.createEvent("MouseEvent"); - if (g.initMouseEvent) - return ( - g.initMouseEvent( - a, - !0, - !0, - n, - "click" === a ? 1 : 0, - 0, - 0, - 0, - 0, - !1, - !1, - !1, - !1, - 0, - null - ), - g - ); - } - return { type: a }; - }, - removeElement: function (a) { - a && a.parentNode && a.parentNode.removeChild(a); - }, - reverseChildNodes: function (a) { - for (var g = a.childNodes.length; g--; ) - a.appendChild(a.childNodes[g]); - }, - setElAttrs: function (a, g) { - Object.keys(g).forEach(function (e) { - var d = g[e]; - null === d - ? a.removeAttribute(e) - : ((d = u("" + d)), a.setAttribute(e, d)); - }); - }, - stripHTMLTagsFromString: function (a) { - return "string" === typeof a ? a.replace(/<\/?[^>]+(>|$)/g, "") : a; - }, - visuallyHideElement: function (a) { - g(!0, a.style, { - position: "absolute", - width: "1px", - height: "1px", - overflow: "hidden", - whiteSpace: "nowrap", - clip: "rect(1px, 1px, 1px, 1px)", - marginTop: "-3px", - "-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", - filter: "alpha(opacity=1)", - opacity: "0.01", - }); - }, - }; - } - ); - p( - a, - "Accessibility/Utils/ChartUtilities.js", - [a["Accessibility/Utils/HTMLUtilities.js"], a["Core/Utilities.js"]], - function (a, f) { - function u(d) { - var b, c; - if (null === (b = d.points) || void 0 === b ? 0 : b.length) - return ( - (d = q(d.points, function (c) { - return !!c.graphic; - })), - null === (c = null === d || void 0 === d ? void 0 : d.graphic) || - void 0 === c - ? void 0 - : c.element - ); - } - function m(d) { - var b = u(d); - return ( - (b && b.parentNode) || - (d.graph && d.graph.element) || - (d.group && d.group.element) - ); - } - function n(d, b) { - b.setAttribute("aria-hidden", !1); - b !== d.renderTo && - b.parentNode && - (Array.prototype.forEach.call(b.parentNode.childNodes, function (c) { - c.hasAttribute("aria-hidden") || c.setAttribute("aria-hidden", !0); - }), - n(d, b.parentNode)); - } - var g = a.stripHTMLTagsFromString, - h = f.defined, - q = f.find, - e = f.fireEvent; - return { - getChartTitle: function (d) { - return g( - d.options.title.text || - d.langFormat("accessibility.defaultChartTitle", { chart: d }) - ); - }, - getAxisDescription: function (d) { - return g( - d && - ((d.userOptions && - d.userOptions.accessibility && - d.userOptions.accessibility.description) || - (d.axisTitle && d.axisTitle.textStr) || - d.options.id || - (d.categories && "categories") || - (d.dateTime && "Time") || - "values") - ); - }, - getPointFromXY: function (d, b, c) { - for (var k = d.length, t; k--; ) - if ( - (t = q(d[k].points || [], function (v) { - return v.x === b && v.y === c; - })) - ) - return t; - }, - getSeriesFirstPointElement: u, - getSeriesFromName: function (d, b) { - return b - ? (d.series || []).filter(function (c) { - return c.name === b; - }) - : d.series; - }, - getSeriesA11yElement: m, - unhideChartElementFromAT: n, - hideSeriesFromAT: function (d) { - (d = m(d)) && d.setAttribute("aria-hidden", !0); - }, - scrollToPoint: function (d) { - var b = d.series.xAxis, - c = d.series.yAxis, - k = (null === b || void 0 === b ? 0 : b.scrollbar) ? b : c; - if ( - (b = null === k || void 0 === k ? void 0 : k.scrollbar) && - h(b.to) && - h(b.from) - ) { - c = b.to - b.from; - if (h(k.dataMin) && h(k.dataMax)) { - var t = k.toPixels(k.dataMin), - v = k.toPixels(k.dataMax); - d = - (k.toPixels(d["xAxis" === k.coll ? "x" : "y"] || 0) - t) / - (v - t); - } else d = 0; - b.updatePosition(d - c / 2, d + c / 2); - e(b, "changed", { - from: b.from, - to: b.to, - trigger: "scrollbar", - DOMEvent: null, - }); - } - }, - }; - } - ); - p( - a, - "Accessibility/KeyboardNavigationHandler.js", - [a["Core/Utilities.js"]], - function (a) { - function f(a, f) { - this.chart = a; - this.keyCodeMap = f.keyCodeMap || []; - this.validate = f.validate; - this.init = f.init; - this.terminate = f.terminate; - this.response = { success: 1, prev: 2, next: 3, noHandler: 4, fail: 5 }; - } - var u = a.find; - f.prototype = { - run: function (a) { - var f = a.which || a.keyCode, - g = this.response.noHandler, - h = u(this.keyCodeMap, function (a) { - return -1 < a[0].indexOf(f); - }); - h - ? (g = h[1].call(this, f, a)) - : 9 === f && (g = this.response[a.shiftKey ? "prev" : "next"]); - return g; - }, - }; - return f; - } - ); - p( - a, - "Accessibility/Utils/DOMElementProvider.js", - [ - a["Core/Globals.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Core/Utilities.js"], - ], - function (a, f, l) { - var u = a.doc, - n = f.removeElement; - a = l.extend; - f = function () { - this.elements = []; - }; - a(f.prototype, { - createElement: function () { - var a = u.createElement.apply(u, arguments); - this.elements.push(a); - return a; - }, - destroyCreatedElements: function () { - this.elements.forEach(function (a) { - n(a); - }); - this.elements = []; - }, - }); - return f; - } - ); - p( - a, - "Accessibility/Utils/EventProvider.js", - [a["Core/Globals.js"], a["Core/Utilities.js"]], - function (a, f) { - var u = f.addEvent; - f = f.extend; - var m = function () { - this.eventRemovers = []; - }; - f(m.prototype, { - addEvent: function () { - var f = u.apply(a, arguments); - this.eventRemovers.push(f); - return f; - }, - removeAddedEvents: function () { - this.eventRemovers.forEach(function (a) { - a(); - }); - this.eventRemovers = []; - }, - }); - return m; - } - ); - p( - a, - "Accessibility/AccessibilityComponent.js", - [ - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Utils/DOMElementProvider.js"], - a["Accessibility/Utils/EventProvider.js"], - a["Core/Globals.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m, n, g) { - function h() {} - var q = a.unhideChartElementFromAT, - e = m.doc, - d = m.win, - b = n.removeElement, - c = n.getFakeMouseEvent; - a = g.extend; - var k = g.fireEvent, - t = g.merge; - h.prototype = { - initBase: function (c) { - this.chart = c; - this.eventProvider = new l(); - this.domElementProvider = new f(); - this.keyCodes = { - left: 37, - right: 39, - up: 38, - down: 40, - enter: 13, - space: 32, - esc: 27, - tab: 9, - }; - }, - addEvent: function () { - return this.eventProvider.addEvent.apply( - this.eventProvider, - arguments - ); - }, - createElement: function () { - return this.domElementProvider.createElement.apply( - this.domElementProvider, - arguments - ); - }, - fireEventOnWrappedOrUnwrappedElement: function (c, b) { - var v = b.type; - e.createEvent && (c.dispatchEvent || c.fireEvent) - ? c.dispatchEvent - ? c.dispatchEvent(b) - : c.fireEvent(v, b) - : k(c, v, b); - }, - fakeClickEvent: function (b) { - if (b) { - var v = c("click"); - this.fireEventOnWrappedOrUnwrappedElement(b, v); - } - }, - addProxyGroup: function (c) { - this.createOrUpdateProxyContainer(); - var b = this.createElement("div"); - Object.keys(c || {}).forEach(function (v) { - null !== c[v] && b.setAttribute(v, c[v]); - }); - this.chart.a11yProxyContainer.appendChild(b); - return b; - }, - createOrUpdateProxyContainer: function () { - var c = this.chart, - b = c.renderer.box; - c.a11yProxyContainer = - c.a11yProxyContainer || this.createProxyContainerElement(); - b.nextSibling !== c.a11yProxyContainer && - c.container.insertBefore(c.a11yProxyContainer, b.nextSibling); - }, - createProxyContainerElement: function () { - var c = e.createElement("div"); - c.className = "highcharts-a11y-proxy-container"; - return c; - }, - createProxyButton: function (c, b, a, d, k) { - var v = c.element, - e = this.createElement("button"), - w = t({ "aria-label": v.getAttribute("aria-label") }, a); - Object.keys(w).forEach(function (c) { - null !== w[c] && e.setAttribute(c, w[c]); - }); - e.className = "highcharts-a11y-proxy-button"; - k && this.addEvent(e, "click", k); - this.setProxyButtonStyle(e); - this.updateProxyButtonPosition(e, d || c); - this.proxyMouseEventsForButton(v, e); - b.appendChild(e); - w["aria-hidden"] || q(this.chart, e); - return e; - }, - getElementPosition: function (c) { - var b = c.element; - return (c = this.chart.renderTo) && b && b.getBoundingClientRect - ? ((b = b.getBoundingClientRect()), - (c = c.getBoundingClientRect()), - { - x: b.left - c.left, - y: b.top - c.top, - width: b.right - b.left, - height: b.bottom - b.top, - }) - : { x: 0, y: 0, width: 1, height: 1 }; - }, - setProxyButtonStyle: function (c) { - t(!0, c.style, { - "border-width": 0, - "background-color": "transparent", - cursor: "pointer", - outline: "none", - opacity: 0.001, - filter: "alpha(opacity=1)", - "-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", - zIndex: 999, - overflow: "hidden", - padding: 0, - margin: 0, - display: "block", - position: "absolute", - }); - }, - updateProxyButtonPosition: function (c, b) { - b = this.getElementPosition(b); - t(!0, c.style, { - width: (b.width || 1) + "px", - height: (b.height || 1) + "px", - left: (b.x || 0) + "px", - top: (b.y || 0) + "px", - }); - }, - proxyMouseEventsForButton: function (c, b) { - var a = this; - "click touchstart touchend touchcancel touchmove mouseover mouseenter mouseleave mouseout" - .split(" ") - .forEach(function (d) { - var t = 0 === d.indexOf("touch"); - a.addEvent(b, d, function (b) { - var d = t ? a.cloneTouchEvent(b) : a.cloneMouseEvent(b); - c && a.fireEventOnWrappedOrUnwrappedElement(c, d); - b.stopPropagation(); - b.preventDefault(); - }); - }); - }, - cloneMouseEvent: function (b) { - if ("function" === typeof d.MouseEvent) - return new d.MouseEvent(b.type, b); - if (e.createEvent) { - var a = e.createEvent("MouseEvent"); - if (a.initMouseEvent) - return ( - a.initMouseEvent( - b.type, - b.bubbles, - b.cancelable, - b.view || d, - b.detail, - b.screenX, - b.screenY, - b.clientX, - b.clientY, - b.ctrlKey, - b.altKey, - b.shiftKey, - b.metaKey, - b.button, - b.relatedTarget - ), - a - ); - } - return c(b.type); - }, - cloneTouchEvent: function (b) { - var c = function (b) { - for (var c = [], a = 0; a < b.length; ++a) { - var d = b.item(a); - d && c.push(d); - } - return c; - }; - if ("function" === typeof d.TouchEvent) - return ( - (c = new d.TouchEvent(b.type, { - touches: c(b.touches), - targetTouches: c(b.targetTouches), - changedTouches: c(b.changedTouches), - ctrlKey: b.ctrlKey, - shiftKey: b.shiftKey, - altKey: b.altKey, - metaKey: b.metaKey, - bubbles: b.bubbles, - cancelable: b.cancelable, - composed: b.composed, - detail: b.detail, - view: b.view, - })), - b.defaultPrevented && c.preventDefault(), - c - ); - c = this.cloneMouseEvent(b); - c.touches = b.touches; - c.changedTouches = b.changedTouches; - c.targetTouches = b.targetTouches; - return c; - }, - destroyBase: function () { - b(this.chart.a11yProxyContainer); - this.domElementProvider.destroyCreatedElements(); - this.eventProvider.removeAddedEvents(); - }, - }; - a(h.prototype, { - init: function () {}, - getKeyboardNavigation: function () {}, - onChartUpdate: function () {}, - onChartRender: function () {}, - destroy: function () {}, - }); - return h; - } - ); - p( - a, - "Accessibility/KeyboardNavigation.js", - [ - a["Core/Globals.js"], - a["Core/Utilities.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Accessibility/Utils/EventProvider.js"], - ], - function (a, f, l, m) { - function n(b, c) { - this.init(b, c); - } - var g = a.doc, - h = a.win, - q = f.addEvent, - e = f.fireEvent, - d = l.getElement; - q(g, "keydown", function (b) { - 27 === (b.which || b.keyCode) && - a.charts && - a.charts.forEach(function (b) { - b && b.dismissPopupContent && b.dismissPopupContent(); - }); - }); - a.Chart.prototype.dismissPopupContent = function () { - var b = this; - e(this, "dismissPopupContent", {}, function () { - b.tooltip && b.tooltip.hide(0); - b.hideExportMenu(); - }); - }; - n.prototype = { - init: function (b, c) { - var a = this, - d = (this.eventProvider = new m()); - this.chart = b; - this.components = c; - this.modules = []; - this.currentModuleIx = 0; - this.update(); - d.addEvent(this.tabindexContainer, "keydown", function (b) { - return a.onKeydown(b); - }); - d.addEvent(this.tabindexContainer, "focus", function (b) { - return a.onFocus(b); - }); - ["mouseup", "touchend"].forEach(function (b) { - return d.addEvent(g, b, function () { - return a.onMouseUp(); - }); - }); - ["mousedown", "touchstart"].forEach(function (c) { - return d.addEvent(b.renderTo, c, function () { - a.isClickingChart = !0; - }); - }); - d.addEvent(b.renderTo, "mouseover", function () { - a.pointerIsOverChart = !0; - }); - d.addEvent(b.renderTo, "mouseout", function () { - a.pointerIsOverChart = !1; - }); - this.modules.length && this.modules[0].init(1); - }, - update: function (b) { - var c = this.chart.options.accessibility; - c = c && c.keyboardNavigation; - var a = this.components; - this.updateContainerTabindex(); - c && c.enabled && b && b.length - ? ((this.modules = b.reduce(function (b, c) { - c = a[c].getKeyboardNavigation(); - return b.concat(c); - }, [])), - this.updateExitAnchor()) - : ((this.modules = []), - (this.currentModuleIx = 0), - this.removeExitAnchor()); - }, - onFocus: function (b) { - var c, - a = this.chart; - b = b.relatedTarget && a.container.contains(b.relatedTarget); - this.isClickingChart || - b || - (null === (c = this.modules[0]) || void 0 === c - ? void 0 - : c.init(1)); - }, - onMouseUp: function () { - delete this.isClickingChart; - if (!this.keyboardReset && !this.pointerIsOverChart) { - var b = this.chart, - c = this.modules && this.modules[this.currentModuleIx || 0]; - c && c.terminate && c.terminate(); - b.focusElement && b.focusElement.removeFocusBorder(); - this.currentModuleIx = 0; - this.keyboardReset = !0; - } - }, - onKeydown: function (b) { - b = b || h.event; - var c, - a = - this.modules && - this.modules.length && - this.modules[this.currentModuleIx]; - this.keyboardReset = !1; - if (a) { - var d = a.run(b); - d === a.response.success - ? (c = !0) - : d === a.response.prev - ? (c = this.prev()) - : d === a.response.next && (c = this.next()); - c && (b.preventDefault(), b.stopPropagation()); - } - }, - prev: function () { - return this.move(-1); - }, - next: function () { - return this.move(1); - }, - move: function (b) { - var c = this.modules && this.modules[this.currentModuleIx]; - c && c.terminate && c.terminate(b); - this.chart.focusElement && - this.chart.focusElement.removeFocusBorder(); - this.currentModuleIx += b; - if ((c = this.modules && this.modules[this.currentModuleIx])) { - if (c.validate && !c.validate()) return this.move(b); - if (c.init) return c.init(b), !0; - } - this.currentModuleIx = 0; - 0 < b - ? ((this.exiting = !0), this.exitAnchor.focus()) - : this.tabindexContainer.focus(); - return !1; - }, - updateExitAnchor: function () { - var b = d("highcharts-end-of-chart-marker-" + this.chart.index); - this.removeExitAnchor(); - b - ? (this.makeElementAnExitAnchor(b), (this.exitAnchor = b)) - : this.createExitAnchor(); - }, - updateContainerTabindex: function () { - var b = this.chart.options.accessibility; - b = b && b.keyboardNavigation; - b = !(b && !1 === b.enabled); - var c = this.chart, - a = c.container; - c.renderTo.hasAttribute("tabindex") && - (a.removeAttribute("tabindex"), (a = c.renderTo)); - this.tabindexContainer = a; - var d = a.getAttribute("tabindex"); - b && !d - ? a.setAttribute("tabindex", "0") - : b || c.container.removeAttribute("tabindex"); - }, - makeElementAnExitAnchor: function (b) { - var c = this.tabindexContainer.getAttribute("tabindex") || 0; - b.setAttribute("class", "highcharts-exit-anchor"); - b.setAttribute("tabindex", c); - b.setAttribute("aria-hidden", !1); - this.addExitAnchorEventsToEl(b); - }, - createExitAnchor: function () { - var b = this.chart, - c = (this.exitAnchor = g.createElement("div")); - b.renderTo.appendChild(c); - this.makeElementAnExitAnchor(c); - }, - removeExitAnchor: function () { - this.exitAnchor && - this.exitAnchor.parentNode && - (this.exitAnchor.parentNode.removeChild(this.exitAnchor), - delete this.exitAnchor); - }, - addExitAnchorEventsToEl: function (b) { - var c = this.chart, - a = this; - this.eventProvider.addEvent(b, "focus", function (b) { - b = b || h.event; - (b.relatedTarget && c.container.contains(b.relatedTarget)) || - a.exiting - ? (a.exiting = !1) - : (a.tabindexContainer.focus(), - b.preventDefault(), - a.modules && - a.modules.length && - ((a.currentModuleIx = a.modules.length - 1), - (b = a.modules[a.currentModuleIx]) && - b.validate && - !b.validate() - ? a.prev() - : b && b.init(-1))); - }); - }, - destroy: function () { - this.removeExitAnchor(); - this.eventProvider.removeAddedEvents(); - this.chart.container.removeAttribute("tabindex"); - }, - }; - return n; - } - ); - p( - a, - "Accessibility/Components/LegendComponent.js", - [ - a["Core/Globals.js"], - a["Core/Legend.js"], - a["Core/Utilities.js"], - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - ], - function (a, f, l, m, n, g) { - function h(b) { - var c = b.legend && b.legend.allItems, - a = b.options.legend.accessibility || {}; - return !( - !c || - !c.length || - (b.colorAxis && b.colorAxis.length) || - !1 === a.enabled - ); - } - var q = l.addEvent, - e = l.extend, - d = l.find, - b = l.fireEvent, - c = g.stripHTMLTagsFromString, - k = g.removeElement; - a.Chart.prototype.highlightLegendItem = function (c) { - var a = this.legend.allItems, - d = this.highlightedLegendItemIx; - if (a[c]) { - a[d] && b(a[d].legendGroup.element, "mouseout"); - d = this.legend; - var k = d.allItems[c].pageIx, - t = d.currentPage; - "undefined" !== typeof k && k + 1 !== t && d.scroll(1 + k - t); - this.setFocusToElement(a[c].legendItem, a[c].a11yProxyElement); - b(a[c].legendGroup.element, "mouseover"); - return !0; - } - return !1; - }; - q(f, "afterColorizeItem", function (b) { - var c = b.item; - this.chart.options.accessibility.enabled && - c && - c.a11yProxyElement && - c.a11yProxyElement.setAttribute( - "aria-pressed", - b.visible ? "false" : "true" - ); - }); - a = function () {}; - a.prototype = new m(); - e(a.prototype, { - init: function () { - var b = this; - this.proxyElementsList = []; - this.recreateProxies(); - this.addEvent(f, "afterScroll", function () { - this.chart === b.chart && - (b.updateProxiesPositions(), - b.updateLegendItemProxyVisibility(), - this.chart.highlightLegendItem(b.highlightedLegendItemIx)); - }); - this.addEvent(f, "afterPositionItem", function (c) { - this.chart === b.chart && - this.chart.renderer && - b.updateProxyPositionForItem(c.item); - }); - }, - updateLegendItemProxyVisibility: function () { - var b = this.chart.legend, - c = b.currentPage || 1, - a = b.clipHeight || 0; - (b.allItems || []).forEach(function (d) { - var k = d.pageIx || 0, - t = d._legendItemPos ? d._legendItemPos[1] : 0, - e = d.legendItem ? Math.round(d.legendItem.getBBox().height) : 0; - k = t + e - b.pages[k] > a || k !== c - 1; - d.a11yProxyElement && - (d.a11yProxyElement.style.visibility = k ? "hidden" : "visible"); - }); - }, - onChartRender: function () { - h(this.chart) ? this.updateProxiesPositions() : this.removeProxies(); - }, - updateProxiesPositions: function () { - for (var b = 0, c = this.proxyElementsList; b < c.length; b++) { - var a = c[b]; - this.updateProxyButtonPosition(a.element, a.posElement); - } - }, - updateProxyPositionForItem: function (b) { - var c = d(this.proxyElementsList, function (c) { - return c.item === b; - }); - c && this.updateProxyButtonPosition(c.element, c.posElement); - }, - recreateProxies: function () { - this.removeProxies(); - h(this.chart) && - (this.addLegendProxyGroup(), - this.proxyLegendItems(), - this.updateLegendItemProxyVisibility()); - }, - removeProxies: function () { - k(this.legendProxyGroup); - this.proxyElementsList = []; - }, - addLegendProxyGroup: function () { - var b = this.chart.options.accessibility, - c = this.chart.langFormat("accessibility.legend.legendLabel", {}); - this.legendProxyGroup = this.addProxyGroup({ - "aria-label": c, - role: "all" === b.landmarkVerbosity ? "region" : null, - }); - }, - proxyLegendItems: function () { - var b = this; - ((this.chart.legend && this.chart.legend.allItems) || []).forEach( - function (c) { - c.legendItem && c.legendItem.element && b.proxyLegendItem(c); - } - ); - }, - proxyLegendItem: function (b) { - if (b.legendItem && b.legendGroup) { - var a = this.chart.langFormat("accessibility.legend.legendItem", { - chart: this.chart, - itemName: c(b.name), - }), - d = b.legendGroup.div ? b.legendItem : b.legendGroup; - b.a11yProxyElement = this.createProxyButton( - b.legendItem, - this.legendProxyGroup, - { tabindex: -1, "aria-pressed": !b.visible, "aria-label": a }, - d - ); - this.proxyElementsList.push({ - item: b, - element: b.a11yProxyElement, - posElement: d, - }); - } - }, - getKeyboardNavigation: function () { - var b = this.keyCodes, - c = this; - return new n(this.chart, { - keyCodeMap: [ - [ - [b.left, b.right, b.up, b.down], - function (b) { - return c.onKbdArrowKey(this, b); - }, - ], - [ - [b.enter, b.space], - function () { - return c.onKbdClick(this); - }, - ], - ], - validate: function () { - return c.shouldHaveLegendNavigation(); - }, - init: function (b) { - return c.onKbdNavigationInit(b); - }, - }); - }, - onKbdArrowKey: function (b, c) { - var a = this.keyCodes, - d = b.response, - k = this.chart, - e = k.options.accessibility, - t = k.legend.allItems.length; - c = c === a.left || c === a.up ? -1 : 1; - return k.highlightLegendItem(this.highlightedLegendItemIx + c) - ? ((this.highlightedLegendItemIx += c), d.success) - : 1 < t && e.keyboardNavigation.wrapAround - ? (b.init(c), d.success) - : d[0 < c ? "next" : "prev"]; - }, - onKbdClick: function (c) { - var a = this.chart.legend.allItems[this.highlightedLegendItemIx]; - a && a.a11yProxyElement && b(a.a11yProxyElement, "click"); - return c.response.success; - }, - shouldHaveLegendNavigation: function () { - var b = this.chart, - c = b.colorAxis && b.colorAxis.length, - a = (b.options.legend || {}).accessibility || {}; - return !!( - b.legend && - b.legend.allItems && - b.legend.display && - !c && - a.enabled && - a.keyboardNavigation && - a.keyboardNavigation.enabled - ); - }, - onKbdNavigationInit: function (b) { - var c = this.chart, - a = c.legend.allItems.length - 1; - b = 0 < b ? 0 : a; - c.highlightLegendItem(b); - this.highlightedLegendItemIx = b; - }, - }); - return a; - } - ); - p( - a, - "Accessibility/Components/MenuComponent.js", - [ - a["Core/Globals.js"], - a["Core/Utilities.js"], - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - ], - function (a, f, l, m, n, g) { - function h(b) { - return b.exportSVGElements && b.exportSVGElements[0]; - } - f = f.extend; - var q = n.unhideChartElementFromAT, - e = g.removeElement, - d = g.getFakeMouseEvent; - a.Chart.prototype.showExportMenu = function () { - var b = h(this); - if (b && ((b = b.element), b.onclick)) b.onclick(d("click")); - }; - a.Chart.prototype.hideExportMenu = function () { - var b = this.exportDivElements; - b && - this.exportContextMenu && - (b.forEach(function (b) { - if ("highcharts-menu-item" === b.className && b.onmouseout) - b.onmouseout(d("mouseout")); - }), - (this.highlightedExportItemIx = 0), - this.exportContextMenu.hideMenu(), - this.container.focus()); - }; - a.Chart.prototype.highlightExportItem = function (b) { - var c = this.exportDivElements && this.exportDivElements[b], - a = - this.exportDivElements && - this.exportDivElements[this.highlightedExportItemIx]; - if (c && "LI" === c.tagName && (!c.children || !c.children.length)) { - var e = !!(this.renderTo.getElementsByTagName("g")[0] || {}).focus; - c.focus && e && c.focus(); - if (a && a.onmouseout) a.onmouseout(d("mouseout")); - if (c.onmouseover) c.onmouseover(d("mouseover")); - this.highlightedExportItemIx = b; - return !0; - } - return !1; - }; - a.Chart.prototype.highlightLastExportItem = function () { - var b; - if (this.exportDivElements) - for (b = this.exportDivElements.length; b--; ) - if (this.highlightExportItem(b)) return !0; - return !1; - }; - a = function () {}; - a.prototype = new l(); - f(a.prototype, { - init: function () { - var b = this.chart, - c = this; - this.addEvent(b, "exportMenuShown", function () { - c.onMenuShown(); - }); - this.addEvent(b, "exportMenuHidden", function () { - c.onMenuHidden(); - }); - }, - onMenuHidden: function () { - var b = this.chart.exportContextMenu; - b && b.setAttribute("aria-hidden", "true"); - this.isExportMenuShown = !1; - this.setExportButtonExpandedState("false"); - }, - onMenuShown: function () { - var b = this.chart, - c = b.exportContextMenu; - c && (this.addAccessibleContextMenuAttribs(), q(b, c)); - this.isExportMenuShown = !0; - this.setExportButtonExpandedState("true"); - }, - setExportButtonExpandedState: function (b) { - var c = this.exportButtonProxy; - c && c.setAttribute("aria-expanded", b); - }, - onChartRender: function () { - var b = this.chart, - c = b.options.accessibility; - e(this.exportProxyGroup); - var a = b.options.exporting, - d = h(b); - a && - !1 !== a.enabled && - a.accessibility && - a.accessibility.enabled && - d && - d.element && - ((this.exportProxyGroup = this.addProxyGroup( - "all" === c.landmarkVerbosity - ? { - "aria-label": b.langFormat( - "accessibility.exporting.exportRegionLabel", - { chart: b } - ), - role: "region", - } - : {} - )), - (c = h(this.chart)), - (this.exportButtonProxy = this.createProxyButton( - c, - this.exportProxyGroup, - { - "aria-label": b.langFormat( - "accessibility.exporting.menuButtonLabel", - { chart: b } - ), - "aria-expanded": "false", - } - ))); - }, - addAccessibleContextMenuAttribs: function () { - var b = this.chart, - c = b.exportDivElements; - c && - c.length && - (c.forEach(function (b) { - "LI" !== b.tagName || (b.children && b.children.length) - ? b.setAttribute("aria-hidden", "true") - : b.setAttribute("tabindex", -1); - }), - (c = c[0].parentNode), - c.removeAttribute("aria-hidden"), - c.setAttribute( - "aria-label", - b.langFormat("accessibility.exporting.chartMenuLabel", { - chart: b, - }) - )); - }, - getKeyboardNavigation: function () { - var b = this.keyCodes, - c = this.chart, - a = this; - return new m(c, { - keyCodeMap: [ - [ - [b.left, b.up], - function () { - return a.onKbdPrevious(this); - }, - ], - [ - [b.right, b.down], - function () { - return a.onKbdNext(this); - }, - ], - [ - [b.enter, b.space], - function () { - return a.onKbdClick(this); - }, - ], - ], - validate: function () { - return ( - c.exportChart && - !1 !== c.options.exporting.enabled && - !1 !== c.options.exporting.accessibility.enabled - ); - }, - init: function () { - var b = a.exportButtonProxy, - d = c.exportingGroup; - d && b && c.setFocusToElement(d, b); - }, - terminate: function () { - c.hideExportMenu(); - }, - }); - }, - onKbdPrevious: function (b) { - var c = this.chart, - a = c.options.accessibility; - b = b.response; - for (var d = c.highlightedExportItemIx || 0; d--; ) - if (c.highlightExportItem(d)) return b.success; - return a.keyboardNavigation.wrapAround - ? (c.highlightLastExportItem(), b.success) - : b.prev; - }, - onKbdNext: function (b) { - var c = this.chart, - a = c.options.accessibility; - b = b.response; - for ( - var d = (c.highlightedExportItemIx || 0) + 1; - d < c.exportDivElements.length; - ++d - ) - if (c.highlightExportItem(d)) return b.success; - return a.keyboardNavigation.wrapAround - ? (c.highlightExportItem(0), b.success) - : b.next; - }, - onKbdClick: function (b) { - var c = this.chart, - a = c.exportDivElements[c.highlightedExportItemIx], - d = h(c).element; - this.isExportMenuShown - ? this.fakeClickEvent(a) - : (this.fakeClickEvent(d), c.highlightExportItem(0)); - return b.response.success; - }, - }); - return a; - } - ); - p( - a, - "Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js", - [ - a["Core/Series/Series.js"], - a["Core/Series/CartesianSeries.js"], - a["Core/Chart/Chart.js"], - a["Core/Series/Point.js"], - a["Core/Utilities.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Accessibility/Utils/EventProvider.js"], - a["Accessibility/Utils/ChartUtilities.js"], - ], - function (a, f, l, m, n, g, h, q) { - function e(b) { - var c = b.index, - a = b.series.points, - d = a.length; - if (a[c] !== b) - for (; d--; ) { - if (a[d] === b) return d; - } - else return c; - } - function d(b) { - var c = - b.chart.options.accessibility.keyboardNavigation.seriesNavigation, - a = b.options.accessibility || {}, - d = a.keyboardNavigation; - return ( - (d && !1 === d.enabled) || - !1 === a.enabled || - !1 === b.options.enableMouseTracking || - !b.visible || - (c.pointNavigationEnabledThreshold && - c.pointNavigationEnabledThreshold <= b.points.length) - ); - } - function b(b) { - var c = b.series.chart.options.accessibility; - return ( - (b.isNull && c.keyboardNavigation.seriesNavigation.skipNullPoints) || - !1 === b.visible || - d(b.series) - ); - } - function c(b, c, a, d) { - var r = Infinity, - e = c.points.length, - k = function (b) { - return !(w(b.plotX) && w(b.plotY)); - }; - if (!k(b)) { - for (; e--; ) { - var g = c.points[e]; - if ( - !k(g) && - ((g = - (b.plotX - g.plotX) * (b.plotX - g.plotX) * (a || 1) + - (b.plotY - g.plotY) * (b.plotY - g.plotY) * (d || 1)), - g < r) - ) { - r = g; - var h = e; - } - } - return w(h) ? c.points[h] : void 0; - } - } - function k(b) { - var c = !1; - delete b.highlightedPoint; - return (c = b.series.reduce(function (b, c) { - return b || c.highlightFirstValidPoint(); - }, !1)); - } - function t(b, c) { - this.keyCodes = c; - this.chart = b; - } - var v = a.seriesTypes, - w = n.defined; - a = n.extend; - var u = q.getPointFromXY, - A = q.getSeriesFromName, - p = q.scrollToPoint; - f.prototype.keyboardMoveVertical = !0; - ["column", "pie"].forEach(function (b) { - v[b] && (v[b].prototype.keyboardMoveVertical = !1); - }); - m.prototype.highlight = function () { - var b = this.series.chart; - if (this.isNull) b.tooltip && b.tooltip.hide(0); - else this.onMouseOver(); - p(this); - this.graphic && b.setFocusToElement(this.graphic); - b.highlightedPoint = this; - return this; - }; - l.prototype.highlightAdjacentPoint = function (c) { - var a = this.series, - k = this.highlightedPoint, - r = (k && e(k)) || 0, - g = k && k.series.points, - h = this.series && this.series[this.series.length - 1]; - h = h && h.points && h.points[h.points.length - 1]; - if (!a[0] || !a[0].points) return !1; - if (k) { - if ( - ((a = a[k.series.index + (c ? 1 : -1)]), - (r = g[r + (c ? 1 : -1)]), - !r && a && (r = a.points[c ? 0 : a.points.length - 1]), - !r) - ) - return !1; - } else r = c ? a[0].points[0] : h; - return b(r) - ? ((a = r.series), - d(a) - ? (this.highlightedPoint = c - ? a.points[a.points.length - 1] - : a.points[0]) - : (this.highlightedPoint = r), - this.highlightAdjacentPoint(c)) - : r.highlight(); - }; - f.prototype.highlightFirstValidPoint = function () { - var c = this.chart.highlightedPoint, - a = (c && c.series) === this ? e(c) : 0; - c = this.points; - var d = c.length; - if (c && d) { - for (var r = a; r < d; ++r) if (!b(c[r])) return c[r].highlight(); - for (; 0 <= a; --a) if (!b(c[a])) return c[a].highlight(); - } - return !1; - }; - l.prototype.highlightAdjacentSeries = function (b) { - var a, - k = this.highlightedPoint; - var r = - (a = this.series && this.series[this.series.length - 1]) && - a.points && - a.points[a.points.length - 1]; - if (!this.highlightedPoint) - return ( - (a = b ? this.series && this.series[0] : a), - (r = b ? a && a.points && a.points[0] : r) ? r.highlight() : !1 - ); - a = this.series[k.series.index + (b ? -1 : 1)]; - if (!a) return !1; - r = c(k, a, 4); - if (!r) return !1; - if (d(a)) - return ( - r.highlight(), - (b = this.highlightAdjacentSeries(b)), - b ? b : (k.highlight(), !1) - ); - r.highlight(); - return r.series.highlightFirstValidPoint(); - }; - l.prototype.highlightAdjacentPointVertical = function (c) { - var a = this.highlightedPoint, - k = Infinity, - r; - if (!w(a.plotX) || !w(a.plotY)) return !1; - this.series.forEach(function (e) { - d(e) || - e.points.forEach(function (d) { - if (w(d.plotY) && w(d.plotX) && d !== a) { - var g = d.plotY - a.plotY, - h = Math.abs(d.plotX - a.plotX); - h = Math.abs(g) * Math.abs(g) + h * h * 4; - e.yAxis && e.yAxis.reversed && (g *= -1); - !((0 >= g && c) || (0 <= g && !c) || 5 > h || b(d)) && - h < k && - ((k = h), (r = d)); - } - }); - }); - return r ? r.highlight() : !1; - }; - a(t.prototype, { - init: function () { - var b = this, - c = this.chart, - a = (this.eventProvider = new h()); - a.addEvent(f, "destroy", function () { - return b.onSeriesDestroy(this); - }); - a.addEvent(c, "afterDrilldown", function () { - k(this); - this.focusElement && this.focusElement.removeFocusBorder(); - }); - a.addEvent(c, "drilldown", function (c) { - c = c.point; - var a = c.series; - b.lastDrilledDownPoint = { - x: c.x, - y: c.y, - seriesName: a ? a.name : "", - }; - }); - a.addEvent(c, "drillupall", function () { - setTimeout(function () { - b.onDrillupAll(); - }, 10); - }); - }, - onDrillupAll: function () { - var b = this.lastDrilledDownPoint, - c = this.chart, - a = b && A(c, b.seriesName), - d; - b && a && w(b.x) && w(b.y) && (d = u(a, b.x, b.y)); - c.container && c.container.focus(); - d && d.highlight && d.highlight(); - c.focusElement && c.focusElement.removeFocusBorder(); - }, - getKeyboardNavigationHandler: function () { - var b = this, - c = this.keyCodes, - a = this.chart, - d = a.inverted; - return new g(a, { - keyCodeMap: [ - [ - d ? [c.up, c.down] : [c.left, c.right], - function (c) { - return b.onKbdSideways(this, c); - }, - ], - [ - d ? [c.left, c.right] : [c.up, c.down], - function (c) { - return b.onKbdVertical(this, c); - }, - ], - [ - [c.enter, c.space], - function () { - a.highlightedPoint && - a.highlightedPoint.firePointEvent("click"); - return this.response.success; - }, - ], - ], - init: function (c) { - return b.onHandlerInit(this, c); - }, - terminate: function () { - return b.onHandlerTerminate(); - }, - }); - }, - onKbdSideways: function (b, c) { - var a = this.keyCodes; - return this.attemptHighlightAdjacentPoint( - b, - c === a.right || c === a.down - ); - }, - onKbdVertical: function (b, c) { - var a = this.chart, - d = this.keyCodes; - c = c === d.down || c === d.right; - d = a.options.accessibility.keyboardNavigation.seriesNavigation; - if (d.mode && "serialize" === d.mode) - return this.attemptHighlightAdjacentPoint(b, c); - a[ - a.highlightedPoint && a.highlightedPoint.series.keyboardMoveVertical - ? "highlightAdjacentPointVertical" - : "highlightAdjacentSeries" - ](c); - return b.response.success; - }, - onHandlerInit: function (b, c) { - var a = this.chart; - if (0 < c) k(a); - else { - c = a.series.length; - for ( - var d; - c-- && - !((a.highlightedPoint = - a.series[c].points[a.series[c].points.length - 1]), - (d = a.series[c].highlightFirstValidPoint())); - - ); - } - return b.response.success; - }, - onHandlerTerminate: function () { - var b, - c, - a = this.chart, - d = a.highlightedPoint; - null === (b = a.tooltip) || void 0 === b ? void 0 : b.hide(0); - null === (c = null === d || void 0 === d ? void 0 : d.onMouseOut) || - void 0 === c - ? void 0 - : c.call(d); - delete a.highlightedPoint; - }, - attemptHighlightAdjacentPoint: function (b, c) { - var a = this.chart, - d = a.options.accessibility.keyboardNavigation.wrapAround; - return a.highlightAdjacentPoint(c) - ? b.response.success - : d - ? b.init(c ? 1 : -1) - : b.response[c ? "next" : "prev"]; - }, - onSeriesDestroy: function (b) { - var c = this.chart; - c.highlightedPoint && - c.highlightedPoint.series === b && - (delete c.highlightedPoint, - c.focusElement && c.focusElement.removeFocusBorder()); - }, - destroy: function () { - this.eventProvider.removeAddedEvents(); - }, - }); - return t; - } - ); - p( - a, - "Accessibility/Components/AnnotationsA11y.js", - [a["Accessibility/Utils/HTMLUtilities.js"]], - function (a) { - function f(a) { - return (a.annotations || []).reduce(function (a, d) { - var b; - !1 !== - (null === (b = d.options) || void 0 === b ? void 0 : b.visible) && - (a = a.concat(d.labels)); - return a; - }, []); - } - function l(a) { - var e, - d, - b, - c, - k = - null === - (d = - null === (e = a.options) || void 0 === e - ? void 0 - : e.accessibility) || void 0 === d - ? void 0 - : d.description; - return k - ? k - : (null === - (c = - null === (b = a.graphic) || void 0 === b ? void 0 : b.text) || - void 0 === c - ? void 0 - : c.textStr) || ""; - } - function m(a) { - var e, - d, - b = - null === - (d = - null === (e = a.options) || void 0 === e - ? void 0 - : e.accessibility) || void 0 === d - ? void 0 - : d.description; - if (b) return b; - e = a.chart; - d = l(a); - b = a.points - .filter(function (b) { - return !!b.graphic; - }) - .map(function (b) { - var c, a; - if ( - !(a = - null === - (c = null === b || void 0 === b ? void 0 : b.accessibility) || - void 0 === c - ? void 0 - : c.valueDescription) - ) { - var d, e; - a = - (null === - (e = - null === - (d = null === b || void 0 === b ? void 0 : b.graphic) || - void 0 === d - ? void 0 - : d.element) || void 0 === e - ? void 0 - : e.getAttribute("aria-label")) || ""; - } - b = (null === b || void 0 === b ? void 0 : b.series.name) || ""; - return (b ? b + ", " : "") + "data point " + a; - }) - .filter(function (b) { - return !!b; - }); - var c = b.length; - a = - "accessibility.screenReaderSection.annotations.description" + - (1 < c ? "MultiplePoints" : c ? "SinglePoint" : "NoPoints"); - d = { - annotationText: d, - numPoints: c, - annotationPoint: b[0], - additionalAnnotationPoints: b.slice(1), - }; - return e.langFormat(a, d); - } - function n(a) { - return f(a).map(function (a) { - return (a = g(h(m(a)))) ? "<li>" + a + "</li>" : ""; - }); - } - var g = a.escapeStringForHTML, - h = a.stripHTMLTagsFromString; - return { - getAnnotationsInfoHTML: function (a) { - var e = a.annotations; - return e && e.length ? "<ul>" + n(a).join(" ") + "</ul>" : ""; - }, - getAnnotationLabelDescription: m, - getAnnotationListItems: n, - getPointAnnotationTexts: function (a) { - var e = f(a.series.chart).filter(function (d) { - return -1 < d.points.indexOf(a); - }); - return e.length - ? e.map(function (a) { - return "" + l(a); - }) - : []; - }, - }; - } - ); - p( - a, - "Accessibility/Components/SeriesComponent/SeriesDescriber.js", - [ - a["Accessibility/Components/AnnotationsA11y.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Core/Tooltip.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m, n) { - function g(b) { - var c = b.index; - return b.series && b.series.data && G(c) - ? K(b.series.data, function (b) { - return !!( - b && - "undefined" !== typeof b.index && - b.index > c && - b.graphic && - b.graphic.element - ); - }) || null - : null; - } - function h(b) { - var c = - b.chart.options.accessibility.series.pointDescriptionEnabledThreshold; - return !!(!1 !== c && b.points && b.points.length >= c); - } - function q(b) { - var c = b.options.accessibility || {}; - return !h(b) && !c.exposeAsGroupOnly; - } - function e(b) { - var c = - b.chart.options.accessibility.keyboardNavigation.seriesNavigation; - return !( - !b.points || - !( - b.points.length < c.pointNavigationEnabledThreshold || - !1 === c.pointNavigationEnabledThreshold - ) - ); - } - function d(b, c) { - var a = b.series.chart, - d = a.options.accessibility.point || {}; - b = b.series.tooltipOptions || {}; - a = a.options.lang; - return L(c) - ? M( - c, - d.valueDecimals || b.valueDecimals || -1, - a.decimalPoint, - a.accessibility.thousandsSep || a.thousandsSep - ) - : c; - } - function b(b) { - var c = (b.options.accessibility || {}).description; - return ( - (c && - b.chart.langFormat("accessibility.series.description", { - description: c, - series: b, - })) || - "" - ); - } - function c(b, c) { - return b.chart.langFormat("accessibility.series." + c + "Description", { - name: x(b[c]), - series: b, - }); - } - function k(b) { - var c = b.series, - a = c.chart, - d = a.options.accessibility.point || {}; - if (c.xAxis && c.xAxis.dateTime) - return ( - (c = m.prototype.getXDateFormat.call( - { getDateFormat: m.prototype.getDateFormat, chart: a }, - b, - a.options.tooltip, - c.xAxis - )), - (d = (d.dateFormatter && d.dateFormatter(b)) || d.dateFormat || c), - a.time.dateFormat(d, b.x, void 0) - ); - } - function t(b) { - var c = k(b), - a = - (b.series.xAxis || {}).categories && - G(b.category) && - ("" + b.category).replace("<br/>", " "), - d = b.id && 0 > b.id.indexOf("highcharts-"), - e = "x, " + b.x; - return b.name || c || a || (d ? b.id : e); - } - function v(b, c, a) { - var e = c || "", - k = a || ""; - return b.series.pointArrayMap.reduce(function (c, a) { - c += c.length ? ", " : ""; - var r = d(b, C(b[a], b.options[a])); - return c + (a + ": " + e + r + k); - }, ""); - } - function w(b) { - var c = b.series, - a = c.chart.options.accessibility.point || {}, - e = c.tooltipOptions || {}, - k = a.valuePrefix || e.valuePrefix || ""; - a = a.valueSuffix || e.valueSuffix || ""; - e = d(b, b["undefined" !== typeof b.value ? "value" : "y"]); - return b.isNull - ? c.chart.langFormat("accessibility.series.nullPointValue", { - point: b, - }) - : c.pointArrayMap - ? v(b, k, a) - : k + e + a; - } - function u(b) { - var c = b.series, - a = c.chart, - d = a.options.accessibility.point.valueDescriptionFormat, - e = (c = C( - c.xAxis && - c.xAxis.options.accessibility && - c.xAxis.options.accessibility.enabled, - !a.angular - )) - ? t(b) - : ""; - b = { - point: b, - index: G(b.index) ? b.index + 1 : "", - xDescription: e, - value: w(b), - separator: c ? ", " : "", - }; - return N(d, b, a); - } - function A(b) { - var c = b.series, - a = c.chart, - d = u(b), - e = - b.options && - b.options.accessibility && - b.options.accessibility.description; - e = e ? " " + e : ""; - c = 1 < a.series.length && c.name ? " " + c.name + "." : ""; - a = b.series.chart; - var k = z(b), - r = { point: b, annotations: k }; - a = k.length - ? a.langFormat("accessibility.series.pointAnnotationsDescription", r) - : ""; - b.accessibility = b.accessibility || {}; - b.accessibility.valueDescription = d; - return d + e + c + (a ? " " + a : ""); - } - function p(b) { - var c = q(b), - a = e(b); - (c || a) && - b.points.forEach(function (b) { - var a; - if ( - !(a = b.graphic && b.graphic.element) && - ((a = b.series && b.series.is("sunburst")), (a = b.isNull && !a)) - ) { - var d = b.series, - e = g(b); - d = (a = e && e.graphic) ? a.parentGroup : d.graph || d.group; - e = e - ? { x: C(b.plotX, e.plotX, 0), y: C(b.plotY, e.plotY, 0) } - : { x: C(b.plotX, 0), y: C(b.plotY, 0) }; - e = b.series.chart.renderer.rect(e.x, e.y, 1, 1); - e.attr({ - class: "highcharts-a11y-dummy-point", - fill: "none", - opacity: 0, - "fill-opacity": 0, - "stroke-opacity": 0, - }); - d && d.element - ? ((b.graphic = e), - (b.hasDummyGraphic = !0), - e.add(d), - d.element.insertBefore(e.element, a ? a.element : null), - (a = e.element)) - : (a = void 0); - } - a && - (a.setAttribute("tabindex", "-1"), - (a.style.outline = "0"), - c - ? ((e = b.series), - (d = e.chart.options.accessibility.point || {}), - (e = e.options.accessibility || {}), - (b = B( - I( - (e.pointDescriptionFormatter && - e.pointDescriptionFormatter(b)) || - (d.descriptionFormatter && d.descriptionFormatter(b)) || - A(b) - ) - )), - a.setAttribute("role", "img"), - a.setAttribute("aria-label", b)) - : a.setAttribute("aria-hidden", !0)); - }); - } - function y(a) { - var d = a.chart, - e = d.types || [], - k = b(a), - r = function (b) { - return d[b] && 1 < d[b].length && a[b]; - }, - g = c(a, "xAxis"), - h = c(a, "yAxis"), - f = { - name: a.name || "", - ix: a.index + 1, - numSeries: d.series && d.series.length, - numPoints: a.points && a.points.length, - series: a, - }; - e = 1 < e.length ? "Combination" : ""; - return ( - (d.langFormat("accessibility.series.summary." + a.type + e, f) || - d.langFormat("accessibility.series.summary.default" + e, f)) + - (k ? " " + k : "") + - (r("yAxis") ? " " + h : "") + - (r("xAxis") ? " " + g : "") - ); - } - var z = a.getPointAnnotationTexts, - x = f.getAxisDescription, - r = f.getSeriesFirstPointElement, - J = f.getSeriesA11yElement, - F = f.unhideChartElementFromAT, - B = l.escapeStringForHTML, - E = l.reverseChildNodes, - I = l.stripHTMLTagsFromString, - K = n.find, - N = n.format, - L = n.isNumber, - M = n.numberFormat, - C = n.pick, - G = n.defined; - return { - describeSeries: function (b) { - var c = b.chart, - a = r(b), - d = J(b), - e = c.is3d && c.is3d(); - if (d) { - d.lastChild !== a || e || E(d); - p(b); - F(c, d); - e = b.chart; - c = e.options.chart || {}; - a = 1 < e.series.length; - e = e.options.accessibility.series.describeSingleSeries; - var k = (b.options.accessibility || {}).exposeAsGroupOnly; - (c.options3d && c.options3d.enabled && a) || !(a || e || k || h(b)) - ? d.setAttribute("aria-label", "") - : ((c = b.chart.options.accessibility), - (a = c.landmarkVerbosity), - (b.options.accessibility || {}).exposeAsGroupOnly - ? d.setAttribute("role", "img") - : "all" === a && d.setAttribute("role", "region"), - d.setAttribute("tabindex", "-1"), - (d.style.outline = "0"), - d.setAttribute( - "aria-label", - B( - I( - (c.series.descriptionFormatter && - c.series.descriptionFormatter(b)) || - y(b) - ) - ) - )); - } - }, - defaultPointDescriptionFormatter: A, - defaultSeriesDescriptionFormatter: y, - getPointA11yTimeDescription: k, - getPointXDescription: t, - getPointValue: w, - getPointValueDescription: u, - }; - } - ); - p( - a, - "Accessibility/Utils/Announcer.js", - [ - a["Core/Globals.js"], - a["Accessibility/Utils/DOMElementProvider.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - ], - function (a, f, l) { - var m = l.visuallyHideElement; - l = (function () { - function a(a, h) { - this.chart = a; - this.domElementProvider = new f(); - this.announceRegion = this.addAnnounceRegion(h); - } - a.prototype.destroy = function () { - this.domElementProvider.destroyCreatedElements(); - }; - a.prototype.announce = function (a) { - var g = this; - this.announceRegion.innerHTML = a; - this.clearAnnouncementRegionTimer && - clearTimeout(this.clearAnnouncementRegionTimer); - this.clearAnnouncementRegionTimer = setTimeout(function () { - g.announceRegion.innerHTML = ""; - delete g.clearAnnouncementRegionTimer; - }, 1e3); - }; - a.prototype.addAnnounceRegion = function (a) { - var g = this.chart.renderTo, - f = this.domElementProvider.createElement("div"); - f.setAttribute("aria-hidden", !1); - f.setAttribute("aria-live", a); - m(f); - g.insertBefore(f, g.firstChild); - return f; - }; - return a; - })(); - return (a.Announcer = l); - } - ); - p( - a, - "Accessibility/Components/SeriesComponent/NewDataAnnouncer.js", - [ - a["Core/Globals.js"], - a["Core/Series/CartesianSeries.js"], - a["Core/Utilities.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Components/SeriesComponent/SeriesDescriber.js"], - a["Accessibility/Utils/Announcer.js"], - a["Accessibility/Utils/EventProvider.js"], - ], - function (a, f, l, m, n, g, h) { - function q(b) { - var c = b.series.data.filter(function (c) { - return b.x === c.x && b.y === c.y; - }); - return 1 === c.length ? c[0] : b; - } - function e(b, c) { - var a = (b || []).concat(c || []).reduce(function (b, c) { - b[c.name + c.index] = c; - return b; - }, {}); - return Object.keys(a).map(function (b) { - return a[b]; - }); - } - var d = l.extend, - b = l.defined, - c = m.getChartTitle, - k = n.defaultPointDescriptionFormatter, - t = n.defaultSeriesDescriptionFormatter; - l = function (b) { - this.chart = b; - }; - d(l.prototype, { - init: function () { - var b = this.chart, - c = b.options.accessibility.announceNewData.interruptUser - ? "assertive" - : "polite"; - this.lastAnnouncementTime = 0; - this.dirty = { allSeries: {} }; - this.eventProvider = new h(); - this.announcer = new g(b, c); - this.addEventListeners(); - }, - destroy: function () { - this.eventProvider.removeAddedEvents(); - this.announcer.destroy(); - }, - addEventListeners: function () { - var b = this, - c = this.chart, - a = this.eventProvider; - a.addEvent(c, "afterDrilldown", function () { - b.lastAnnouncementTime = 0; - }); - a.addEvent(f, "updatedData", function () { - b.onSeriesUpdatedData(this); - }); - a.addEvent(c, "afterAddSeries", function (c) { - b.onSeriesAdded(c.series); - }); - a.addEvent(f, "addPoint", function (c) { - b.onPointAdded(c.point); - }); - a.addEvent(c, "redraw", function () { - b.announceDirtyData(); - }); - }, - onSeriesUpdatedData: function (b) { - var c = this.chart; - b.chart === c && - c.options.accessibility.announceNewData.enabled && - ((this.dirty.hasDirty = !0), - (this.dirty.allSeries[b.name + b.index] = b)); - }, - onSeriesAdded: function (c) { - this.chart.options.accessibility.announceNewData.enabled && - ((this.dirty.hasDirty = !0), - (this.dirty.allSeries[c.name + c.index] = c), - (this.dirty.newSeries = b(this.dirty.newSeries) ? void 0 : c)); - }, - onPointAdded: function (c) { - var a = c.series.chart; - this.chart === a && - a.options.accessibility.announceNewData.enabled && - (this.dirty.newPoint = b(this.dirty.newPoint) ? void 0 : c); - }, - announceDirtyData: function () { - var b = this; - if ( - this.chart.options.accessibility.announceNewData && - this.dirty.hasDirty - ) { - var c = this.dirty.newPoint; - c && (c = q(c)); - this.queueAnnouncement( - Object.keys(this.dirty.allSeries).map(function (c) { - return b.dirty.allSeries[c]; - }), - this.dirty.newSeries, - c - ); - this.dirty = { allSeries: {} }; - } - }, - queueAnnouncement: function (b, c, a) { - var d = this, - k = this.chart.options.accessibility.announceNewData; - if (k.enabled) { - var g = +new Date(); - k = Math.max( - 0, - k.minAnnounceInterval - (g - this.lastAnnouncementTime) - ); - b = e(this.queuedAnnouncement && this.queuedAnnouncement.series, b); - if ((c = this.buildAnnouncementMessage(b, c, a))) - this.queuedAnnouncement && - clearTimeout(this.queuedAnnouncementTimer), - (this.queuedAnnouncement = { time: g, message: c, series: b }), - (this.queuedAnnouncementTimer = setTimeout(function () { - d && - d.announcer && - ((d.lastAnnouncementTime = +new Date()), - d.announcer.announce(d.queuedAnnouncement.message), - delete d.queuedAnnouncement, - delete d.queuedAnnouncementTimer); - }, k)); - } - }, - buildAnnouncementMessage: function (b, d, e) { - var g = this.chart, - h = g.options.accessibility.announceNewData; - if ( - h.announcementFormatter && - ((b = h.announcementFormatter(b, d, e)), !1 !== b) - ) - return b.length ? b : null; - b = a.charts && 1 < a.charts.length ? "Multiple" : "Single"; - b = d - ? "newSeriesAnnounce" + b - : e - ? "newPointAnnounce" + b - : "newDataAnnounce"; - h = c(g); - return g.langFormat("accessibility.announceNewData." + b, { - chartTitle: h, - seriesDesc: d ? t(d) : null, - pointDesc: e ? k(e) : null, - point: e, - series: d, - }); - }, - }); - return l; - } - ); - p( - a, - "Accessibility/Components/SeriesComponent/ForcedMarkers.js", - [a["Core/Series/CartesianSeries.js"], a["Core/Utilities.js"]], - function (a, f) { - function l(a) { - n(!0, a, { - marker: { enabled: !0, states: { normal: { opacity: 0 } } }, - }); - } - var m = f.addEvent, - n = f.merge; - return function () { - m(a, "render", function () { - var a = this.options, - h = - !1 !== - (this.options.accessibility && - this.options.accessibility.enabled); - if ((h = this.chart.options.accessibility.enabled && h)) - (h = this.chart.options.accessibility), - (h = - this.points.length < - h.series.pointDescriptionEnabledThreshold || - !1 === h.series.pointDescriptionEnabledThreshold); - if (h) { - if ( - (a.marker && - !1 === a.marker.enabled && - ((this.a11yMarkersForced = !0), l(this.options)), - this._hasPointMarkers && this.points && this.points.length) - ) - for (a = this.points.length; a--; ) { - h = this.points[a]; - var f = h.options; - delete h.hasForcedA11yMarker; - f.marker && - (f.marker.enabled - ? (n(!0, f.marker, { - states: { - normal: { - opacity: - (f.marker.states && - f.marker.states.normal && - f.marker.states.normal.opacity) || - 1, - }, - }, - }), - (h.hasForcedA11yMarker = !1)) - : (l(f), (h.hasForcedA11yMarker = !0))); - } - } else this.a11yMarkersForced && (delete this.a11yMarkersForced, (a = this.resetA11yMarkerOptions) && n(!0, this.options, { marker: { enabled: a.enabled, states: { normal: { opacity: a.states && a.states.normal && a.states.normal.opacity } } } })); - }); - m(a, "afterSetOptions", function (a) { - this.resetA11yMarkerOptions = n( - a.options.marker || {}, - this.userOptions.marker || {} - ); - }); - m(a, "afterRender", function () { - if (this.chart.styledMode) { - if (this.markerGroup) - this.markerGroup[ - this.a11yMarkersForced ? "addClass" : "removeClass" - ]("highcharts-a11y-markers-hidden"); - this._hasPointMarkers && - this.points && - this.points.length && - this.points.forEach(function (a) { - a.graphic && - (a.graphic[ - a.hasForcedA11yMarker ? "addClass" : "removeClass" - ]("highcharts-a11y-marker-hidden"), - a.graphic[ - !1 === a.hasForcedA11yMarker ? "addClass" : "removeClass" - ]("highcharts-a11y-marker-visible")); - }); - } - }); - }; - } - ); - p( - a, - "Accessibility/Components/SeriesComponent/SeriesComponent.js", - [ - a["Core/Globals.js"], - a["Core/Utilities.js"], - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"], - a["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"], - a["Accessibility/Components/SeriesComponent/ForcedMarkers.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Components/SeriesComponent/SeriesDescriber.js"], - a["Core/Tooltip.js"], - ], - function (a, f, l, m, n, g, h, q, e) { - f = f.extend; - var d = h.hideSeriesFromAT, - b = q.describeSeries; - a.SeriesAccessibilityDescriber = q; - g(); - a = function () {}; - a.prototype = new l(); - f(a.prototype, { - init: function () { - this.newDataAnnouncer = new n(this.chart); - this.newDataAnnouncer.init(); - this.keyboardNavigation = new m(this.chart, this.keyCodes); - this.keyboardNavigation.init(); - this.hideTooltipFromATWhenShown(); - this.hideSeriesLabelsFromATWhenShown(); - }, - hideTooltipFromATWhenShown: function () { - var b = this; - this.addEvent(e, "refresh", function () { - this.chart === b.chart && - this.label && - this.label.element && - this.label.element.setAttribute("aria-hidden", !0); - }); - }, - hideSeriesLabelsFromATWhenShown: function () { - this.addEvent(this.chart, "afterDrawSeriesLabels", function () { - this.series.forEach(function (b) { - b.labelBySeries && b.labelBySeries.attr("aria-hidden", !0); - }); - }); - }, - onChartRender: function () { - this.chart.series.forEach(function (c) { - !1 !== - (c.options.accessibility && c.options.accessibility.enabled) && - c.visible - ? b(c) - : d(c); - }); - }, - getKeyboardNavigation: function () { - return this.keyboardNavigation.getKeyboardNavigationHandler(); - }, - destroy: function () { - this.newDataAnnouncer.destroy(); - this.keyboardNavigation.destroy(); - }, - }); - return a; - } - ); - p( - a, - "Accessibility/Components/ZoomComponent.js", - [ - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Core/Globals.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m, n, g) { - var h = f.unhideChartElementFromAT; - f = l.noop; - var q = m.removeElement, - e = m.setElAttrs; - m = g.extend; - var d = g.pick; - l.Axis.prototype.panStep = function (b, c) { - var a = c || 3; - c = this.getExtremes(); - var d = ((c.max - c.min) / a) * b; - a = c.max + d; - d = c.min + d; - var e = a - d; - 0 > b && d < c.dataMin - ? ((d = c.dataMin), (a = d + e)) - : 0 < b && a > c.dataMax && ((a = c.dataMax), (d = a - e)); - this.setExtremes(d, a); - }; - f.prototype = new a(); - m(f.prototype, { - init: function () { - var b = this, - c = this.chart; - ["afterShowResetZoom", "afterDrilldown", "drillupall"].forEach( - function (a) { - b.addEvent(c, a, function () { - b.updateProxyOverlays(); - }); - } - ); - }, - onChartUpdate: function () { - var b = this.chart, - c = this; - b.mapNavButtons && - b.mapNavButtons.forEach(function (a, d) { - h(b, a.element); - c.setMapNavButtonAttrs( - a.element, - "accessibility.zoom.mapZoom" + (d ? "Out" : "In") - ); - }); - }, - setMapNavButtonAttrs: function (b, c) { - var a = this.chart; - c = a.langFormat(c, { chart: a }); - e(b, { tabindex: -1, role: "button", "aria-label": c }); - }, - onChartRender: function () { - this.updateProxyOverlays(); - }, - updateProxyOverlays: function () { - var b = this.chart; - q(this.drillUpProxyGroup); - q(this.resetZoomProxyGroup); - b.resetZoomButton && - this.recreateProxyButtonAndGroup( - b.resetZoomButton, - "resetZoomProxyButton", - "resetZoomProxyGroup", - b.langFormat("accessibility.zoom.resetZoomButton", { chart: b }) - ); - b.drillUpButton && - this.recreateProxyButtonAndGroup( - b.drillUpButton, - "drillUpProxyButton", - "drillUpProxyGroup", - b.langFormat("accessibility.drillUpButton", { - chart: b, - buttonText: b.getDrilldownBackText(), - }) - ); - }, - recreateProxyButtonAndGroup: function (b, c, a, d) { - q(this[a]); - this[a] = this.addProxyGroup(); - this[c] = this.createProxyButton(b, this[a], { - "aria-label": d, - tabindex: -1, - }); - }, - getMapZoomNavigation: function () { - var b = this.keyCodes, - a = this.chart, - d = this; - return new n(a, { - keyCodeMap: [ - [ - [b.up, b.down, b.left, b.right], - function (b) { - return d.onMapKbdArrow(this, b); - }, - ], - [ - [b.tab], - function (b, a) { - return d.onMapKbdTab(this, a); - }, - ], - [ - [b.space, b.enter], - function () { - return d.onMapKbdClick(this); - }, - ], - ], - validate: function () { - return !!(a.mapZoom && a.mapNavButtons && a.mapNavButtons.length); - }, - init: function (b) { - return d.onMapNavInit(b); - }, - }); - }, - onMapKbdArrow: function (b, a) { - var c = this.keyCodes; - this.chart[a === c.up || a === c.down ? "yAxis" : "xAxis"][0].panStep( - a === c.left || a === c.up ? -1 : 1 - ); - return b.response.success; - }, - onMapKbdTab: function (b, a) { - var c = this.chart; - b = b.response; - var d = - ((a = a.shiftKey) && !this.focusedMapNavButtonIx) || - (!a && this.focusedMapNavButtonIx); - c.mapNavButtons[this.focusedMapNavButtonIx].setState(0); - if (d) return c.mapZoom(), b[a ? "prev" : "next"]; - this.focusedMapNavButtonIx += a ? -1 : 1; - a = c.mapNavButtons[this.focusedMapNavButtonIx]; - c.setFocusToElement(a.box, a.element); - a.setState(2); - return b.success; - }, - onMapKbdClick: function (b) { - this.fakeClickEvent( - this.chart.mapNavButtons[this.focusedMapNavButtonIx].element - ); - return b.response.success; - }, - onMapNavInit: function (b) { - var a = this.chart, - d = a.mapNavButtons[0], - e = a.mapNavButtons[1]; - d = 0 < b ? d : e; - a.setFocusToElement(d.box, d.element); - d.setState(2); - this.focusedMapNavButtonIx = 0 < b ? 0 : 1; - }, - simpleButtonNavigation: function (b, a, e) { - var c = this.keyCodes, - k = this, - g = this.chart; - return new n(g, { - keyCodeMap: [ - [ - [c.tab, c.up, c.down, c.left, c.right], - function (b, a) { - return this.response[ - (b === c.tab && a.shiftKey) || b === c.left || b === c.up - ? "prev" - : "next" - ]; - }, - ], - [ - [c.space, c.enter], - function () { - var b = e(this, g); - return d(b, this.response.success); - }, - ], - ], - validate: function () { - return g[b] && g[b].box && k[a]; - }, - init: function () { - g.setFocusToElement(g[b].box, k[a]); - }, - }); - }, - getKeyboardNavigation: function () { - return [ - this.simpleButtonNavigation( - "resetZoomButton", - "resetZoomProxyButton", - function (b, a) { - a.zoomOut(); - } - ), - this.simpleButtonNavigation( - "drillUpButton", - "drillUpProxyButton", - function (b, a) { - a.drillUp(); - return b.response.prev; - } - ), - this.getMapZoomNavigation(), - ]; - }, - }); - return f; - } - ); - p( - a, - "Accessibility/Components/RangeSelectorComponent.js", - [ - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Core/Globals.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m, n, g) { - var h = f.unhideChartElementFromAT, - q = m.setElAttrs; - f = g.extend; - l.Chart.prototype.highlightRangeSelectorButton = function (a) { - var d = this.rangeSelector.buttons, - b = this.highlightedRangeSelectorItemIx; - "undefined" !== typeof b && - d[b] && - d[b].setState(this.oldRangeSelectorItemState || 0); - this.highlightedRangeSelectorItemIx = a; - return d[a] - ? (this.setFocusToElement(d[a].box, d[a].element), - (this.oldRangeSelectorItemState = d[a].state), - d[a].setState(2), - !0) - : !1; - }; - l = function () {}; - l.prototype = new a(); - f(l.prototype, { - onChartUpdate: function () { - var a = this.chart, - d = this, - b = a.rangeSelector; - b && - (b.buttons && - b.buttons.length && - b.buttons.forEach(function (b) { - h(a, b.element); - d.setRangeButtonAttrs(b); - }), - b.maxInput && - b.minInput && - ["minInput", "maxInput"].forEach(function (c, e) { - if ((c = b[c])) - h(a, c), - d.setRangeInputAttrs( - c, - "accessibility.rangeSelector." + - (e ? "max" : "min") + - "InputLabel" - ); - })); - }, - setRangeButtonAttrs: function (a) { - var d = this.chart; - d = d.langFormat("accessibility.rangeSelector.buttonText", { - chart: d, - buttonText: a.text && a.text.textStr, - }); - q(a.element, { tabindex: -1, role: "button", "aria-label": d }); - }, - setRangeInputAttrs: function (a, d) { - var b = this.chart; - q(a, { - tabindex: -1, - role: "textbox", - "aria-label": b.langFormat(d, { chart: b }), - }); - }, - getRangeSelectorButtonNavigation: function () { - var a = this.chart, - d = this.keyCodes, - b = this; - return new n(a, { - keyCodeMap: [ - [ - [d.left, d.right, d.up, d.down], - function (a) { - return b.onButtonNavKbdArrowKey(this, a); - }, - ], - [ - [d.enter, d.space], - function () { - return b.onButtonNavKbdClick(this); - }, - ], - ], - validate: function () { - return ( - a.rangeSelector && - a.rangeSelector.buttons && - a.rangeSelector.buttons.length - ); - }, - init: function (b) { - var c = a.rangeSelector.buttons.length - 1; - a.highlightRangeSelectorButton(0 < b ? 0 : c); - }, - }); - }, - onButtonNavKbdArrowKey: function (a, d) { - var b = a.response, - c = this.keyCodes, - e = this.chart, - g = e.options.accessibility.keyboardNavigation.wrapAround; - d = d === c.left || d === c.up ? -1 : 1; - return e.highlightRangeSelectorButton( - e.highlightedRangeSelectorItemIx + d - ) - ? b.success - : g - ? (a.init(d), b.success) - : b[0 < d ? "next" : "prev"]; - }, - onButtonNavKbdClick: function (a) { - a = a.response; - var d = this.chart; - 3 !== d.oldRangeSelectorItemState && - this.fakeClickEvent( - d.rangeSelector.buttons[d.highlightedRangeSelectorItemIx].element - ); - return a.success; - }, - getRangeSelectorInputNavigation: function () { - var a = this.chart, - d = this.keyCodes, - b = this; - return new n(a, { - keyCodeMap: [ - [ - [d.tab, d.up, d.down], - function (a, e) { - return b.onInputKbdMove( - this, - (a === d.tab && e.shiftKey) || a === d.up ? -1 : 1 - ); - }, - ], - ], - validate: function () { - return ( - a.rangeSelector && - a.rangeSelector.inputGroup && - "hidden" !== - a.rangeSelector.inputGroup.element.getAttribute( - "visibility" - ) && - !1 !== a.options.rangeSelector.inputEnabled && - a.rangeSelector.minInput && - a.rangeSelector.maxInput - ); - }, - init: function (a) { - b.onInputNavInit(a); - }, - terminate: function () { - b.onInputNavTerminate(); - }, - }); - }, - onInputKbdMove: function (a, d) { - var b = this.chart; - a = a.response; - var c = (b.highlightedInputRangeIx += d); - if (1 < c || 0 > c) return a[0 < d ? "next" : "prev"]; - b.rangeSelector[c ? "maxInput" : "minInput"].focus(); - return a.success; - }, - onInputNavInit: function (a) { - var d = this.chart; - a = 0 < a ? 0 : 1; - d.highlightedInputRangeIx = a; - d.rangeSelector[a ? "maxInput" : "minInput"].focus(); - }, - onInputNavTerminate: function () { - var a = this.chart.rangeSelector || {}; - a.maxInput && a.hideInput("max"); - a.minInput && a.hideInput("min"); - }, - getKeyboardNavigation: function () { - return [ - this.getRangeSelectorButtonNavigation(), - this.getRangeSelectorInputNavigation(), - ]; - }, - }); - return l; - } - ); - p( - a, - "Accessibility/Components/InfoRegionsComponent.js", - [ - a["Core/Globals.js"], - a["Core/Utilities.js"], - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/Utils/Announcer.js"], - a["Accessibility/Components/AnnotationsA11y.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - ], - function (a, f, l, m, n, g, h) { - function q(b) { - return b - .replace(/<(h[1-7]|p|div|ul|ol|li)>/g, "<$1>") - .replace(/</(h[1-7]|p|div|ul|ol|li|a|button)>/g, "</$1>") - .replace( - /<(div|a|button) id="([a-zA-Z\-0-9#]*?)">/g, - '<$1 id="$2">' - ); - } - var e = a.doc, - d = f.extend, - b = f.format, - c = f.pick, - k = n.getAnnotationsInfoHTML, - t = g.unhideChartElementFromAT, - v = g.getChartTitle, - w = g.getAxisDescription, - p = h.addClass, - u = h.setElAttrs, - D = h.escapeStringForHTML, - y = h.stripHTMLTagsFromString, - z = h.getElement, - x = h.visuallyHideElement; - a.Chart.prototype.getTypeDescription = function (b) { - var a = b[0], - c = (this.series && this.series[0]) || {}; - c = { - numSeries: this.series.length, - numPoints: c.points && c.points.length, - chart: this, - mapTitle: c.mapTitle, - }; - if (!a) - return this.langFormat("accessibility.chartTypes.emptyChart", c); - if ("map" === a) - return c.mapTitle - ? this.langFormat("accessibility.chartTypes.mapTypeDescription", c) - : this.langFormat("accessibility.chartTypes.unknownMap", c); - if (1 < this.types.length) - return this.langFormat( - "accessibility.chartTypes.combinationChart", - c - ); - b = b[0]; - a = this.langFormat("accessibility.seriesTypeDescriptions." + b, c); - var d = this.series && 2 > this.series.length ? "Single" : "Multiple"; - return ( - (this.langFormat("accessibility.chartTypes." + b + d, c) || - this.langFormat("accessibility.chartTypes.default" + d, c)) + - (a ? " " + a : "") - ); - }; - f = function () {}; - f.prototype = new l(); - d(f.prototype, { - init: function () { - var b = this.chart, - a = this; - this.initRegionsDefinitions(); - this.addEvent(b, "afterGetTable", function (b) { - a.onDataTableCreated(b); - }); - this.addEvent(b, "afterViewData", function (b) { - a.dataTableDiv = b; - setTimeout(function () { - a.focusDataTable(); - }, 300); - }); - this.announcer = new m(b, "assertive"); - }, - initRegionsDefinitions: function () { - var b = this; - this.screenReaderSections = { - before: { - element: null, - buildContent: function (a) { - var c = - a.options.accessibility.screenReaderSection - .beforeChartFormatter; - return c ? c(a) : b.defaultBeforeChartFormatter(a); - }, - insertIntoDOM: function (b, a) { - a.renderTo.insertBefore(b, a.renderTo.firstChild); - }, - afterInserted: function () { - "undefined" !== typeof b.sonifyButtonId && - b.initSonifyButton(b.sonifyButtonId); - "undefined" !== typeof b.dataTableButtonId && - b.initDataTableButton(b.dataTableButtonId); - }, - }, - after: { - element: null, - buildContent: function (a) { - var c = - a.options.accessibility.screenReaderSection - .afterChartFormatter; - return c ? c(a) : b.defaultAfterChartFormatter(); - }, - insertIntoDOM: function (b, a) { - a.renderTo.insertBefore(b, a.container.nextSibling); - }, - }, - }; - }, - onChartRender: function () { - var b = this; - this.linkedDescriptionElement = this.getLinkedDescriptionElement(); - this.setLinkedDescriptionAttrs(); - Object.keys(this.screenReaderSections).forEach(function (a) { - b.updateScreenReaderSection(a); - }); - }, - getLinkedDescriptionElement: function () { - var a = this.chart.options.accessibility.linkedDescription; - if (a) { - if ("string" !== typeof a) return a; - a = b(a, this.chart); - a = e.querySelectorAll(a); - if (1 === a.length) return a[0]; - } - }, - setLinkedDescriptionAttrs: function () { - var b = this.linkedDescriptionElement; - b && - (b.setAttribute("aria-hidden", "true"), - p(b, "highcharts-linked-description")); - }, - updateScreenReaderSection: function (b) { - var a = this.chart, - c = this.screenReaderSections[b], - d = c.buildContent(a), - e = (c.element = c.element || this.createElement("div")), - g = e.firstChild || this.createElement("div"); - this.setScreenReaderSectionAttribs(e, b); - g.innerHTML = d; - e.appendChild(g); - c.insertIntoDOM(e, a); - x(g); - t(a, g); - c.afterInserted && c.afterInserted(); - }, - setScreenReaderSectionAttribs: function (b, a) { - var c = this.chart, - d = c.langFormat( - "accessibility.screenReaderSection." + a + "RegionLabel", - { chart: c } - ); - u(b, { - id: "highcharts-screen-reader-region-" + a + "-" + c.index, - "aria-label": d, - }); - b.style.position = "relative"; - "all" === c.options.accessibility.landmarkVerbosity && - d && - b.setAttribute("role", "region"); - }, - defaultBeforeChartFormatter: function () { - var b, - c = this.chart, - d = c.options.accessibility.screenReaderSection.beforeChartFormat, - e = this.getAxesDescription(), - g = - c.sonify && - (null === (b = c.options.sonification) || void 0 === b - ? void 0 - : b.enabled); - b = "highcharts-a11y-sonify-data-btn-" + c.index; - var h = "hc-linkto-highcharts-data-table-" + c.index, - f = k(c), - t = c.langFormat( - "accessibility.screenReaderSection.annotations.heading", - { chart: c } - ); - e = { - chartTitle: v(c), - typeDescription: this.getTypeDescriptionText(), - chartSubtitle: this.getSubtitleText(), - chartLongdesc: this.getLongdescText(), - xAxisDescription: e.xAxis, - yAxisDescription: e.yAxis, - playAsSoundButton: g ? this.getSonifyButtonText(b) : "", - viewTableButton: c.getCSV ? this.getDataTableButtonText(h) : "", - annotationsTitle: f ? t : "", - annotationsList: f, - }; - c = a.i18nFormat(d, e, c); - this.dataTableButtonId = h; - this.sonifyButtonId = b; - return q(D(c)).replace(/<(\w+)[^>]*?>\s*<\/\1>/g, ""); - }, - defaultAfterChartFormatter: function () { - var b = this.chart, - c = b.options.accessibility.screenReaderSection.afterChartFormat, - d = { endOfChartMarker: this.getEndOfChartMarkerText() }; - b = a.i18nFormat(c, d, b); - return q(D(b)).replace(/<(\w+)[^>]*?>\s*<\/\1>/g, ""); - }, - getLinkedDescription: function () { - var b = this.linkedDescriptionElement; - return y((b && b.innerHTML) || ""); - }, - getLongdescText: function () { - var b = this.chart.options, - a = b.caption; - a = a && a.text; - var c = this.getLinkedDescription(); - return b.accessibility.description || c || a || ""; - }, - getTypeDescriptionText: function () { - var b = this.chart; - return b.types - ? b.options.accessibility.typeDescription || - b.getTypeDescription(b.types) - : ""; - }, - getDataTableButtonText: function (b) { - var a = this.chart; - a = a.langFormat("accessibility.table.viewAsDataTableButtonText", { - chart: a, - chartTitle: v(a), - }); - return '<button id="' + b + '">' + a + "</button>"; - }, - getSonifyButtonText: function (b) { - var a, - c = this.chart; - if ( - !1 === - (null === (a = c.options.sonification) || void 0 === a - ? void 0 - : a.enabled) - ) - return ""; - a = c.langFormat("accessibility.sonification.playAsSoundButtonText", { - chart: c, - chartTitle: v(c), - }); - return '<button id="' + b + '">' + a + "</button>"; - }, - getSubtitleText: function () { - var b = this.chart.options.subtitle; - return y((b && b.text) || ""); - }, - getEndOfChartMarkerText: function () { - var b = this.chart, - a = b.langFormat( - "accessibility.screenReaderSection.endOfChartMarker", - { chart: b } - ); - return ( - '<div id="highcharts-end-of-chart-marker-' + - b.index + - '">' + - a + - "</div>" - ); - }, - onDataTableCreated: function (b) { - var a = this.chart; - a.options.accessibility.enabled && - (this.viewDataTableButton && - this.viewDataTableButton.setAttribute("aria-expanded", "true"), - (b.html = b.html.replace( - "<table ", - '<table tabindex="-1" summary="' + - a.langFormat("accessibility.table.tableSummary", { chart: a }) + - '"' - ))); - }, - focusDataTable: function () { - var b = this.dataTableDiv; - (b = b && b.getElementsByTagName("table")[0]) && b.focus && b.focus(); - }, - initSonifyButton: function (b) { - var a = this, - c = (this.sonifyButton = z(b)), - d = this.chart, - e = function (b) { - null === c || void 0 === c - ? void 0 - : c.setAttribute("aria-hidden", "true"); - null === c || void 0 === c - ? void 0 - : c.setAttribute("aria-label", ""); - b.preventDefault(); - b.stopPropagation(); - b = d.langFormat( - "accessibility.sonification.playAsSoundClickAnnouncement", - { chart: d } - ); - a.announcer.announce(b); - setTimeout(function () { - null === c || void 0 === c - ? void 0 - : c.removeAttribute("aria-hidden"); - null === c || void 0 === c - ? void 0 - : c.removeAttribute("aria-label"); - d.sonify && d.sonify(); - }, 1e3); - }; - c && - d && - (u(c, { tabindex: "-1" }), - (c.onclick = function (b) { - var a; - ( - (null === (a = d.options.accessibility) || void 0 === a - ? void 0 - : a.screenReaderSection.onPlayAsSoundClick) || e - ).call(this, b, d); - })); - }, - initDataTableButton: function (b) { - var a = (this.viewDataTableButton = z(b)), - c = this.chart; - b = b.replace("hc-linkto-", ""); - a && - (u(a, { tabindex: "-1", "aria-expanded": !!z(b) }), - (a.onclick = - c.options.accessibility.screenReaderSection - .onViewDataTableClick || - function () { - c.viewData(); - })); - }, - getAxesDescription: function () { - var b = this.chart, - a = function (a, d) { - a = b[a]; - return ( - 1 < a.length || - (a[0] && - c( - a[0].options.accessibility && - a[0].options.accessibility.enabled, - d - )) - ); - }, - d = !!b.types && 0 > b.types.indexOf("map"), - e = !!b.hasCartesianSeries, - g = a("xAxis", !b.angular && e && d); - a = a("yAxis", e && d); - d = {}; - g && (d.xAxis = this.getAxisDescriptionText("xAxis")); - a && (d.yAxis = this.getAxisDescriptionText("yAxis")); - return d; - }, - getAxisDescriptionText: function (b) { - var a = this, - c = this.chart, - d = c[b]; - return c.langFormat( - "accessibility.axis." + - b + - "Description" + - (1 < d.length ? "Plural" : "Singular"), - { - chart: c, - names: d.map(function (b) { - return w(b); - }), - ranges: d.map(function (b) { - return a.getAxisRangeDescription(b); - }), - numAxes: d.length, - } - ); - }, - getAxisRangeDescription: function (b) { - var a = b.options || {}; - return a.accessibility && - "undefined" !== typeof a.accessibility.rangeDescription - ? a.accessibility.rangeDescription - : b.categories - ? this.getCategoryAxisRangeDesc(b) - : !b.dateTime || (0 !== b.min && 0 !== b.dataMin) - ? this.getAxisFromToDescription(b) - : this.getAxisTimeLengthDesc(b); - }, - getCategoryAxisRangeDesc: function (b) { - var a = this.chart; - return b.dataMax && b.dataMin - ? a.langFormat("accessibility.axis.rangeCategories", { - chart: a, - axis: b, - numCategories: b.dataMax - b.dataMin + 1, - }) - : ""; - }, - getAxisTimeLengthDesc: function (b) { - var a = this.chart, - c = {}, - d = "Seconds"; - c.Seconds = ((b.max || 0) - (b.min || 0)) / 1e3; - c.Minutes = c.Seconds / 60; - c.Hours = c.Minutes / 60; - c.Days = c.Hours / 24; - ["Minutes", "Hours", "Days"].forEach(function (b) { - 2 < c[b] && (d = b); - }); - var e = c[d].toFixed("Seconds" !== d && "Minutes" !== d ? 1 : 0); - return a.langFormat("accessibility.axis.timeRange" + d, { - chart: a, - axis: b, - range: e.replace(".0", ""), - }); - }, - getAxisFromToDescription: function (b) { - var a = this.chart, - c = a.options.accessibility.screenReaderSection.axisRangeDateFormat, - d = function (d) { - return b.dateTime ? a.time.dateFormat(c, b[d]) : b[d]; - }; - return a.langFormat("accessibility.axis.rangeFromTo", { - chart: a, - axis: b, - rangeFrom: d("min"), - rangeTo: d("max"), - }); - }, - destroy: function () { - var b; - null === (b = this.announcer) || void 0 === b ? void 0 : b.destroy(); - }, - }); - return f; - } - ); - p( - a, - "Accessibility/Components/ContainerComponent.js", - [ - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/Utils/ChartUtilities.js"], - a["Core/Globals.js"], - a["Accessibility/Utils/HTMLUtilities.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m, n) { - var g = f.unhideChartElementFromAT, - h = f.getChartTitle, - q = l.doc, - e = m.stripHTMLTagsFromString; - f = n.extend; - l = function () {}; - l.prototype = new a(); - f(l.prototype, { - onChartUpdate: function () { - this.handleSVGTitleElement(); - this.setSVGContainerLabel(); - this.setGraphicContainerAttrs(); - this.setRenderToAttrs(); - this.makeCreditsAccessible(); - }, - handleSVGTitleElement: function () { - var a = this.chart, - b = "highcharts-title-" + a.index, - c = e( - a.langFormat("accessibility.svgContainerTitle", { - chartTitle: h(a), - }) - ); - if (c.length) { - var g = (this.svgTitleElement = - this.svgTitleElement || - q.createElementNS("http://www.w3.org/2000/svg", "title")); - g.textContent = c; - g.id = b; - a.renderTo.insertBefore(g, a.renderTo.firstChild); - } - }, - setSVGContainerLabel: function () { - var a = this.chart, - b = e( - a.langFormat("accessibility.svgContainerLabel", { - chartTitle: h(a), - }) - ); - a.renderer.box && - b.length && - a.renderer.box.setAttribute("aria-label", b); - }, - setGraphicContainerAttrs: function () { - var a = this.chart, - b = a.langFormat("accessibility.graphicContainerLabel", { - chartTitle: h(a), - }); - b.length && a.container.setAttribute("aria-label", b); - }, - setRenderToAttrs: function () { - var a = this.chart; - "disabled" !== a.options.accessibility.landmarkVerbosity - ? a.renderTo.setAttribute("role", "region") - : a.renderTo.removeAttribute("role"); - a.renderTo.setAttribute( - "aria-label", - a.langFormat("accessibility.chartContainerLabel", { - title: h(a), - chart: a, - }) - ); - }, - makeCreditsAccessible: function () { - var a = this.chart, - b = a.credits; - b && - (b.textStr && - b.element.setAttribute( - "aria-label", - e( - a.langFormat("accessibility.credits", { - creditsStr: b.textStr, - }) - ) - ), - g(a, b.element)); - }, - destroy: function () { - this.chart.renderTo.setAttribute("aria-hidden", !0); - }, - }); - return l; - } - ); - p( - a, - "Accessibility/HighContrastMode.js", - [a["Core/Globals.js"]], - function (a) { - var f = a.isMS, - l = a.win, - m = l.document; - return { - isHighContrastModeActive: function () { - var a = /(Edg)/.test(l.navigator.userAgent); - if (l.matchMedia && a) - return l.matchMedia("(-ms-high-contrast: active)").matches; - if (f && l.getComputedStyle) { - a = m.createElement("div"); - a.style.backgroundImage = - "url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)"; - m.body.appendChild(a); - var g = (a.currentStyle || l.getComputedStyle(a)).backgroundImage; - m.body.removeChild(a); - return "none" === g; - } - return !1; - }, - setHighContrastTheme: function (a) { - a.highContrastModeActive = !0; - var g = a.options.accessibility.highContrastTheme; - a.update(g, !1); - a.series.forEach(function (a) { - var f = g.plotOptions[a.type] || {}; - a.update({ - color: f.color || "windowText", - colors: [f.color || "windowText"], - borderColor: f.borderColor || "window", - }); - a.points.forEach(function (a) { - a.options && - a.options.color && - a.update( - { - color: f.color || "windowText", - borderColor: f.borderColor || "window", - }, - !1 - ); - }); - }); - a.redraw(); - }, - }; - } - ); - p(a, "Accessibility/HighContrastTheme.js", [], function () { - return { - chart: { backgroundColor: "window" }, - title: { style: { color: "windowText" } }, - subtitle: { style: { color: "windowText" } }, - colorAxis: { minColor: "windowText", maxColor: "windowText", stops: [] }, - colors: ["windowText"], - xAxis: { - gridLineColor: "windowText", - labels: { style: { color: "windowText" } }, - lineColor: "windowText", - minorGridLineColor: "windowText", - tickColor: "windowText", - title: { style: { color: "windowText" } }, - }, - yAxis: { - gridLineColor: "windowText", - labels: { style: { color: "windowText" } }, - lineColor: "windowText", - minorGridLineColor: "windowText", - tickColor: "windowText", - title: { style: { color: "windowText" } }, - }, - tooltip: { - backgroundColor: "window", - borderColor: "windowText", - style: { color: "windowText" }, - }, - plotOptions: { - series: { - lineColor: "windowText", - fillColor: "window", - borderColor: "windowText", - edgeColor: "windowText", - borderWidth: 1, - dataLabels: { - connectorColor: "windowText", - color: "windowText", - style: { color: "windowText", textOutline: "none" }, - }, - marker: { lineColor: "windowText", fillColor: "windowText" }, - }, - pie: { - color: "window", - colors: ["window"], - borderColor: "windowText", - borderWidth: 1, - }, - boxplot: { fillColor: "window" }, - candlestick: { lineColor: "windowText", fillColor: "window" }, - errorbar: { fillColor: "window" }, - }, - legend: { - backgroundColor: "window", - itemStyle: { color: "windowText" }, - itemHoverStyle: { color: "windowText" }, - itemHiddenStyle: { color: "#555" }, - title: { style: { color: "windowText" } }, - }, - credits: { style: { color: "windowText" } }, - labels: { style: { color: "windowText" } }, - drilldown: { - activeAxisLabelStyle: { color: "windowText" }, - activeDataLabelStyle: { color: "windowText" }, - }, - navigation: { - buttonOptions: { - symbolStroke: "windowText", - theme: { fill: "window" }, - }, - }, - rangeSelector: { - buttonTheme: { - fill: "window", - stroke: "windowText", - style: { color: "windowText" }, - states: { - hover: { - fill: "window", - stroke: "windowText", - style: { color: "windowText" }, - }, - select: { - fill: "#444", - stroke: "windowText", - style: { color: "windowText" }, - }, - }, - }, - inputBoxBorderColor: "windowText", - inputStyle: { backgroundColor: "window", color: "windowText" }, - labelStyle: { color: "windowText" }, - }, - navigator: { - handles: { backgroundColor: "window", borderColor: "windowText" }, - outlineColor: "windowText", - maskFill: "transparent", - series: { color: "windowText", lineColor: "windowText" }, - xAxis: { gridLineColor: "windowText" }, - }, - scrollbar: { - barBackgroundColor: "#444", - barBorderColor: "windowText", - buttonArrowColor: "windowText", - buttonBackgroundColor: "window", - buttonBorderColor: "windowText", - rifleColor: "windowText", - trackBackgroundColor: "window", - trackBorderColor: "windowText", - }, - }; - }); - p(a, "Accessibility/Options/Options.js", [], function () { - return { - accessibility: { - enabled: !0, - screenReaderSection: { - beforeChartFormat: - "<h5>{chartTitle}</h5><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>", - afterChartFormat: "{endOfChartMarker}", - axisRangeDateFormat: "%Y-%m-%d %H:%M:%S", - }, - series: { - describeSingleSeries: !1, - pointDescriptionEnabledThreshold: 200, - }, - point: { - valueDescriptionFormat: "{index}. {xDescription}{separator}{value}.", - }, - landmarkVerbosity: "all", - linkedDescription: - '*[data-highcharts-chart="{index}"] + .highcharts-description', - keyboardNavigation: { - enabled: !0, - focusBorder: { - enabled: !0, - hideBrowserFocusOutline: !0, - style: { color: "#335cad", lineWidth: 2, borderRadius: 3 }, - margin: 2, - }, - order: ["series", "zoom", "rangeSelector", "legend", "chartMenu"], - wrapAround: !0, - seriesNavigation: { - skipNullPoints: !0, - pointNavigationEnabledThreshold: !1, - }, - }, - announceNewData: { - enabled: !1, - minAnnounceInterval: 5e3, - interruptUser: !1, - }, - }, - legend: { - accessibility: { enabled: !0, keyboardNavigation: { enabled: !0 } }, - }, - exporting: { accessibility: { enabled: !0 } }, - }; - }); - p(a, "Accessibility/Options/LangOptions.js", [], function () { - return { - accessibility: { - defaultChartTitle: "Chart", - chartContainerLabel: "{title}. Highcharts interactive chart.", - svgContainerLabel: "Interactive chart", - drillUpButton: "{buttonText}", - credits: "Chart credits: {creditsStr}", - thousandsSep: ",", - svgContainerTitle: "", - graphicContainerLabel: "", - screenReaderSection: { - beforeRegionLabel: "Chart screen reader information.", - afterRegionLabel: "", - annotations: { - heading: "Chart annotations summary", - descriptionSinglePoint: - "{annotationText}. Related to {annotationPoint}", - descriptionMultiplePoints: - "{annotationText}. Related to {annotationPoint}{ Also related to, #each(additionalAnnotationPoints)}", - descriptionNoPoints: "{annotationText}", - }, - endOfChartMarker: "End of interactive chart.", - }, - sonification: { - playAsSoundButtonText: "Play as sound, {chartTitle}", - playAsSoundClickAnnouncement: "Play", - }, - legend: { - legendLabel: "Toggle series visibility", - legendItem: "Hide {itemName}", - }, - zoom: { - mapZoomIn: "Zoom chart", - mapZoomOut: "Zoom out chart", - resetZoomButton: "Reset zoom", - }, - rangeSelector: { - minInputLabel: "Select start date.", - maxInputLabel: "Select end date.", - buttonText: "Select range {buttonText}", - }, - table: { - viewAsDataTableButtonText: "View as data table, {chartTitle}", - tableSummary: "Table representation of chart.", - }, - announceNewData: { - newDataAnnounce: "Updated data for chart {chartTitle}", - newSeriesAnnounceSingle: "New data series: {seriesDesc}", - newPointAnnounceSingle: "New data point: {pointDesc}", - newSeriesAnnounceMultiple: - "New data series in chart {chartTitle}: {seriesDesc}", - newPointAnnounceMultiple: - "New data point in chart {chartTitle}: {pointDesc}", - }, - seriesTypeDescriptions: { - boxplot: - "Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.", - arearange: - "Arearange charts are line charts displaying a range between a lower and higher value for each point.", - areasplinerange: - "These charts are line charts displaying a range between a lower and higher value for each point.", - bubble: - "Bubble charts are scatter charts where each data point also has a size value.", - columnrange: - "Columnrange charts are column charts displaying a range between a lower and higher value for each point.", - errorbar: - "Errorbar series are used to display the variability of the data.", - funnel: - "Funnel charts are used to display reduction of data in stages.", - pyramid: - "Pyramid charts consist of a single pyramid with item heights corresponding to each point value.", - waterfall: - "A waterfall chart is a column chart where each column contributes towards a total end value.", - }, - chartTypes: { - emptyChart: "Empty chart", - mapTypeDescription: "Map of {mapTitle} with {numSeries} data series.", - unknownMap: "Map of unspecified region with {numSeries} data series.", - combinationChart: "Combination chart with {numSeries} data series.", - defaultSingle: - "Chart with {numPoints} data {#plural(numPoints, points, point)}.", - defaultMultiple: "Chart with {numSeries} data series.", - splineSingle: - "Line chart with {numPoints} data {#plural(numPoints, points, point)}.", - splineMultiple: "Line chart with {numSeries} lines.", - lineSingle: - "Line chart with {numPoints} data {#plural(numPoints, points, point)}.", - lineMultiple: "Line chart with {numSeries} lines.", - columnSingle: - "Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.", - columnMultiple: "Bar chart with {numSeries} data series.", - barSingle: - "Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.", - barMultiple: "Bar chart with {numSeries} data series.", - pieSingle: - "Pie chart with {numPoints} {#plural(numPoints, slices, slice)}.", - pieMultiple: "Pie chart with {numSeries} pies.", - scatterSingle: - "Scatter chart with {numPoints} {#plural(numPoints, points, point)}.", - scatterMultiple: "Scatter chart with {numSeries} data series.", - boxplotSingle: - "Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.", - boxplotMultiple: "Boxplot with {numSeries} data series.", - bubbleSingle: - "Bubble chart with {numPoints} {#plural(numPoints, bubbles, bubble)}.", - bubbleMultiple: "Bubble chart with {numSeries} data series.", - }, - axis: { - xAxisDescriptionSingular: - "The chart has 1 X axis displaying {names[0]}. {ranges[0]}", - xAxisDescriptionPlural: - "The chart has {numAxes} X axes displaying {#each(names, -1) }and {names[-1]}.", - yAxisDescriptionSingular: - "The chart has 1 Y axis displaying {names[0]}. {ranges[0]}", - yAxisDescriptionPlural: - "The chart has {numAxes} Y axes displaying {#each(names, -1) }and {names[-1]}.", - timeRangeDays: "Range: {range} days.", - timeRangeHours: "Range: {range} hours.", - timeRangeMinutes: "Range: {range} minutes.", - timeRangeSeconds: "Range: {range} seconds.", - rangeFromTo: "Range: {rangeFrom} to {rangeTo}.", - rangeCategories: "Range: {numCategories} categories.", - }, - exporting: { - chartMenuLabel: "Chart menu", - menuButtonLabel: "View chart menu", - exportRegionLabel: "Chart menu", - }, - series: { - summary: { - default: - "{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", - defaultCombination: - "{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", - line: "{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", - lineCombination: - "{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.", - spline: - "{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", - splineCombination: - "{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.", - column: - "{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.", - columnCombination: - "{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.", - bar: "{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.", - barCombination: - "{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.", - pie: "{name}, pie {ix} of {numSeries} with {numPoints} {#plural(numPoints, slices, slice)}.", - pieCombination: - "{name}, series {ix} of {numSeries}. Pie with {numPoints} {#plural(numPoints, slices, slice)}.", - scatter: - "{name}, scatter plot {ix} of {numSeries} with {numPoints} {#plural(numPoints, points, point)}.", - scatterCombination: - "{name}, series {ix} of {numSeries}, scatter plot with {numPoints} {#plural(numPoints, points, point)}.", - boxplot: - "{name}, boxplot {ix} of {numSeries} with {numPoints} {#plural(numPoints, boxes, box)}.", - boxplotCombination: - "{name}, series {ix} of {numSeries}. Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.", - bubble: - "{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.", - bubbleCombination: - "{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}.", - map: "{name}, map {ix} of {numSeries} with {numPoints} {#plural(numPoints, areas, area)}.", - mapCombination: - "{name}, series {ix} of {numSeries}. Map with {numPoints} {#plural(numPoints, areas, area)}.", - mapline: - "{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", - maplineCombination: - "{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.", - mapbubble: - "{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.", - mapbubbleCombination: - "{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}.", - }, - description: "{description}", - xAxisDescription: "X axis, {name}", - yAxisDescription: "Y axis, {name}", - nullPointValue: "No value", - pointAnnotationsDescription: "{Annotation: #each(annotations). }", - }, - }, - }; - }); - p( - a, - "Accessibility/Options/DeprecatedOptions.js", - [a["Core/Utilities.js"]], - function (a) { - function f(a, d, b) { - for (var c, e = 0; e < d.length - 1; ++e) - (c = d[e]), (a = a[c] = q(a[c], {})); - a[d[d.length - 1]] = b; - } - function l(a, d, b, c) { - function e(b, a) { - return a.reduce(function (b, a) { - return b[a]; - }, b); - } - var g = e(a.options, d), - l = e(a.options, b); - Object.keys(c).forEach(function (e) { - var k, - t = g[e]; - "undefined" !== typeof t && - (f(l, c[e], t), - h( - 32, - !1, - a, - ((k = {}), - (k[d.join(".") + "." + e] = b.join(".") + "." + c[e].join(".")), - k) - )); - }); - } - function m(a) { - var d = a.options.chart || {}, - b = a.options.accessibility || {}; - ["description", "typeDescription"].forEach(function (c) { - var e; - d[c] && - ((b[c] = d[c]), - h( - 32, - !1, - a, - ((e = {}), (e["chart." + c] = "use accessibility." + c), e) - )); - }); - } - function n(a) { - a.axes.forEach(function (d) { - (d = d.options) && - d.description && - ((d.accessibility = d.accessibility || {}), - (d.accessibility.description = d.description), - h(32, !1, a, { - "axis.description": "use axis.accessibility.description", - })); - }); - } - function g(a) { - var d = { - description: ["accessibility", "description"], - exposeElementToA11y: ["accessibility", "exposeAsGroupOnly"], - pointDescriptionFormatter: [ - "accessibility", - "pointDescriptionFormatter", - ], - skipKeyboardNavigation: [ - "accessibility", - "keyboardNavigation", - "enabled", - ], - }; - a.series.forEach(function (b) { - Object.keys(d).forEach(function (c) { - var e, - g = b.options[c]; - "undefined" !== typeof g && - (f(b.options, d[c], "skipKeyboardNavigation" === c ? !g : g), - h( - 32, - !1, - a, - ((e = {}), (e["series." + c] = "series." + d[c].join(".")), e) - )); - }); - }); - } - var h = a.error, - q = a.pick; - return function (a) { - m(a); - n(a); - a.series && g(a); - l(a, ["accessibility"], ["accessibility"], { - pointDateFormat: ["point", "dateFormat"], - pointDateFormatter: ["point", "dateFormatter"], - pointDescriptionFormatter: ["point", "descriptionFormatter"], - pointDescriptionThreshold: [ - "series", - "pointDescriptionEnabledThreshold", - ], - pointNavigationThreshold: [ - "keyboardNavigation", - "seriesNavigation", - "pointNavigationEnabledThreshold", - ], - pointValueDecimals: ["point", "valueDecimals"], - pointValuePrefix: ["point", "valuePrefix"], - pointValueSuffix: ["point", "valueSuffix"], - screenReaderSectionFormatter: [ - "screenReaderSection", - "beforeChartFormatter", - ], - describeSingleSeries: ["series", "describeSingleSeries"], - seriesDescriptionFormatter: ["series", "descriptionFormatter"], - onTableAnchorClick: ["screenReaderSection", "onViewDataTableClick"], - axisRangeDateFormat: ["screenReaderSection", "axisRangeDateFormat"], - }); - l( - a, - ["accessibility", "keyboardNavigation"], - ["accessibility", "keyboardNavigation", "seriesNavigation"], - { skipNullPoints: ["skipNullPoints"], mode: ["mode"] } - ); - l(a, ["lang", "accessibility"], ["lang", "accessibility"], { - legendItem: ["legend", "legendItem"], - legendLabel: ["legend", "legendLabel"], - mapZoomIn: ["zoom", "mapZoomIn"], - mapZoomOut: ["zoom", "mapZoomOut"], - resetZoomButton: ["zoom", "resetZoomButton"], - screenReaderRegionLabel: ["screenReaderSection", "beforeRegionLabel"], - rangeSelectorButton: ["rangeSelector", "buttonText"], - rangeSelectorMaxInput: ["rangeSelector", "maxInputLabel"], - rangeSelectorMinInput: ["rangeSelector", "minInputLabel"], - svgContainerEnd: ["screenReaderSection", "endOfChartMarker"], - viewAsDataTable: ["table", "viewAsDataTableButtonText"], - tableSummary: ["table", "tableSummary"], - }); - }; - } - ); - p( - a, - "Accessibility/A11yI18n.js", - [a["Core/Globals.js"], a["Core/Utilities.js"]], - function (a, f) { - function l(a, f) { - var g = a.indexOf("#each("), - e = a.indexOf("#plural("), - d = a.indexOf("["), - b = a.indexOf("]"); - if (-1 < g) { - d = a.slice(g).indexOf(")") + g; - var c = a.substring(0, g); - e = a.substring(d + 1); - d = a.substring(g + 6, d).split(","); - g = Number(d[1]); - a = ""; - if ((f = f[d[0]])) - for ( - g = isNaN(g) ? f.length : g, - g = 0 > g ? f.length + g : Math.min(g, f.length), - d = 0; - d < g; - ++d - ) - a += c + f[d] + e; - return a.length ? a : ""; - } - if (-1 < e) { - c = a.slice(e).indexOf(")") + e; - a = a.substring(e + 8, c).split(","); - switch (Number(f[a[0]])) { - case 0: - a = n(a[4], a[1]); - break; - case 1: - a = n(a[2], a[1]); - break; - case 2: - a = n(a[3], a[1]); - break; - default: - a = a[1]; - } - a - ? ((f = a), - (f = (f.trim && f.trim()) || f.replace(/^\s+|\s+$/g, ""))) - : (f = ""); - return f; - } - return -1 < d - ? ((e = a.substring(0, d)), - (a = Number(a.substring(d + 1, b))), - (f = f[e]), - !isNaN(a) && - f && - (0 > a - ? ((c = f[f.length + a]), - "undefined" === typeof c && (c = f[0])) - : ((c = f[a]), - "undefined" === typeof c && (c = f[f.length - 1]))), - "undefined" !== typeof c ? c : "") - : "{" + a + "}"; - } - var m = f.format, - n = f.pick; - a.i18nFormat = function (a, f, n) { - var e = function (a, b) { - a = a.slice(b || 0); - var c = a.indexOf("{"), - d = a.indexOf("}"); - if (-1 < c && d > c) - return { - statement: a.substring(c + 1, d), - begin: b + c + 1, - end: b + d, - }; - }, - d = [], - b = 0; - do { - var c = e(a, b); - var g = a.substring(b, c && c.begin - 1); - g.length && d.push({ value: g, type: "constant" }); - c && d.push({ value: c.statement, type: "statement" }); - b = c ? c.end + 1 : b + 1; - } while (c); - d.forEach(function (a) { - "statement" === a.type && (a.value = l(a.value, f)); - }); - return m( - d.reduce(function (a, b) { - return a + b.value; - }, ""), - f, - n - ); - }; - a.Chart.prototype.langFormat = function (f, h) { - f = f.split("."); - for (var g = this.options.lang, e = 0; e < f.length; ++e) - g = g && g[f[e]]; - return "string" === typeof g ? a.i18nFormat(g, h, this) : ""; - }; - } - ); - p( - a, - "Accessibility/FocusBorder.js", - [ - a["Core/Globals.js"], - a["Core/Renderer/SVG/SVGElement.js"], - a["Core/Renderer/SVG/SVGLabel.js"], - a["Core/Utilities.js"], - ], - function (a, f, l, m) { - function n(a) { - if (!a.focusBorderDestroyHook) { - var b = a.destroy; - a.destroy = function () { - var c, d; - null === - (d = - null === (c = a.focusBorder) || void 0 === c - ? void 0 - : c.destroy) || void 0 === d - ? void 0 - : d.call(c); - return b.apply(a, arguments); - }; - a.focusBorderDestroyHook = b; - } - } - function g(a) { - for (var c = [], d = 1; d < arguments.length; d++) - c[d - 1] = arguments[d]; - a.focusBorderUpdateHooks || - ((a.focusBorderUpdateHooks = {}), - b.forEach(function (b) { - b += "Setter"; - var d = a[b] || a._defaultSetter; - a.focusBorderUpdateHooks[b] = d; - a[b] = function () { - var b = d.apply(a, arguments); - a.addFocusBorder.apply(a, c); - return b; - }; - })); - } - function h(a) { - a.focusBorderUpdateHooks && - (Object.keys(a.focusBorderUpdateHooks).forEach(function (b) { - var c = a.focusBorderUpdateHooks[b]; - c === a._defaultSetter ? delete a[b] : (a[b] = c); - }), - delete a.focusBorderUpdateHooks); - } - var q = m.addEvent, - e = m.extend, - d = m.pick, - b = "x y transform width height r d stroke-width".split(" "); - e(f.prototype, { - addFocusBorder: function (b, e) { - this.focusBorder && this.removeFocusBorder(); - var c = this.getBBox(), - f = d(b, 3); - c.x += this.translateX ? this.translateX : 0; - c.y += this.translateY ? this.translateY : 0; - var h = c.x - f, - k = c.y - f, - m = c.width + 2 * f, - q = c.height + 2 * f, - p = this instanceof l; - if ("text" === this.element.nodeName || p) { - var u = !!this.rotation; - if (p) var x = { x: u ? 1 : 0, y: 0 }; - else - (h = x = 0), - "middle" === this.attr("text-anchor") - ? ((x = a.isFirefox && this.rotation ? 0.25 : 0.5), - (h = a.isFirefox && !this.rotation ? 0.75 : 0.5)) - : this.rotation - ? (x = 0.25) - : (h = 0.75), - (x = { x: x, y: h }); - h = +this.attr("x") - c.width * x.x - f; - k = +this.attr("y") - c.height * x.y - f; - p && - u && - ((p = m), - (m = q), - (q = p), - (h = +this.attr("x") - c.height * x.x - f), - (k = +this.attr("y") - c.width * x.y - f)); - } - this.focusBorder = this.renderer - .rect( - h, - k, - m, - q, - parseInt(((e && e.borderRadius) || 0).toString(), 10) - ) - .addClass("highcharts-focus-border") - .attr({ zIndex: 99 }) - .add(this.parentGroup); - this.renderer.styledMode || - this.focusBorder.attr({ - stroke: e && e.stroke, - "stroke-width": e && e.strokeWidth, - }); - g(this, b, e); - n(this); - }, - removeFocusBorder: function () { - h(this); - this.focusBorderDestroyHook && - ((this.destroy = this.focusBorderDestroyHook), - delete this.focusBorderDestroyHook); - this.focusBorder && - (this.focusBorder.destroy(), delete this.focusBorder); - }, - }); - a.Chart.prototype.renderFocusBorder = function () { - var a = this.focusElement, - b = this.options.accessibility.keyboardNavigation.focusBorder; - a && - (a.removeFocusBorder(), - b.enabled && - a.addFocusBorder(b.margin, { - stroke: b.style.color, - strokeWidth: b.style.lineWidth, - borderRadius: b.style.borderRadius, - })); - }; - a.Chart.prototype.setFocusToElement = function (a, b) { - var c = this.options.accessibility.keyboardNavigation.focusBorder; - (b = b || a.element) && - b.focus && - ((b.hcEvents && b.hcEvents.focusin) || - q(b, "focusin", function () {}), - b.focus(), - c.hideBrowserFocusOutline && (b.style.outline = "none")); - this.focusElement && this.focusElement.removeFocusBorder(); - this.focusElement = a; - this.renderFocusBorder(); - }; - } - ); - p( - a, - "Accessibility/Accessibility.js", - [ - a["Accessibility/Utils/ChartUtilities.js"], - a["Core/Globals.js"], - a["Accessibility/KeyboardNavigationHandler.js"], - a["Core/Series/CartesianSeries.js"], - a["Core/Options.js"], - a["Core/Series/Point.js"], - a["Core/Utilities.js"], - a["Accessibility/AccessibilityComponent.js"], - a["Accessibility/KeyboardNavigation.js"], - a["Accessibility/Components/LegendComponent.js"], - a["Accessibility/Components/MenuComponent.js"], - a["Accessibility/Components/SeriesComponent/SeriesComponent.js"], - a["Accessibility/Components/ZoomComponent.js"], - a["Accessibility/Components/RangeSelectorComponent.js"], - a["Accessibility/Components/InfoRegionsComponent.js"], - a["Accessibility/Components/ContainerComponent.js"], - a["Accessibility/HighContrastMode.js"], - a["Accessibility/HighContrastTheme.js"], - a["Accessibility/Options/Options.js"], - a["Accessibility/Options/LangOptions.js"], - a["Accessibility/Options/DeprecatedOptions.js"], - ], - function (a, f, l, m, n, g, h, p, e, d, b, c, k, t, v, w, H, A, D, y, z) { - function q(a) { - this.init(a); - } - var r = f.doc, - u = h.addEvent, - F = h.extend, - B = h.fireEvent, - E = h.merge; - E(!0, n.defaultOptions, D, { - accessibility: { highContrastTheme: A }, - lang: y, - }); - f.A11yChartUtilities = a; - f.KeyboardNavigationHandler = l; - f.AccessibilityComponent = p; - q.prototype = { - init: function (a) { - this.chart = a; - r.addEventListener && a.renderer.isSVG - ? (z(a), - this.initComponents(), - (this.keyboardNavigation = new e(a, this.components)), - this.update()) - : a.renderTo.setAttribute("aria-hidden", !0); - }, - initComponents: function () { - var a = this.chart, - e = a.options.accessibility; - this.components = { - container: new w(), - infoRegions: new v(), - legend: new d(), - chartMenu: new b(), - rangeSelector: new t(), - series: new c(), - zoom: new k(), - }; - e.customComponents && F(this.components, e.customComponents); - var f = this.components; - this.getComponentOrder().forEach(function (b) { - f[b].initBase(a); - f[b].init(); - }); - }, - getComponentOrder: function () { - if (!this.components) return []; - if (!this.components.series) return Object.keys(this.components); - var a = Object.keys(this.components).filter(function (a) { - return "series" !== a; - }); - return ["series"].concat(a); - }, - update: function () { - var a = this.components, - b = this.chart, - c = b.options.accessibility; - B(b, "beforeA11yUpdate"); - b.types = this.getChartTypes(); - this.getComponentOrder().forEach(function (c) { - a[c].onChartUpdate(); - B(b, "afterA11yComponentUpdate", { name: c, component: a[c] }); - }); - this.keyboardNavigation.update(c.keyboardNavigation.order); - !b.highContrastModeActive && - H.isHighContrastModeActive() && - H.setHighContrastTheme(b); - B(b, "afterA11yUpdate", { accessibility: this }); - }, - destroy: function () { - var a = this.chart || {}, - b = this.components; - Object.keys(b).forEach(function (a) { - b[a].destroy(); - b[a].destroyBase(); - }); - this.keyboardNavigation && this.keyboardNavigation.destroy(); - a.renderTo && a.renderTo.setAttribute("aria-hidden", !0); - a.focusElement && a.focusElement.removeFocusBorder(); - }, - getChartTypes: function () { - var a = {}; - this.chart.series.forEach(function (b) { - a[b.type] = 1; - }); - return Object.keys(a); - }, - }; - f.Chart.prototype.updateA11yEnabled = function () { - var a = this.accessibility, - b = this.options.accessibility; - b && b.enabled - ? a - ? a.update() - : (this.accessibility = new q(this)) - : a - ? (a.destroy && a.destroy(), delete this.accessibility) - : this.renderTo.setAttribute("aria-hidden", !0); - }; - u(f.Chart, "render", function (a) { - this.a11yDirty && - this.renderTo && - (delete this.a11yDirty, this.updateA11yEnabled()); - var b = this.accessibility; - b && - b.getComponentOrder().forEach(function (a) { - b.components[a].onChartRender(); - }); - }); - u(f.Chart, "update", function (a) { - if ((a = a.options.accessibility)) - a.customComponents && - ((this.options.accessibility.customComponents = a.customComponents), - delete a.customComponents), - E(!0, this.options.accessibility, a), - this.accessibility && - this.accessibility.destroy && - (this.accessibility.destroy(), delete this.accessibility); - this.a11yDirty = !0; - }); - u(g, "update", function () { - this.series.chart.accessibility && (this.series.chart.a11yDirty = !0); - }); - ["addSeries", "init"].forEach(function (a) { - u(f.Chart, a, function () { - this.a11yDirty = !0; - }); - }); - ["update", "updatedData", "remove"].forEach(function (a) { - u(m, a, function () { - this.chart.accessibility && (this.chart.a11yDirty = !0); - }); - }); - ["afterDrilldown", "drillupall"].forEach(function (a) { - u(f.Chart, a, function () { - this.accessibility && this.accessibility.update(); - }); - }); - u(f.Chart, "destroy", function () { - this.accessibility && this.accessibility.destroy(); - }); - } - ); - p(a, "masters/modules/accessibility.src.js", [], function () {}); -}); -//# sourceMappingURL=accessibility.js.map +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(p){a(p);a.Highcharts=p;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function p(a,f,l,m){a.hasOwnProperty(f)||(a[f]=m.apply(null,l))}a=a?a._modules:{};p(a,"Accessibility/Utils/HTMLUtilities.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,f){function u(a){return a.replace(/&/g, +"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}var m=a.doc,n=a.win,g=f.merge;return{addClass:function(a,g){a.classList?a.classList.add(g):0>a.className.indexOf(g)&&(a.className+=g)},escapeStringForHTML:u,getElement:function(a){return m.getElementById(a)},getFakeMouseEvent:function(a){if("function"===typeof n.MouseEvent)return new n.MouseEvent(a);if(m.createEvent){var g=m.createEvent("MouseEvent");if(g.initMouseEvent)return g.initMouseEvent(a, +!0,!0,n,"click"===a?1:0,0,0,0,0,!1,!1,!1,!1,0,null),g}return{type:a}},removeElement:function(a){a&&a.parentNode&&a.parentNode.removeChild(a)},reverseChildNodes:function(a){for(var g=a.childNodes.length;g--;)a.appendChild(a.childNodes[g])},setElAttrs:function(a,g){Object.keys(g).forEach(function(e){var d=g[e];null===d?a.removeAttribute(e):(d=u(""+d),a.setAttribute(e,d))})},stripHTMLTagsFromString:function(a){return"string"===typeof a?a.replace(/<\/?[^>]+(>|$)/g,""):a},visuallyHideElement:function(a){g(!0, +a.style,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:"0.01"})}}});p(a,"Accessibility/Utils/ChartUtilities.js",[a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Utilities.js"]],function(a,f){function u(d){var b,c;if(null===(b=d.points)||void 0===b?0:b.length)return d=q(d.points,function(c){return!!c.graphic}),null=== +(c=null===d||void 0===d?void 0:d.graphic)||void 0===c?void 0:c.element}function m(d){var b=u(d);return b&&b.parentNode||d.graph&&d.graph.element||d.group&&d.group.element}function n(d,b){b.setAttribute("aria-hidden",!1);b!==d.renderTo&&b.parentNode&&(Array.prototype.forEach.call(b.parentNode.childNodes,function(c){c.hasAttribute("aria-hidden")||c.setAttribute("aria-hidden",!0)}),n(d,b.parentNode))}var g=a.stripHTMLTagsFromString,h=f.defined,q=f.find,e=f.fireEvent;return{getChartTitle:function(d){return g(d.options.title.text|| +d.langFormat("accessibility.defaultChartTitle",{chart:d}))},getAxisDescription:function(d){return g(d&&(d.userOptions&&d.userOptions.accessibility&&d.userOptions.accessibility.description||d.axisTitle&&d.axisTitle.textStr||d.options.id||d.categories&&"categories"||d.dateTime&&"Time"||"values"))},getPointFromXY:function(d,b,c){for(var k=d.length,t;k--;)if(t=q(d[k].points||[],function(v){return v.x===b&&v.y===c}))return t},getSeriesFirstPointElement:u,getSeriesFromName:function(d,b){return b?(d.series|| +[]).filter(function(c){return c.name===b}):d.series},getSeriesA11yElement:m,unhideChartElementFromAT:n,hideSeriesFromAT:function(d){(d=m(d))&&d.setAttribute("aria-hidden",!0)},scrollToPoint:function(d){var b=d.series.xAxis,c=d.series.yAxis,k=(null===b||void 0===b?0:b.scrollbar)?b:c;if((b=null===k||void 0===k?void 0:k.scrollbar)&&h(b.to)&&h(b.from)){c=b.to-b.from;if(h(k.dataMin)&&h(k.dataMax)){var t=k.toPixels(k.dataMin),v=k.toPixels(k.dataMax);d=(k.toPixels(d["xAxis"===k.coll?"x":"y"]||0)-t)/(v-t)}else d= +0;b.updatePosition(d-c/2,d+c/2);e(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:null})}}}});p(a,"Accessibility/KeyboardNavigationHandler.js",[a["Core/Utilities.js"]],function(a){function f(a,f){this.chart=a;this.keyCodeMap=f.keyCodeMap||[];this.validate=f.validate;this.init=f.init;this.terminate=f.terminate;this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}var u=a.find;f.prototype={run:function(a){var f=a.which||a.keyCode,g=this.response.noHandler,h=u(this.keyCodeMap,function(a){return-1< +a[0].indexOf(f)});h?g=h[1].call(this,f,a):9===f&&(g=this.response[a.shiftKey?"prev":"next"]);return g}};return f});p(a,"Accessibility/Utils/DOMElementProvider.js",[a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Utilities.js"]],function(a,f,l){var u=a.doc,n=f.removeElement;a=l.extend;f=function(){this.elements=[]};a(f.prototype,{createElement:function(){var a=u.createElement.apply(u,arguments);this.elements.push(a);return a},destroyCreatedElements:function(){this.elements.forEach(function(a){n(a)}); +this.elements=[]}});return f});p(a,"Accessibility/Utils/EventProvider.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,f){var u=f.addEvent;f=f.extend;var m=function(){this.eventRemovers=[]};f(m.prototype,{addEvent:function(){var f=u.apply(a,arguments);this.eventRemovers.push(f);return f},removeAddedEvents:function(){this.eventRemovers.forEach(function(a){a()});this.eventRemovers=[]}});return m});p(a,"Accessibility/AccessibilityComponent.js",[a["Accessibility/Utils/ChartUtilities.js"], +a["Accessibility/Utils/DOMElementProvider.js"],a["Accessibility/Utils/EventProvider.js"],a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Utilities.js"]],function(a,f,l,m,n,g){function h(){}var q=a.unhideChartElementFromAT,e=m.doc,d=m.win,b=n.removeElement,c=n.getFakeMouseEvent;a=g.extend;var k=g.fireEvent,t=g.merge;h.prototype={initBase:function(c){this.chart=c;this.eventProvider=new l;this.domElementProvider=new f;this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32, +esc:27,tab:9}},addEvent:function(){return this.eventProvider.addEvent.apply(this.eventProvider,arguments)},createElement:function(){return this.domElementProvider.createElement.apply(this.domElementProvider,arguments)},fireEventOnWrappedOrUnwrappedElement:function(c,b){var v=b.type;e.createEvent&&(c.dispatchEvent||c.fireEvent)?c.dispatchEvent?c.dispatchEvent(b):c.fireEvent(v,b):k(c,v,b)},fakeClickEvent:function(b){if(b){var v=c("click");this.fireEventOnWrappedOrUnwrappedElement(b,v)}},addProxyGroup:function(c){this.createOrUpdateProxyContainer(); +var b=this.createElement("div");Object.keys(c||{}).forEach(function(v){null!==c[v]&&b.setAttribute(v,c[v])});this.chart.a11yProxyContainer.appendChild(b);return b},createOrUpdateProxyContainer:function(){var c=this.chart,b=c.renderer.box;c.a11yProxyContainer=c.a11yProxyContainer||this.createProxyContainerElement();b.nextSibling!==c.a11yProxyContainer&&c.container.insertBefore(c.a11yProxyContainer,b.nextSibling)},createProxyContainerElement:function(){var c=e.createElement("div");c.className="highcharts-a11y-proxy-container"; +return c},createProxyButton:function(c,b,a,d,k){var v=c.element,e=this.createElement("button"),w=t({"aria-label":v.getAttribute("aria-label")},a);Object.keys(w).forEach(function(c){null!==w[c]&&e.setAttribute(c,w[c])});e.className="highcharts-a11y-proxy-button";k&&this.addEvent(e,"click",k);this.setProxyButtonStyle(e);this.updateProxyButtonPosition(e,d||c);this.proxyMouseEventsForButton(v,e);b.appendChild(e);w["aria-hidden"]||q(this.chart,e);return e},getElementPosition:function(c){var b=c.element; +return(c=this.chart.renderTo)&&b&&b.getBoundingClientRect?(b=b.getBoundingClientRect(),c=c.getBoundingClientRect(),{x:b.left-c.left,y:b.top-c.top,width:b.right-b.left,height:b.bottom-b.top}):{x:0,y:0,width:1,height:1}},setProxyButtonStyle:function(c){t(!0,c.style,{"border-width":0,"background-color":"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block", +position:"absolute"})},updateProxyButtonPosition:function(c,b){b=this.getElementPosition(b);t(!0,c.style,{width:(b.width||1)+"px",height:(b.height||1)+"px",left:(b.x||0)+"px",top:(b.y||0)+"px"})},proxyMouseEventsForButton:function(c,b){var a=this;"click touchstart touchend touchcancel touchmove mouseover mouseenter mouseleave mouseout".split(" ").forEach(function(d){var t=0===d.indexOf("touch");a.addEvent(b,d,function(b){var d=t?a.cloneTouchEvent(b):a.cloneMouseEvent(b);c&&a.fireEventOnWrappedOrUnwrappedElement(c, +d);b.stopPropagation();b.preventDefault()})})},cloneMouseEvent:function(b){if("function"===typeof d.MouseEvent)return new d.MouseEvent(b.type,b);if(e.createEvent){var a=e.createEvent("MouseEvent");if(a.initMouseEvent)return a.initMouseEvent(b.type,b.bubbles,b.cancelable,b.view||d,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget),a}return c(b.type)},cloneTouchEvent:function(b){var c=function(b){for(var c=[],a=0;a<b.length;++a){var d= +b.item(a);d&&c.push(d)}return c};if("function"===typeof d.TouchEvent)return c=new d.TouchEvent(b.type,{touches:c(b.touches),targetTouches:c(b.targetTouches),changedTouches:c(b.changedTouches),ctrlKey:b.ctrlKey,shiftKey:b.shiftKey,altKey:b.altKey,metaKey:b.metaKey,bubbles:b.bubbles,cancelable:b.cancelable,composed:b.composed,detail:b.detail,view:b.view}),b.defaultPrevented&&c.preventDefault(),c;c=this.cloneMouseEvent(b);c.touches=b.touches;c.changedTouches=b.changedTouches;c.targetTouches=b.targetTouches; +return c},destroyBase:function(){b(this.chart.a11yProxyContainer);this.domElementProvider.destroyCreatedElements();this.eventProvider.removeAddedEvents()}};a(h.prototype,{init:function(){},getKeyboardNavigation:function(){},onChartUpdate:function(){},onChartRender:function(){},destroy:function(){}});return h});p(a,"Accessibility/KeyboardNavigation.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Accessibility/Utils/EventProvider.js"]],function(a,f,l,m){function n(b, +c){this.init(b,c)}var g=a.doc,h=a.win,q=f.addEvent,e=f.fireEvent,d=l.getElement;q(g,"keydown",function(b){27===(b.which||b.keyCode)&&a.charts&&a.charts.forEach(function(b){b&&b.dismissPopupContent&&b.dismissPopupContent()})});a.Chart.prototype.dismissPopupContent=function(){var b=this;e(this,"dismissPopupContent",{},function(){b.tooltip&&b.tooltip.hide(0);b.hideExportMenu()})};n.prototype={init:function(b,c){var a=this,d=this.eventProvider=new m;this.chart=b;this.components=c;this.modules=[];this.currentModuleIx= +0;this.update();d.addEvent(this.tabindexContainer,"keydown",function(b){return a.onKeydown(b)});d.addEvent(this.tabindexContainer,"focus",function(b){return a.onFocus(b)});["mouseup","touchend"].forEach(function(b){return d.addEvent(g,b,function(){return a.onMouseUp()})});["mousedown","touchstart"].forEach(function(c){return d.addEvent(b.renderTo,c,function(){a.isClickingChart=!0})});d.addEvent(b.renderTo,"mouseover",function(){a.pointerIsOverChart=!0});d.addEvent(b.renderTo,"mouseout",function(){a.pointerIsOverChart= +!1});this.modules.length&&this.modules[0].init(1)},update:function(b){var c=this.chart.options.accessibility;c=c&&c.keyboardNavigation;var a=this.components;this.updateContainerTabindex();c&&c.enabled&&b&&b.length?(this.modules=b.reduce(function(b,c){c=a[c].getKeyboardNavigation();return b.concat(c)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())},onFocus:function(b){var c,a=this.chart;b=b.relatedTarget&&a.container.contains(b.relatedTarget);this.isClickingChart|| +b||(null===(c=this.modules[0])||void 0===c?void 0:c.init(1))},onMouseUp:function(){delete this.isClickingChart;if(!this.keyboardReset&&!this.pointerIsOverChart){var b=this.chart,c=this.modules&&this.modules[this.currentModuleIx||0];c&&c.terminate&&c.terminate();b.focusElement&&b.focusElement.removeFocusBorder();this.currentModuleIx=0;this.keyboardReset=!0}},onKeydown:function(b){b=b||h.event;var c,a=this.modules&&this.modules.length&&this.modules[this.currentModuleIx];this.keyboardReset=!1;if(a){var d= +a.run(b);d===a.response.success?c=!0:d===a.response.prev?c=this.prev():d===a.response.next&&(c=this.next());c&&(b.preventDefault(),b.stopPropagation())}},prev:function(){return this.move(-1)},next:function(){return this.move(1)},move:function(b){var c=this.modules&&this.modules[this.currentModuleIx];c&&c.terminate&&c.terminate(b);this.chart.focusElement&&this.chart.focusElement.removeFocusBorder();this.currentModuleIx+=b;if(c=this.modules&&this.modules[this.currentModuleIx]){if(c.validate&&!c.validate())return this.move(b); +if(c.init)return c.init(b),!0}this.currentModuleIx=0;0<b?(this.exiting=!0,this.exitAnchor.focus()):this.tabindexContainer.focus();return!1},updateExitAnchor:function(){var b=d("highcharts-end-of-chart-marker-"+this.chart.index);this.removeExitAnchor();b?(this.makeElementAnExitAnchor(b),this.exitAnchor=b):this.createExitAnchor()},updateContainerTabindex:function(){var b=this.chart.options.accessibility;b=b&&b.keyboardNavigation;b=!(b&&!1===b.enabled);var c=this.chart,a=c.container;c.renderTo.hasAttribute("tabindex")&& +(a.removeAttribute("tabindex"),a=c.renderTo);this.tabindexContainer=a;var d=a.getAttribute("tabindex");b&&!d?a.setAttribute("tabindex","0"):b||c.container.removeAttribute("tabindex")},makeElementAnExitAnchor:function(b){var c=this.tabindexContainer.getAttribute("tabindex")||0;b.setAttribute("class","highcharts-exit-anchor");b.setAttribute("tabindex",c);b.setAttribute("aria-hidden",!1);this.addExitAnchorEventsToEl(b)},createExitAnchor:function(){var b=this.chart,c=this.exitAnchor=g.createElement("div"); +b.renderTo.appendChild(c);this.makeElementAnExitAnchor(c)},removeExitAnchor:function(){this.exitAnchor&&this.exitAnchor.parentNode&&(this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor)},addExitAnchorEventsToEl:function(b){var c=this.chart,a=this;this.eventProvider.addEvent(b,"focus",function(b){b=b||h.event;b.relatedTarget&&c.container.contains(b.relatedTarget)||a.exiting?a.exiting=!1:(a.tabindexContainer.focus(),b.preventDefault(),a.modules&&a.modules.length&&(a.currentModuleIx= +a.modules.length-1,(b=a.modules[a.currentModuleIx])&&b.validate&&!b.validate()?a.prev():b&&b.init(-1)))})},destroy:function(){this.removeExitAnchor();this.eventProvider.removeAddedEvents();this.chart.container.removeAttribute("tabindex")}};return n});p(a,"Accessibility/Components/LegendComponent.js",[a["Core/Globals.js"],a["Core/Legend.js"],a["Core/Utilities.js"],a["Accessibility/AccessibilityComponent.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Accessibility/Utils/HTMLUtilities.js"]], +function(a,f,l,m,n,g){function h(b){var c=b.legend&&b.legend.allItems,a=b.options.legend.accessibility||{};return!(!c||!c.length||b.colorAxis&&b.colorAxis.length||!1===a.enabled)}var q=l.addEvent,e=l.extend,d=l.find,b=l.fireEvent,c=g.stripHTMLTagsFromString,k=g.removeElement;a.Chart.prototype.highlightLegendItem=function(c){var a=this.legend.allItems,d=this.highlightedLegendItemIx;if(a[c]){a[d]&&b(a[d].legendGroup.element,"mouseout");d=this.legend;var k=d.allItems[c].pageIx,t=d.currentPage;"undefined"!== +typeof k&&k+1!==t&&d.scroll(1+k-t);this.setFocusToElement(a[c].legendItem,a[c].a11yProxyElement);b(a[c].legendGroup.element,"mouseover");return!0}return!1};q(f,"afterColorizeItem",function(b){var c=b.item;this.chart.options.accessibility.enabled&&c&&c.a11yProxyElement&&c.a11yProxyElement.setAttribute("aria-pressed",b.visible?"false":"true")});a=function(){};a.prototype=new m;e(a.prototype,{init:function(){var b=this;this.proxyElementsList=[];this.recreateProxies();this.addEvent(f,"afterScroll",function(){this.chart=== +b.chart&&(b.updateProxiesPositions(),b.updateLegendItemProxyVisibility(),this.chart.highlightLegendItem(b.highlightedLegendItemIx))});this.addEvent(f,"afterPositionItem",function(c){this.chart===b.chart&&this.chart.renderer&&b.updateProxyPositionForItem(c.item)})},updateLegendItemProxyVisibility:function(){var b=this.chart.legend,c=b.currentPage||1,a=b.clipHeight||0;(b.allItems||[]).forEach(function(d){var k=d.pageIx||0,t=d._legendItemPos?d._legendItemPos[1]:0,e=d.legendItem?Math.round(d.legendItem.getBBox().height): +0;k=t+e-b.pages[k]>a||k!==c-1;d.a11yProxyElement&&(d.a11yProxyElement.style.visibility=k?"hidden":"visible")})},onChartRender:function(){h(this.chart)?this.updateProxiesPositions():this.removeProxies()},updateProxiesPositions:function(){for(var b=0,c=this.proxyElementsList;b<c.length;b++){var a=c[b];this.updateProxyButtonPosition(a.element,a.posElement)}},updateProxyPositionForItem:function(b){var c=d(this.proxyElementsList,function(c){return c.item===b});c&&this.updateProxyButtonPosition(c.element, +c.posElement)},recreateProxies:function(){this.removeProxies();h(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility())},removeProxies:function(){k(this.legendProxyGroup);this.proxyElementsList=[]},addLegendProxyGroup:function(){var b=this.chart.options.accessibility,c=this.chart.langFormat("accessibility.legend.legendLabel",{});this.legendProxyGroup=this.addProxyGroup({"aria-label":c,role:"all"===b.landmarkVerbosity?"region":null})},proxyLegendItems:function(){var b= +this;(this.chart.legend&&this.chart.legend.allItems||[]).forEach(function(c){c.legendItem&&c.legendItem.element&&b.proxyLegendItem(c)})},proxyLegendItem:function(b){if(b.legendItem&&b.legendGroup){var a=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:c(b.name)}),d=b.legendGroup.div?b.legendItem:b.legendGroup;b.a11yProxyElement=this.createProxyButton(b.legendItem,this.legendProxyGroup,{tabindex:-1,"aria-pressed":!b.visible,"aria-label":a},d);this.proxyElementsList.push({item:b, +element:b.a11yProxyElement,posElement:d})}},getKeyboardNavigation:function(){var b=this.keyCodes,c=this;return new n(this.chart,{keyCodeMap:[[[b.left,b.right,b.up,b.down],function(b){return c.onKbdArrowKey(this,b)}],[[b.enter,b.space],function(){return c.onKbdClick(this)}]],validate:function(){return c.shouldHaveLegendNavigation()},init:function(b){return c.onKbdNavigationInit(b)}})},onKbdArrowKey:function(b,c){var a=this.keyCodes,d=b.response,k=this.chart,e=k.options.accessibility,t=k.legend.allItems.length; +c=c===a.left||c===a.up?-1:1;return k.highlightLegendItem(this.highlightedLegendItemIx+c)?(this.highlightedLegendItemIx+=c,d.success):1<t&&e.keyboardNavigation.wrapAround?(b.init(c),d.success):d[0<c?"next":"prev"]},onKbdClick:function(c){var a=this.chart.legend.allItems[this.highlightedLegendItemIx];a&&a.a11yProxyElement&&b(a.a11yProxyElement,"click");return c.response.success},shouldHaveLegendNavigation:function(){var b=this.chart,c=b.colorAxis&&b.colorAxis.length,a=(b.options.legend||{}).accessibility|| +{};return!!(b.legend&&b.legend.allItems&&b.legend.display&&!c&&a.enabled&&a.keyboardNavigation&&a.keyboardNavigation.enabled)},onKbdNavigationInit:function(b){var c=this.chart,a=c.legend.allItems.length-1;b=0<b?0:a;c.highlightLegendItem(b);this.highlightedLegendItemIx=b}});return a});p(a,"Accessibility/Components/MenuComponent.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Accessibility/AccessibilityComponent.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Accessibility/Utils/ChartUtilities.js"], +a["Accessibility/Utils/HTMLUtilities.js"]],function(a,f,l,m,n,g){function h(b){return b.exportSVGElements&&b.exportSVGElements[0]}f=f.extend;var q=n.unhideChartElementFromAT,e=g.removeElement,d=g.getFakeMouseEvent;a.Chart.prototype.showExportMenu=function(){var b=h(this);if(b&&(b=b.element,b.onclick))b.onclick(d("click"))};a.Chart.prototype.hideExportMenu=function(){var b=this.exportDivElements;b&&this.exportContextMenu&&(b.forEach(function(b){if("highcharts-menu-item"===b.className&&b.onmouseout)b.onmouseout(d("mouseout"))}), +this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())};a.Chart.prototype.highlightExportItem=function(b){var c=this.exportDivElements&&this.exportDivElements[b],a=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];if(c&&"LI"===c.tagName&&(!c.children||!c.children.length)){var e=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;c.focus&&e&&c.focus();if(a&&a.onmouseout)a.onmouseout(d("mouseout"));if(c.onmouseover)c.onmouseover(d("mouseover")); +this.highlightedExportItemIx=b;return!0}return!1};a.Chart.prototype.highlightLastExportItem=function(){var b;if(this.exportDivElements)for(b=this.exportDivElements.length;b--;)if(this.highlightExportItem(b))return!0;return!1};a=function(){};a.prototype=new l;f(a.prototype,{init:function(){var b=this.chart,c=this;this.addEvent(b,"exportMenuShown",function(){c.onMenuShown()});this.addEvent(b,"exportMenuHidden",function(){c.onMenuHidden()})},onMenuHidden:function(){var b=this.chart.exportContextMenu; +b&&b.setAttribute("aria-hidden","true");this.isExportMenuShown=!1;this.setExportButtonExpandedState("false")},onMenuShown:function(){var b=this.chart,c=b.exportContextMenu;c&&(this.addAccessibleContextMenuAttribs(),q(b,c));this.isExportMenuShown=!0;this.setExportButtonExpandedState("true")},setExportButtonExpandedState:function(b){var c=this.exportButtonProxy;c&&c.setAttribute("aria-expanded",b)},onChartRender:function(){var b=this.chart,c=b.options.accessibility;e(this.exportProxyGroup);var a=b.options.exporting, +d=h(b);a&&!1!==a.enabled&&a.accessibility&&a.accessibility.enabled&&d&&d.element&&(this.exportProxyGroup=this.addProxyGroup("all"===c.landmarkVerbosity?{"aria-label":b.langFormat("accessibility.exporting.exportRegionLabel",{chart:b}),role:"region"}:{}),c=h(this.chart),this.exportButtonProxy=this.createProxyButton(c,this.exportProxyGroup,{"aria-label":b.langFormat("accessibility.exporting.menuButtonLabel",{chart:b}),"aria-expanded":"false"}))},addAccessibleContextMenuAttribs:function(){var b=this.chart, +c=b.exportDivElements;c&&c.length&&(c.forEach(function(b){"LI"!==b.tagName||b.children&&b.children.length?b.setAttribute("aria-hidden","true"):b.setAttribute("tabindex",-1)}),c=c[0].parentNode,c.removeAttribute("aria-hidden"),c.setAttribute("aria-label",b.langFormat("accessibility.exporting.chartMenuLabel",{chart:b})))},getKeyboardNavigation:function(){var b=this.keyCodes,c=this.chart,a=this;return new m(c,{keyCodeMap:[[[b.left,b.up],function(){return a.onKbdPrevious(this)}],[[b.right,b.down],function(){return a.onKbdNext(this)}], +[[b.enter,b.space],function(){return a.onKbdClick(this)}]],validate:function(){return c.exportChart&&!1!==c.options.exporting.enabled&&!1!==c.options.exporting.accessibility.enabled},init:function(){var b=a.exportButtonProxy,d=c.exportingGroup;d&&b&&c.setFocusToElement(d,b)},terminate:function(){c.hideExportMenu()}})},onKbdPrevious:function(b){var c=this.chart,a=c.options.accessibility;b=b.response;for(var d=c.highlightedExportItemIx||0;d--;)if(c.highlightExportItem(d))return b.success;return a.keyboardNavigation.wrapAround? +(c.highlightLastExportItem(),b.success):b.prev},onKbdNext:function(b){var c=this.chart,a=c.options.accessibility;b=b.response;for(var d=(c.highlightedExportItemIx||0)+1;d<c.exportDivElements.length;++d)if(c.highlightExportItem(d))return b.success;return a.keyboardNavigation.wrapAround?(c.highlightExportItem(0),b.success):b.next},onKbdClick:function(b){var c=this.chart,a=c.exportDivElements[c.highlightedExportItemIx],d=h(c).element;this.isExportMenuShown?this.fakeClickEvent(a):(this.fakeClickEvent(d), +c.highlightExportItem(0));return b.response.success}});return a});p(a,"Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js",[a["Core/Series/Series.js"],a["Core/Series/CartesianSeries.js"],a["Core/Chart/Chart.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Accessibility/Utils/EventProvider.js"],a["Accessibility/Utils/ChartUtilities.js"]],function(a,f,l,m,n,g,h,q){function e(b){var c=b.index,a=b.series.points,d=a.length;if(a[c]!== +b)for(;d--;){if(a[d]===b)return d}else return c}function d(b){var c=b.chart.options.accessibility.keyboardNavigation.seriesNavigation,a=b.options.accessibility||{},d=a.keyboardNavigation;return d&&!1===d.enabled||!1===a.enabled||!1===b.options.enableMouseTracking||!b.visible||c.pointNavigationEnabledThreshold&&c.pointNavigationEnabledThreshold<=b.points.length}function b(b){var c=b.series.chart.options.accessibility;return b.isNull&&c.keyboardNavigation.seriesNavigation.skipNullPoints||!1===b.visible|| +d(b.series)}function c(b,c,a,d){var r=Infinity,e=c.points.length,k=function(b){return!(w(b.plotX)&&w(b.plotY))};if(!k(b)){for(;e--;){var g=c.points[e];if(!k(g)&&(g=(b.plotX-g.plotX)*(b.plotX-g.plotX)*(a||1)+(b.plotY-g.plotY)*(b.plotY-g.plotY)*(d||1),g<r)){r=g;var h=e}}return w(h)?c.points[h]:void 0}}function k(b){var c=!1;delete b.highlightedPoint;return c=b.series.reduce(function(b,c){return b||c.highlightFirstValidPoint()},!1)}function t(b,c){this.keyCodes=c;this.chart=b}var v=a.seriesTypes,w=n.defined; +a=n.extend;var u=q.getPointFromXY,A=q.getSeriesFromName,p=q.scrollToPoint;f.prototype.keyboardMoveVertical=!0;["column","pie"].forEach(function(b){v[b]&&(v[b].prototype.keyboardMoveVertical=!1)});m.prototype.highlight=function(){var b=this.series.chart;if(this.isNull)b.tooltip&&b.tooltip.hide(0);else this.onMouseOver();p(this);this.graphic&&b.setFocusToElement(this.graphic);b.highlightedPoint=this;return this};l.prototype.highlightAdjacentPoint=function(c){var a=this.series,k=this.highlightedPoint, +r=k&&e(k)||0,g=k&&k.series.points,h=this.series&&this.series[this.series.length-1];h=h&&h.points&&h.points[h.points.length-1];if(!a[0]||!a[0].points)return!1;if(k){if(a=a[k.series.index+(c?1:-1)],r=g[r+(c?1:-1)],!r&&a&&(r=a.points[c?0:a.points.length-1]),!r)return!1}else r=c?a[0].points[0]:h;return b(r)?(a=r.series,d(a)?this.highlightedPoint=c?a.points[a.points.length-1]:a.points[0]:this.highlightedPoint=r,this.highlightAdjacentPoint(c)):r.highlight()};f.prototype.highlightFirstValidPoint=function(){var c= +this.chart.highlightedPoint,a=(c&&c.series)===this?e(c):0;c=this.points;var d=c.length;if(c&&d){for(var r=a;r<d;++r)if(!b(c[r]))return c[r].highlight();for(;0<=a;--a)if(!b(c[a]))return c[a].highlight()}return!1};l.prototype.highlightAdjacentSeries=function(b){var a,k=this.highlightedPoint;var r=(a=this.series&&this.series[this.series.length-1])&&a.points&&a.points[a.points.length-1];if(!this.highlightedPoint)return a=b?this.series&&this.series[0]:a,(r=b?a&&a.points&&a.points[0]:r)?r.highlight():!1; +a=this.series[k.series.index+(b?-1:1)];if(!a)return!1;r=c(k,a,4);if(!r)return!1;if(d(a))return r.highlight(),b=this.highlightAdjacentSeries(b),b?b:(k.highlight(),!1);r.highlight();return r.series.highlightFirstValidPoint()};l.prototype.highlightAdjacentPointVertical=function(c){var a=this.highlightedPoint,k=Infinity,r;if(!w(a.plotX)||!w(a.plotY))return!1;this.series.forEach(function(e){d(e)||e.points.forEach(function(d){if(w(d.plotY)&&w(d.plotX)&&d!==a){var g=d.plotY-a.plotY,h=Math.abs(d.plotX-a.plotX); +h=Math.abs(g)*Math.abs(g)+h*h*4;e.yAxis&&e.yAxis.reversed&&(g*=-1);!(0>=g&&c||0<=g&&!c||5>h||b(d))&&h<k&&(k=h,r=d)}})});return r?r.highlight():!1};a(t.prototype,{init:function(){var b=this,c=this.chart,a=this.eventProvider=new h;a.addEvent(f,"destroy",function(){return b.onSeriesDestroy(this)});a.addEvent(c,"afterDrilldown",function(){k(this);this.focusElement&&this.focusElement.removeFocusBorder()});a.addEvent(c,"drilldown",function(c){c=c.point;var a=c.series;b.lastDrilledDownPoint={x:c.x,y:c.y, +seriesName:a?a.name:""}});a.addEvent(c,"drillupall",function(){setTimeout(function(){b.onDrillupAll()},10)})},onDrillupAll:function(){var b=this.lastDrilledDownPoint,c=this.chart,a=b&&A(c,b.seriesName),d;b&&a&&w(b.x)&&w(b.y)&&(d=u(a,b.x,b.y));c.container&&c.container.focus();d&&d.highlight&&d.highlight();c.focusElement&&c.focusElement.removeFocusBorder()},getKeyboardNavigationHandler:function(){var b=this,c=this.keyCodes,a=this.chart,d=a.inverted;return new g(a,{keyCodeMap:[[d?[c.up,c.down]:[c.left, +c.right],function(c){return b.onKbdSideways(this,c)}],[d?[c.left,c.right]:[c.up,c.down],function(c){return b.onKbdVertical(this,c)}],[[c.enter,c.space],function(){a.highlightedPoint&&a.highlightedPoint.firePointEvent("click");return this.response.success}]],init:function(c){return b.onHandlerInit(this,c)},terminate:function(){return b.onHandlerTerminate()}})},onKbdSideways:function(b,c){var a=this.keyCodes;return this.attemptHighlightAdjacentPoint(b,c===a.right||c===a.down)},onKbdVertical:function(b, +c){var a=this.chart,d=this.keyCodes;c=c===d.down||c===d.right;d=a.options.accessibility.keyboardNavigation.seriesNavigation;if(d.mode&&"serialize"===d.mode)return this.attemptHighlightAdjacentPoint(b,c);a[a.highlightedPoint&&a.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries"](c);return b.response.success},onHandlerInit:function(b,c){var a=this.chart;if(0<c)k(a);else{c=a.series.length;for(var d;c--&&!(a.highlightedPoint=a.series[c].points[a.series[c].points.length- +1],d=a.series[c].highlightFirstValidPoint()););}return b.response.success},onHandlerTerminate:function(){var b,c,a=this.chart,d=a.highlightedPoint;null===(b=a.tooltip)||void 0===b?void 0:b.hide(0);null===(c=null===d||void 0===d?void 0:d.onMouseOut)||void 0===c?void 0:c.call(d);delete a.highlightedPoint},attemptHighlightAdjacentPoint:function(b,c){var a=this.chart,d=a.options.accessibility.keyboardNavigation.wrapAround;return a.highlightAdjacentPoint(c)?b.response.success:d?b.init(c?1:-1):b.response[c? +"next":"prev"]},onSeriesDestroy:function(b){var c=this.chart;c.highlightedPoint&&c.highlightedPoint.series===b&&(delete c.highlightedPoint,c.focusElement&&c.focusElement.removeFocusBorder())},destroy:function(){this.eventProvider.removeAddedEvents()}});return t});p(a,"Accessibility/Components/AnnotationsA11y.js",[a["Accessibility/Utils/HTMLUtilities.js"]],function(a){function f(a){return(a.annotations||[]).reduce(function(a,d){var b;!1!==(null===(b=d.options)||void 0===b?void 0:b.visible)&&(a=a.concat(d.labels)); +return a},[])}function l(a){var e,d,b,c,k=null===(d=null===(e=a.options)||void 0===e?void 0:e.accessibility)||void 0===d?void 0:d.description;return k?k:(null===(c=null===(b=a.graphic)||void 0===b?void 0:b.text)||void 0===c?void 0:c.textStr)||""}function m(a){var e,d,b=null===(d=null===(e=a.options)||void 0===e?void 0:e.accessibility)||void 0===d?void 0:d.description;if(b)return b;e=a.chart;d=l(a);b=a.points.filter(function(b){return!!b.graphic}).map(function(b){var c,a;if(!(a=null===(c=null===b|| +void 0===b?void 0:b.accessibility)||void 0===c?void 0:c.valueDescription)){var d,e;a=(null===(e=null===(d=null===b||void 0===b?void 0:b.graphic)||void 0===d?void 0:d.element)||void 0===e?void 0:e.getAttribute("aria-label"))||""}b=(null===b||void 0===b?void 0:b.series.name)||"";return(b?b+", ":"")+"data point "+a}).filter(function(b){return!!b});var c=b.length;a="accessibility.screenReaderSection.annotations.description"+(1<c?"MultiplePoints":c?"SinglePoint":"NoPoints");d={annotationText:d,numPoints:c, +annotationPoint:b[0],additionalAnnotationPoints:b.slice(1)};return e.langFormat(a,d)}function n(a){return f(a).map(function(a){return(a=g(h(m(a))))?"<li>"+a+"</li>":""})}var g=a.escapeStringForHTML,h=a.stripHTMLTagsFromString;return{getAnnotationsInfoHTML:function(a){var e=a.annotations;return e&&e.length?"<ul>"+n(a).join(" ")+"</ul>":""},getAnnotationLabelDescription:m,getAnnotationListItems:n,getPointAnnotationTexts:function(a){var e=f(a.series.chart).filter(function(d){return-1<d.points.indexOf(a)}); +return e.length?e.map(function(a){return""+l(a)}):[]}}});p(a,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[a["Accessibility/Components/AnnotationsA11y.js"],a["Accessibility/Utils/ChartUtilities.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Tooltip.js"],a["Core/Utilities.js"]],function(a,f,l,m,n){function g(b){var c=b.index;return b.series&&b.series.data&&G(c)?K(b.series.data,function(b){return!!(b&&"undefined"!==typeof b.index&&b.index>c&&b.graphic&&b.graphic.element)})|| +null:null}function h(b){var c=b.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==c&&b.points&&b.points.length>=c)}function q(b){var c=b.options.accessibility||{};return!h(b)&&!c.exposeAsGroupOnly}function e(b){var c=b.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!b.points||!(b.points.length<c.pointNavigationEnabledThreshold||!1===c.pointNavigationEnabledThreshold))}function d(b,c){var a=b.series.chart,d=a.options.accessibility.point||{}; +b=b.series.tooltipOptions||{};a=a.options.lang;return L(c)?M(c,d.valueDecimals||b.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):c}function b(b){var c=(b.options.accessibility||{}).description;return c&&b.chart.langFormat("accessibility.series.description",{description:c,series:b})||""}function c(b,c){return b.chart.langFormat("accessibility.series."+c+"Description",{name:x(b[c]),series:b})}function k(b){var c=b.series,a=c.chart,d=a.options.accessibility.point||{}; +if(c.xAxis&&c.xAxis.dateTime)return c=m.prototype.getXDateFormat.call({getDateFormat:m.prototype.getDateFormat,chart:a},b,a.options.tooltip,c.xAxis),d=d.dateFormatter&&d.dateFormatter(b)||d.dateFormat||c,a.time.dateFormat(d,b.x,void 0)}function t(b){var c=k(b),a=(b.series.xAxis||{}).categories&&G(b.category)&&(""+b.category).replace("<br/>"," "),d=b.id&&0>b.id.indexOf("highcharts-"),e="x, "+b.x;return b.name||c||a||(d?b.id:e)}function v(b,c,a){var e=c||"",k=a||"";return b.series.pointArrayMap.reduce(function(c, +a){c+=c.length?", ":"";var r=d(b,C(b[a],b.options[a]));return c+(a+": "+e+r+k)},"")}function w(b){var c=b.series,a=c.chart.options.accessibility.point||{},e=c.tooltipOptions||{},k=a.valuePrefix||e.valuePrefix||"";a=a.valueSuffix||e.valueSuffix||"";e=d(b,b["undefined"!==typeof b.value?"value":"y"]);return b.isNull?c.chart.langFormat("accessibility.series.nullPointValue",{point:b}):c.pointArrayMap?v(b,k,a):k+e+a}function u(b){var c=b.series,a=c.chart,d=a.options.accessibility.point.valueDescriptionFormat, +e=(c=C(c.xAxis&&c.xAxis.options.accessibility&&c.xAxis.options.accessibility.enabled,!a.angular))?t(b):"";b={point:b,index:G(b.index)?b.index+1:"",xDescription:e,value:w(b),separator:c?", ":""};return N(d,b,a)}function A(b){var c=b.series,a=c.chart,d=u(b),e=b.options&&b.options.accessibility&&b.options.accessibility.description;e=e?" "+e:"";c=1<a.series.length&&c.name?" "+c.name+".":"";a=b.series.chart;var k=z(b),r={point:b,annotations:k};a=k.length?a.langFormat("accessibility.series.pointAnnotationsDescription", +r):"";b.accessibility=b.accessibility||{};b.accessibility.valueDescription=d;return d+e+c+(a?" "+a:"")}function p(b){var c=q(b),a=e(b);(c||a)&&b.points.forEach(function(b){var a;if(!(a=b.graphic&&b.graphic.element)&&(a=b.series&&b.series.is("sunburst"),a=b.isNull&&!a)){var d=b.series,e=g(b);d=(a=e&&e.graphic)?a.parentGroup:d.graph||d.group;e=e?{x:C(b.plotX,e.plotX,0),y:C(b.plotY,e.plotY,0)}:{x:C(b.plotX,0),y:C(b.plotY,0)};e=b.series.chart.renderer.rect(e.x,e.y,1,1);e.attr({"class":"highcharts-a11y-dummy-point", +fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0});d&&d.element?(b.graphic=e,b.hasDummyGraphic=!0,e.add(d),d.element.insertBefore(e.element,a?a.element:null),a=e.element):a=void 0}a&&(a.setAttribute("tabindex","-1"),a.style.outline="0",c?(e=b.series,d=e.chart.options.accessibility.point||{},e=e.options.accessibility||{},b=B(I(e.pointDescriptionFormatter&&e.pointDescriptionFormatter(b)||d.descriptionFormatter&&d.descriptionFormatter(b)||A(b))),a.setAttribute("role","img"),a.setAttribute("aria-label", +b)):a.setAttribute("aria-hidden",!0))})}function y(a){var d=a.chart,e=d.types||[],k=b(a),r=function(b){return d[b]&&1<d[b].length&&a[b]},g=c(a,"xAxis"),h=c(a,"yAxis"),f={name:a.name||"",ix:a.index+1,numSeries:d.series&&d.series.length,numPoints:a.points&&a.points.length,series:a};e=1<e.length?"Combination":"";return(d.langFormat("accessibility.series.summary."+a.type+e,f)||d.langFormat("accessibility.series.summary.default"+e,f))+(k?" "+k:"")+(r("yAxis")?" "+h:"")+(r("xAxis")?" "+g:"")}var z=a.getPointAnnotationTexts, +x=f.getAxisDescription,r=f.getSeriesFirstPointElement,J=f.getSeriesA11yElement,F=f.unhideChartElementFromAT,B=l.escapeStringForHTML,E=l.reverseChildNodes,I=l.stripHTMLTagsFromString,K=n.find,N=n.format,L=n.isNumber,M=n.numberFormat,C=n.pick,G=n.defined;return{describeSeries:function(b){var c=b.chart,a=r(b),d=J(b),e=c.is3d&&c.is3d();if(d){d.lastChild!==a||e||E(d);p(b);F(c,d);e=b.chart;c=e.options.chart||{};a=1<e.series.length;e=e.options.accessibility.series.describeSingleSeries;var k=(b.options.accessibility|| +{}).exposeAsGroupOnly;c.options3d&&c.options3d.enabled&&a||!(a||e||k||h(b))?d.setAttribute("aria-label",""):(c=b.chart.options.accessibility,a=c.landmarkVerbosity,(b.options.accessibility||{}).exposeAsGroupOnly?d.setAttribute("role","img"):"all"===a&&d.setAttribute("role","region"),d.setAttribute("tabindex","-1"),d.style.outline="0",d.setAttribute("aria-label",B(I(c.series.descriptionFormatter&&c.series.descriptionFormatter(b)||y(b)))))}},defaultPointDescriptionFormatter:A,defaultSeriesDescriptionFormatter:y, +getPointA11yTimeDescription:k,getPointXDescription:t,getPointValue:w,getPointValueDescription:u}});p(a,"Accessibility/Utils/Announcer.js",[a["Core/Globals.js"],a["Accessibility/Utils/DOMElementProvider.js"],a["Accessibility/Utils/HTMLUtilities.js"]],function(a,f,l){var m=l.visuallyHideElement;l=function(){function a(a,h){this.chart=a;this.domElementProvider=new f;this.announceRegion=this.addAnnounceRegion(h)}a.prototype.destroy=function(){this.domElementProvider.destroyCreatedElements()};a.prototype.announce= +function(a){var g=this;this.announceRegion.innerHTML=a;this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer);this.clearAnnouncementRegionTimer=setTimeout(function(){g.announceRegion.innerHTML="";delete g.clearAnnouncementRegionTimer},1E3)};a.prototype.addAnnounceRegion=function(a){var g=this.chart.renderTo,f=this.domElementProvider.createElement("div");f.setAttribute("aria-hidden",!1);f.setAttribute("aria-live",a);m(f);g.insertBefore(f,g.firstChild);return f};return a}(); +return a.Announcer=l});p(a,"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js",[a["Core/Globals.js"],a["Core/Series/CartesianSeries.js"],a["Core/Utilities.js"],a["Accessibility/Utils/ChartUtilities.js"],a["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],a["Accessibility/Utils/Announcer.js"],a["Accessibility/Utils/EventProvider.js"]],function(a,f,l,m,n,g,h){function q(b){var c=b.series.data.filter(function(c){return b.x===c.x&&b.y===c.y});return 1===c.length?c[0]:b}function e(b, +c){var a=(b||[]).concat(c||[]).reduce(function(b,c){b[c.name+c.index]=c;return b},{});return Object.keys(a).map(function(b){return a[b]})}var d=l.extend,b=l.defined,c=m.getChartTitle,k=n.defaultPointDescriptionFormatter,t=n.defaultSeriesDescriptionFormatter;l=function(b){this.chart=b};d(l.prototype,{init:function(){var b=this.chart,c=b.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0;this.dirty={allSeries:{}};this.eventProvider=new h;this.announcer= +new g(b,c);this.addEventListeners()},destroy:function(){this.eventProvider.removeAddedEvents();this.announcer.destroy()},addEventListeners:function(){var b=this,c=this.chart,a=this.eventProvider;a.addEvent(c,"afterDrilldown",function(){b.lastAnnouncementTime=0});a.addEvent(f,"updatedData",function(){b.onSeriesUpdatedData(this)});a.addEvent(c,"afterAddSeries",function(c){b.onSeriesAdded(c.series)});a.addEvent(f,"addPoint",function(c){b.onPointAdded(c.point)});a.addEvent(c,"redraw",function(){b.announceDirtyData()})}, +onSeriesUpdatedData:function(b){var c=this.chart;b.chart===c&&c.options.accessibility.announceNewData.enabled&&(this.dirty.hasDirty=!0,this.dirty.allSeries[b.name+b.index]=b)},onSeriesAdded:function(c){this.chart.options.accessibility.announceNewData.enabled&&(this.dirty.hasDirty=!0,this.dirty.allSeries[c.name+c.index]=c,this.dirty.newSeries=b(this.dirty.newSeries)?void 0:c)},onPointAdded:function(c){var a=c.series.chart;this.chart===a&&a.options.accessibility.announceNewData.enabled&&(this.dirty.newPoint= +b(this.dirty.newPoint)?void 0:c)},announceDirtyData:function(){var b=this;if(this.chart.options.accessibility.announceNewData&&this.dirty.hasDirty){var c=this.dirty.newPoint;c&&(c=q(c));this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(function(c){return b.dirty.allSeries[c]}),this.dirty.newSeries,c);this.dirty={allSeries:{}}}},queueAnnouncement:function(b,c,a){var d=this,k=this.chart.options.accessibility.announceNewData;if(k.enabled){var g=+new Date;k=Math.max(0,k.minAnnounceInterval- +(g-this.lastAnnouncementTime));b=e(this.queuedAnnouncement&&this.queuedAnnouncement.series,b);if(c=this.buildAnnouncementMessage(b,c,a))this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:g,message:c,series:b},this.queuedAnnouncementTimer=setTimeout(function(){d&&d.announcer&&(d.lastAnnouncementTime=+new Date,d.announcer.announce(d.queuedAnnouncement.message),delete d.queuedAnnouncement,delete d.queuedAnnouncementTimer)},k)}},buildAnnouncementMessage:function(b, +d,e){var g=this.chart,h=g.options.accessibility.announceNewData;if(h.announcementFormatter&&(b=h.announcementFormatter(b,d,e),!1!==b))return b.length?b:null;b=a.charts&&1<a.charts.length?"Multiple":"Single";b=d?"newSeriesAnnounce"+b:e?"newPointAnnounce"+b:"newDataAnnounce";h=c(g);return g.langFormat("accessibility.announceNewData."+b,{chartTitle:h,seriesDesc:d?t(d):null,pointDesc:e?k(e):null,point:e,series:d})}});return l});p(a,"Accessibility/Components/SeriesComponent/ForcedMarkers.js",[a["Core/Series/CartesianSeries.js"], +a["Core/Utilities.js"]],function(a,f){function l(a){n(!0,a,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}var m=f.addEvent,n=f.merge;return function(){m(a,"render",function(){var a=this.options,h=!1!==(this.options.accessibility&&this.options.accessibility.enabled);if(h=this.chart.options.accessibility.enabled&&h)h=this.chart.options.accessibility,h=this.points.length<h.series.pointDescriptionEnabledThreshold||!1===h.series.pointDescriptionEnabledThreshold;if(h){if(a.marker&&!1===a.marker.enabled&& +(this.a11yMarkersForced=!0,l(this.options)),this._hasPointMarkers&&this.points&&this.points.length)for(a=this.points.length;a--;){h=this.points[a];var f=h.options;delete h.hasForcedA11yMarker;f.marker&&(f.marker.enabled?(n(!0,f.marker,{states:{normal:{opacity:f.marker.states&&f.marker.states.normal&&f.marker.states.normal.opacity||1}}}),h.hasForcedA11yMarker=!1):(l(f),h.hasForcedA11yMarker=!0))}}else this.a11yMarkersForced&&(delete this.a11yMarkersForced,(a=this.resetA11yMarkerOptions)&&n(!0,this.options, +{marker:{enabled:a.enabled,states:{normal:{opacity:a.states&&a.states.normal&&a.states.normal.opacity}}}}))});m(a,"afterSetOptions",function(a){this.resetA11yMarkerOptions=n(a.options.marker||{},this.userOptions.marker||{})});m(a,"afterRender",function(){if(this.chart.styledMode){if(this.markerGroup)this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden");this._hasPointMarkers&&this.points&&this.points.length&&this.points.forEach(function(a){a.graphic&&(a.graphic[a.hasForcedA11yMarker? +"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),a.graphic[!1===a.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))})}})}});p(a,"Accessibility/Components/SeriesComponent/SeriesComponent.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Accessibility/AccessibilityComponent.js"],a["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"],a["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],a["Accessibility/Components/SeriesComponent/ForcedMarkers.js"], +a["Accessibility/Utils/ChartUtilities.js"],a["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],a["Core/Tooltip.js"]],function(a,f,l,m,n,g,h,q,e){f=f.extend;var d=h.hideSeriesFromAT,b=q.describeSeries;a.SeriesAccessibilityDescriber=q;g();a=function(){};a.prototype=new l;f(a.prototype,{init:function(){this.newDataAnnouncer=new n(this.chart);this.newDataAnnouncer.init();this.keyboardNavigation=new m(this.chart,this.keyCodes);this.keyboardNavigation.init();this.hideTooltipFromATWhenShown(); +this.hideSeriesLabelsFromATWhenShown()},hideTooltipFromATWhenShown:function(){var b=this;this.addEvent(e,"refresh",function(){this.chart===b.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})},hideSeriesLabelsFromATWhenShown:function(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEach(function(b){b.labelBySeries&&b.labelBySeries.attr("aria-hidden",!0)})})},onChartRender:function(){this.chart.series.forEach(function(c){!1!==(c.options.accessibility&& +c.options.accessibility.enabled)&&c.visible?b(c):d(c)})},getKeyboardNavigation:function(){return this.keyboardNavigation.getKeyboardNavigationHandler()},destroy:function(){this.newDataAnnouncer.destroy();this.keyboardNavigation.destroy()}});return a});p(a,"Accessibility/Components/ZoomComponent.js",[a["Accessibility/AccessibilityComponent.js"],a["Accessibility/Utils/ChartUtilities.js"],a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Core/Utilities.js"]], +function(a,f,l,m,n,g){var h=f.unhideChartElementFromAT;f=l.noop;var q=m.removeElement,e=m.setElAttrs;m=g.extend;var d=g.pick;l.Axis.prototype.panStep=function(b,c){var a=c||3;c=this.getExtremes();var d=(c.max-c.min)/a*b;a=c.max+d;d=c.min+d;var e=a-d;0>b&&d<c.dataMin?(d=c.dataMin,a=d+e):0<b&&a>c.dataMax&&(a=c.dataMax,d=a-e);this.setExtremes(d,a)};f.prototype=new a;m(f.prototype,{init:function(){var b=this,c=this.chart;["afterShowResetZoom","afterDrilldown","drillupall"].forEach(function(a){b.addEvent(c, +a,function(){b.updateProxyOverlays()})})},onChartUpdate:function(){var b=this.chart,c=this;b.mapNavButtons&&b.mapNavButtons.forEach(function(a,d){h(b,a.element);c.setMapNavButtonAttrs(a.element,"accessibility.zoom.mapZoom"+(d?"Out":"In"))})},setMapNavButtonAttrs:function(b,c){var a=this.chart;c=a.langFormat(c,{chart:a});e(b,{tabindex:-1,role:"button","aria-label":c})},onChartRender:function(){this.updateProxyOverlays()},updateProxyOverlays:function(){var b=this.chart;q(this.drillUpProxyGroup);q(this.resetZoomProxyGroup); +b.resetZoomButton&&this.recreateProxyButtonAndGroup(b.resetZoomButton,"resetZoomProxyButton","resetZoomProxyGroup",b.langFormat("accessibility.zoom.resetZoomButton",{chart:b}));b.drillUpButton&&this.recreateProxyButtonAndGroup(b.drillUpButton,"drillUpProxyButton","drillUpProxyGroup",b.langFormat("accessibility.drillUpButton",{chart:b,buttonText:b.getDrilldownBackText()}))},recreateProxyButtonAndGroup:function(b,c,a,d){q(this[a]);this[a]=this.addProxyGroup();this[c]=this.createProxyButton(b,this[a], +{"aria-label":d,tabindex:-1})},getMapZoomNavigation:function(){var b=this.keyCodes,a=this.chart,d=this;return new n(a,{keyCodeMap:[[[b.up,b.down,b.left,b.right],function(b){return d.onMapKbdArrow(this,b)}],[[b.tab],function(b,a){return d.onMapKbdTab(this,a)}],[[b.space,b.enter],function(){return d.onMapKbdClick(this)}]],validate:function(){return!!(a.mapZoom&&a.mapNavButtons&&a.mapNavButtons.length)},init:function(b){return d.onMapNavInit(b)}})},onMapKbdArrow:function(b,a){var c=this.keyCodes;this.chart[a=== +c.up||a===c.down?"yAxis":"xAxis"][0].panStep(a===c.left||a===c.up?-1:1);return b.response.success},onMapKbdTab:function(b,a){var c=this.chart;b=b.response;var d=(a=a.shiftKey)&&!this.focusedMapNavButtonIx||!a&&this.focusedMapNavButtonIx;c.mapNavButtons[this.focusedMapNavButtonIx].setState(0);if(d)return c.mapZoom(),b[a?"prev":"next"];this.focusedMapNavButtonIx+=a?-1:1;a=c.mapNavButtons[this.focusedMapNavButtonIx];c.setFocusToElement(a.box,a.element);a.setState(2);return b.success},onMapKbdClick:function(b){this.fakeClickEvent(this.chart.mapNavButtons[this.focusedMapNavButtonIx].element); +return b.response.success},onMapNavInit:function(b){var a=this.chart,d=a.mapNavButtons[0],e=a.mapNavButtons[1];d=0<b?d:e;a.setFocusToElement(d.box,d.element);d.setState(2);this.focusedMapNavButtonIx=0<b?0:1},simpleButtonNavigation:function(b,a,e){var c=this.keyCodes,k=this,g=this.chart;return new n(g,{keyCodeMap:[[[c.tab,c.up,c.down,c.left,c.right],function(b,a){return this.response[b===c.tab&&a.shiftKey||b===c.left||b===c.up?"prev":"next"]}],[[c.space,c.enter],function(){var b=e(this,g);return d(b, +this.response.success)}]],validate:function(){return g[b]&&g[b].box&&k[a]},init:function(){g.setFocusToElement(g[b].box,k[a])}})},getKeyboardNavigation:function(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(b,a){a.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(b,a){a.drillUp();return b.response.prev}),this.getMapZoomNavigation()]}});return f});p(a,"Accessibility/Components/RangeSelectorComponent.js",[a["Accessibility/AccessibilityComponent.js"], +a["Accessibility/Utils/ChartUtilities.js"],a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Core/Utilities.js"]],function(a,f,l,m,n,g){var h=f.unhideChartElementFromAT,q=m.setElAttrs;f=g.extend;l.Chart.prototype.highlightRangeSelectorButton=function(a){var d=this.rangeSelector.buttons,b=this.highlightedRangeSelectorItemIx;"undefined"!==typeof b&&d[b]&&d[b].setState(this.oldRangeSelectorItemState||0);this.highlightedRangeSelectorItemIx= +a;return d[a]?(this.setFocusToElement(d[a].box,d[a].element),this.oldRangeSelectorItemState=d[a].state,d[a].setState(2),!0):!1};l=function(){};l.prototype=new a;f(l.prototype,{onChartUpdate:function(){var a=this.chart,d=this,b=a.rangeSelector;b&&(b.buttons&&b.buttons.length&&b.buttons.forEach(function(b){h(a,b.element);d.setRangeButtonAttrs(b)}),b.maxInput&&b.minInput&&["minInput","maxInput"].forEach(function(c,e){if(c=b[c])h(a,c),d.setRangeInputAttrs(c,"accessibility.rangeSelector."+(e?"max":"min")+ +"InputLabel")}))},setRangeButtonAttrs:function(a){var d=this.chart;d=d.langFormat("accessibility.rangeSelector.buttonText",{chart:d,buttonText:a.text&&a.text.textStr});q(a.element,{tabindex:-1,role:"button","aria-label":d})},setRangeInputAttrs:function(a,d){var b=this.chart;q(a,{tabindex:-1,role:"textbox","aria-label":b.langFormat(d,{chart:b})})},getRangeSelectorButtonNavigation:function(){var a=this.chart,d=this.keyCodes,b=this;return new n(a,{keyCodeMap:[[[d.left,d.right,d.up,d.down],function(a){return b.onButtonNavKbdArrowKey(this, +a)}],[[d.enter,d.space],function(){return b.onButtonNavKbdClick(this)}]],validate:function(){return a.rangeSelector&&a.rangeSelector.buttons&&a.rangeSelector.buttons.length},init:function(b){var c=a.rangeSelector.buttons.length-1;a.highlightRangeSelectorButton(0<b?0:c)}})},onButtonNavKbdArrowKey:function(a,d){var b=a.response,c=this.keyCodes,e=this.chart,g=e.options.accessibility.keyboardNavigation.wrapAround;d=d===c.left||d===c.up?-1:1;return e.highlightRangeSelectorButton(e.highlightedRangeSelectorItemIx+ +d)?b.success:g?(a.init(d),b.success):b[0<d?"next":"prev"]},onButtonNavKbdClick:function(a){a=a.response;var d=this.chart;3!==d.oldRangeSelectorItemState&&this.fakeClickEvent(d.rangeSelector.buttons[d.highlightedRangeSelectorItemIx].element);return a.success},getRangeSelectorInputNavigation:function(){var a=this.chart,d=this.keyCodes,b=this;return new n(a,{keyCodeMap:[[[d.tab,d.up,d.down],function(a,e){return b.onInputKbdMove(this,a===d.tab&&e.shiftKey||a===d.up?-1:1)}]],validate:function(){return a.rangeSelector&& +a.rangeSelector.inputGroup&&"hidden"!==a.rangeSelector.inputGroup.element.getAttribute("visibility")&&!1!==a.options.rangeSelector.inputEnabled&&a.rangeSelector.minInput&&a.rangeSelector.maxInput},init:function(a){b.onInputNavInit(a)},terminate:function(){b.onInputNavTerminate()}})},onInputKbdMove:function(a,d){var b=this.chart;a=a.response;var c=b.highlightedInputRangeIx+=d;if(1<c||0>c)return a[0<d?"next":"prev"];b.rangeSelector[c?"maxInput":"minInput"].focus();return a.success},onInputNavInit:function(a){var d= +this.chart;a=0<a?0:1;d.highlightedInputRangeIx=a;d.rangeSelector[a?"maxInput":"minInput"].focus()},onInputNavTerminate:function(){var a=this.chart.rangeSelector||{};a.maxInput&&a.hideInput("max");a.minInput&&a.hideInput("min")},getKeyboardNavigation:function(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}});return l});p(a,"Accessibility/Components/InfoRegionsComponent.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Accessibility/AccessibilityComponent.js"], +a["Accessibility/Utils/Announcer.js"],a["Accessibility/Components/AnnotationsA11y.js"],a["Accessibility/Utils/ChartUtilities.js"],a["Accessibility/Utils/HTMLUtilities.js"]],function(a,f,l,m,n,g,h){function q(b){return b.replace(/<(h[1-7]|p|div|ul|ol|li)>/g,"<$1>").replace(/</(h[1-7]|p|div|ul|ol|li|a|button)>/g,"</$1>").replace(/<(div|a|button) id="([a-zA-Z\-0-9#]*?)">/g,'<$1 id="$2">')}var e=a.doc,d=f.extend,b=f.format,c=f.pick,k=n.getAnnotationsInfoHTML,t=g.unhideChartElementFromAT, +v=g.getChartTitle,w=g.getAxisDescription,p=h.addClass,u=h.setElAttrs,D=h.escapeStringForHTML,y=h.stripHTMLTagsFromString,z=h.getElement,x=h.visuallyHideElement;a.Chart.prototype.getTypeDescription=function(b){var a=b[0],c=this.series&&this.series[0]||{};c={numSeries:this.series.length,numPoints:c.points&&c.points.length,chart:this,mapTitle:c.mapTitle};if(!a)return this.langFormat("accessibility.chartTypes.emptyChart",c);if("map"===a)return c.mapTitle?this.langFormat("accessibility.chartTypes.mapTypeDescription", +c):this.langFormat("accessibility.chartTypes.unknownMap",c);if(1<this.types.length)return this.langFormat("accessibility.chartTypes.combinationChart",c);b=b[0];a=this.langFormat("accessibility.seriesTypeDescriptions."+b,c);var d=this.series&&2>this.series.length?"Single":"Multiple";return(this.langFormat("accessibility.chartTypes."+b+d,c)||this.langFormat("accessibility.chartTypes.default"+d,c))+(a?" "+a:"")};f=function(){};f.prototype=new l;d(f.prototype,{init:function(){var b=this.chart,a=this; +this.initRegionsDefinitions();this.addEvent(b,"afterGetTable",function(b){a.onDataTableCreated(b)});this.addEvent(b,"afterViewData",function(b){a.dataTableDiv=b;setTimeout(function(){a.focusDataTable()},300)});this.announcer=new m(b,"assertive")},initRegionsDefinitions:function(){var b=this;this.screenReaderSections={before:{element:null,buildContent:function(a){var c=a.options.accessibility.screenReaderSection.beforeChartFormatter;return c?c(a):b.defaultBeforeChartFormatter(a)},insertIntoDOM:function(b, +a){a.renderTo.insertBefore(b,a.renderTo.firstChild)},afterInserted:function(){"undefined"!==typeof b.sonifyButtonId&&b.initSonifyButton(b.sonifyButtonId);"undefined"!==typeof b.dataTableButtonId&&b.initDataTableButton(b.dataTableButtonId)}},after:{element:null,buildContent:function(a){var c=a.options.accessibility.screenReaderSection.afterChartFormatter;return c?c(a):b.defaultAfterChartFormatter()},insertIntoDOM:function(b,a){a.renderTo.insertBefore(b,a.container.nextSibling)}}}},onChartRender:function(){var b= +this;this.linkedDescriptionElement=this.getLinkedDescriptionElement();this.setLinkedDescriptionAttrs();Object.keys(this.screenReaderSections).forEach(function(a){b.updateScreenReaderSection(a)})},getLinkedDescriptionElement:function(){var a=this.chart.options.accessibility.linkedDescription;if(a){if("string"!==typeof a)return a;a=b(a,this.chart);a=e.querySelectorAll(a);if(1===a.length)return a[0]}},setLinkedDescriptionAttrs:function(){var b=this.linkedDescriptionElement;b&&(b.setAttribute("aria-hidden", +"true"),p(b,"highcharts-linked-description"))},updateScreenReaderSection:function(b){var a=this.chart,c=this.screenReaderSections[b],d=c.buildContent(a),e=c.element=c.element||this.createElement("div"),g=e.firstChild||this.createElement("div");this.setScreenReaderSectionAttribs(e,b);g.innerHTML=d;e.appendChild(g);c.insertIntoDOM(e,a);x(g);t(a,g);c.afterInserted&&c.afterInserted()},setScreenReaderSectionAttribs:function(b,a){var c=this.chart,d=c.langFormat("accessibility.screenReaderSection."+a+"RegionLabel", +{chart:c});u(b,{id:"highcharts-screen-reader-region-"+a+"-"+c.index,"aria-label":d});b.style.position="relative";"all"===c.options.accessibility.landmarkVerbosity&&d&&b.setAttribute("role","region")},defaultBeforeChartFormatter:function(){var b,c=this.chart,d=c.options.accessibility.screenReaderSection.beforeChartFormat,e=this.getAxesDescription(),g=c.sonify&&(null===(b=c.options.sonification)||void 0===b?void 0:b.enabled);b="highcharts-a11y-sonify-data-btn-"+c.index;var h="hc-linkto-highcharts-data-table-"+ +c.index,f=k(c),t=c.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:c});e={chartTitle:v(c),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:e.xAxis,yAxisDescription:e.yAxis,playAsSoundButton:g?this.getSonifyButtonText(b):"",viewTableButton:c.getCSV?this.getDataTableButtonText(h):"",annotationsTitle:f?t:"",annotationsList:f};c=a.i18nFormat(d,e,c);this.dataTableButtonId=h;this.sonifyButtonId= +b;return q(D(c)).replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")},defaultAfterChartFormatter:function(){var b=this.chart,c=b.options.accessibility.screenReaderSection.afterChartFormat,d={endOfChartMarker:this.getEndOfChartMarkerText()};b=a.i18nFormat(c,d,b);return q(D(b)).replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")},getLinkedDescription:function(){var b=this.linkedDescriptionElement;return y(b&&b.innerHTML||"")},getLongdescText:function(){var b=this.chart.options,a=b.caption;a=a&&a.text;var c=this.getLinkedDescription(); +return b.accessibility.description||c||a||""},getTypeDescriptionText:function(){var b=this.chart;return b.types?b.options.accessibility.typeDescription||b.getTypeDescription(b.types):""},getDataTableButtonText:function(b){var a=this.chart;a=a.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:a,chartTitle:v(a)});return'<button id="'+b+'">'+a+"</button>"},getSonifyButtonText:function(b){var a,c=this.chart;if(!1===(null===(a=c.options.sonification)||void 0===a?void 0:a.enabled))return""; +a=c.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:c,chartTitle:v(c)});return'<button id="'+b+'">'+a+"</button>"},getSubtitleText:function(){var b=this.chart.options.subtitle;return y(b&&b.text||"")},getEndOfChartMarkerText:function(){var b=this.chart,a=b.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:b});return'<div id="highcharts-end-of-chart-marker-'+b.index+'">'+a+"</div>"},onDataTableCreated:function(b){var a=this.chart;a.options.accessibility.enabled&& +(this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true"),b.html=b.html.replace("<table ",'<table tabindex="-1" summary="'+a.langFormat("accessibility.table.tableSummary",{chart:a})+'"'))},focusDataTable:function(){var b=this.dataTableDiv;(b=b&&b.getElementsByTagName("table")[0])&&b.focus&&b.focus()},initSonifyButton:function(b){var a=this,c=this.sonifyButton=z(b),d=this.chart,e=function(b){null===c||void 0===c?void 0:c.setAttribute("aria-hidden","true");null===c||void 0=== +c?void 0:c.setAttribute("aria-label","");b.preventDefault();b.stopPropagation();b=d.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:d});a.announcer.announce(b);setTimeout(function(){null===c||void 0===c?void 0:c.removeAttribute("aria-hidden");null===c||void 0===c?void 0:c.removeAttribute("aria-label");d.sonify&&d.sonify()},1E3)};c&&d&&(u(c,{tabindex:"-1"}),c.onclick=function(b){var a;((null===(a=d.options.accessibility)||void 0===a?void 0:a.screenReaderSection.onPlayAsSoundClick)|| +e).call(this,b,d)})},initDataTableButton:function(b){var a=this.viewDataTableButton=z(b),c=this.chart;b=b.replace("hc-linkto-","");a&&(u(a,{tabindex:"-1","aria-expanded":!!z(b)}),a.onclick=c.options.accessibility.screenReaderSection.onViewDataTableClick||function(){c.viewData()})},getAxesDescription:function(){var b=this.chart,a=function(a,d){a=b[a];return 1<a.length||a[0]&&c(a[0].options.accessibility&&a[0].options.accessibility.enabled,d)},d=!!b.types&&0>b.types.indexOf("map"),e=!!b.hasCartesianSeries, +g=a("xAxis",!b.angular&&e&&d);a=a("yAxis",e&&d);d={};g&&(d.xAxis=this.getAxisDescriptionText("xAxis"));a&&(d.yAxis=this.getAxisDescriptionText("yAxis"));return d},getAxisDescriptionText:function(b){var a=this,c=this.chart,d=c[b];return c.langFormat("accessibility.axis."+b+"Description"+(1<d.length?"Plural":"Singular"),{chart:c,names:d.map(function(b){return w(b)}),ranges:d.map(function(b){return a.getAxisRangeDescription(b)}),numAxes:d.length})},getAxisRangeDescription:function(b){var a=b.options|| +{};return a.accessibility&&"undefined"!==typeof a.accessibility.rangeDescription?a.accessibility.rangeDescription:b.categories?this.getCategoryAxisRangeDesc(b):!b.dateTime||0!==b.min&&0!==b.dataMin?this.getAxisFromToDescription(b):this.getAxisTimeLengthDesc(b)},getCategoryAxisRangeDesc:function(b){var a=this.chart;return b.dataMax&&b.dataMin?a.langFormat("accessibility.axis.rangeCategories",{chart:a,axis:b,numCategories:b.dataMax-b.dataMin+1}):""},getAxisTimeLengthDesc:function(b){var a=this.chart, +c={},d="Seconds";c.Seconds=((b.max||0)-(b.min||0))/1E3;c.Minutes=c.Seconds/60;c.Hours=c.Minutes/60;c.Days=c.Hours/24;["Minutes","Hours","Days"].forEach(function(b){2<c[b]&&(d=b)});var e=c[d].toFixed("Seconds"!==d&&"Minutes"!==d?1:0);return a.langFormat("accessibility.axis.timeRange"+d,{chart:a,axis:b,range:e.replace(".0","")})},getAxisFromToDescription:function(b){var a=this.chart,c=a.options.accessibility.screenReaderSection.axisRangeDateFormat,d=function(d){return b.dateTime?a.time.dateFormat(c, +b[d]):b[d]};return a.langFormat("accessibility.axis.rangeFromTo",{chart:a,axis:b,rangeFrom:d("min"),rangeTo:d("max")})},destroy:function(){var b;null===(b=this.announcer)||void 0===b?void 0:b.destroy()}});return f});p(a,"Accessibility/Components/ContainerComponent.js",[a["Accessibility/AccessibilityComponent.js"],a["Accessibility/Utils/ChartUtilities.js"],a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Utilities.js"]],function(a,f,l,m,n){var g=f.unhideChartElementFromAT,h=f.getChartTitle, +q=l.doc,e=m.stripHTMLTagsFromString;f=n.extend;l=function(){};l.prototype=new a;f(l.prototype,{onChartUpdate:function(){this.handleSVGTitleElement();this.setSVGContainerLabel();this.setGraphicContainerAttrs();this.setRenderToAttrs();this.makeCreditsAccessible()},handleSVGTitleElement:function(){var a=this.chart,b="highcharts-title-"+a.index,c=e(a.langFormat("accessibility.svgContainerTitle",{chartTitle:h(a)}));if(c.length){var g=this.svgTitleElement=this.svgTitleElement||q.createElementNS("http://www.w3.org/2000/svg", +"title");g.textContent=c;g.id=b;a.renderTo.insertBefore(g,a.renderTo.firstChild)}},setSVGContainerLabel:function(){var a=this.chart,b=e(a.langFormat("accessibility.svgContainerLabel",{chartTitle:h(a)}));a.renderer.box&&b.length&&a.renderer.box.setAttribute("aria-label",b)},setGraphicContainerAttrs:function(){var a=this.chart,b=a.langFormat("accessibility.graphicContainerLabel",{chartTitle:h(a)});b.length&&a.container.setAttribute("aria-label",b)},setRenderToAttrs:function(){var a=this.chart;"disabled"!== +a.options.accessibility.landmarkVerbosity?a.renderTo.setAttribute("role","region"):a.renderTo.removeAttribute("role");a.renderTo.setAttribute("aria-label",a.langFormat("accessibility.chartContainerLabel",{title:h(a),chart:a}))},makeCreditsAccessible:function(){var a=this.chart,b=a.credits;b&&(b.textStr&&b.element.setAttribute("aria-label",e(a.langFormat("accessibility.credits",{creditsStr:b.textStr}))),g(a,b.element))},destroy:function(){this.chart.renderTo.setAttribute("aria-hidden",!0)}});return l}); +p(a,"Accessibility/HighContrastMode.js",[a["Core/Globals.js"]],function(a){var f=a.isMS,l=a.win,m=l.document;return{isHighContrastModeActive:function(){var a=/(Edg)/.test(l.navigator.userAgent);if(l.matchMedia&&a)return l.matchMedia("(-ms-high-contrast: active)").matches;if(f&&l.getComputedStyle){a=m.createElement("div");a.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)";m.body.appendChild(a);var g=(a.currentStyle||l.getComputedStyle(a)).backgroundImage; +m.body.removeChild(a);return"none"===g}return!1},setHighContrastTheme:function(a){a.highContrastModeActive=!0;var g=a.options.accessibility.highContrastTheme;a.update(g,!1);a.series.forEach(function(a){var f=g.plotOptions[a.type]||{};a.update({color:f.color||"windowText",colors:[f.color||"windowText"],borderColor:f.borderColor||"window"});a.points.forEach(function(a){a.options&&a.options.color&&a.update({color:f.color||"windowText",borderColor:f.borderColor||"window"},!1)})});a.redraw()}}});p(a,"Accessibility/HighContrastTheme.js", +[],function(){return{chart:{backgroundColor:"window"},title:{style:{color:"windowText"}},subtitle:{style:{color:"windowText"}},colorAxis:{minColor:"windowText",maxColor:"windowText",stops:[]},colors:["windowText"],xAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},yAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText", +tickColor:"windowText",title:{style:{color:"windowText"}}},tooltip:{backgroundColor:"window",borderColor:"windowText",style:{color:"windowText"}},plotOptions:{series:{lineColor:"windowText",fillColor:"window",borderColor:"windowText",edgeColor:"windowText",borderWidth:1,dataLabels:{connectorColor:"windowText",color:"windowText",style:{color:"windowText",textOutline:"none"}},marker:{lineColor:"windowText",fillColor:"windowText"}},pie:{color:"window",colors:["window"],borderColor:"windowText",borderWidth:1}, +boxplot:{fillColor:"window"},candlestick:{lineColor:"windowText",fillColor:"window"},errorbar:{fillColor:"window"}},legend:{backgroundColor:"window",itemStyle:{color:"windowText"},itemHoverStyle:{color:"windowText"},itemHiddenStyle:{color:"#555"},title:{style:{color:"windowText"}}},credits:{style:{color:"windowText"}},labels:{style:{color:"windowText"}},drilldown:{activeAxisLabelStyle:{color:"windowText"},activeDataLabelStyle:{color:"windowText"}},navigation:{buttonOptions:{symbolStroke:"windowText", +theme:{fill:"window"}}},rangeSelector:{buttonTheme:{fill:"window",stroke:"windowText",style:{color:"windowText"},states:{hover:{fill:"window",stroke:"windowText",style:{color:"windowText"}},select:{fill:"#444",stroke:"windowText",style:{color:"windowText"}}}},inputBoxBorderColor:"windowText",inputStyle:{backgroundColor:"window",color:"windowText"},labelStyle:{color:"windowText"}},navigator:{handles:{backgroundColor:"window",borderColor:"windowText"},outlineColor:"windowText",maskFill:"transparent", +series:{color:"windowText",lineColor:"windowText"},xAxis:{gridLineColor:"windowText"}},scrollbar:{barBackgroundColor:"#444",barBorderColor:"windowText",buttonArrowColor:"windowText",buttonBackgroundColor:"window",buttonBorderColor:"windowText",rifleColor:"windowText",trackBackgroundColor:"window",trackBorderColor:"windowText"}}});p(a,"Accessibility/Options/Options.js",[],function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<h5>{chartTitle}</h5><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>", +afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{index}. {xDescription}{separator}{value}."},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#335cad",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector", +"legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5E3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}}}});p(a,"Accessibility/Options/LangOptions.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}", +credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"Chart screen reader information.",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{ Also related to, #each(additionalAnnotationPoints)}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."}, +sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabel:"Toggle series visibility",legendItem:"Hide {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{minInputLabel:"Select start date.",maxInputLabel:"Select end date.",buttonText:"Select range {buttonText}"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."}, +announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.", +arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.", +funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.", +defaultSingle:"Chart with {numPoints} data {#plural(numPoints, points, point)}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",columnMultiple:"Bar chart with {numSeries} data series.", +barSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#plural(numPoints, slices, slice)}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#plural(numPoints, points, point)}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.",boxplotMultiple:"Boxplot with {numSeries} data series.", +bubbleSingle:"Bubble chart with {numPoints} {#plural(numPoints, bubbles, bubble)}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each(names, -1) }and {names[-1]}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each(names, -1) }and {names[-1]}.", +timeRangeDays:"Range: {range} days.",timeRangeHours:"Range: {range} hours.",timeRangeMinutes:"Range: {range} minutes.",timeRangeSeconds:"Range: {range} seconds.",rangeFromTo:"Range: {rangeFrom} to {rangeTo}.",rangeCategories:"Range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu",exportRegionLabel:"Chart menu"},series:{summary:{"default":"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",defaultCombination:"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.", +line:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",lineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.",spline:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",splineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.",column:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.", +columnCombination:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.",bar:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}.",barCombination:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}.",pie:"{name}, pie {ix} of {numSeries} with {numPoints} {#plural(numPoints, slices, slice)}.",pieCombination:"{name}, series {ix} of {numSeries}. Pie with {numPoints} {#plural(numPoints, slices, slice)}.", +scatter:"{name}, scatter plot {ix} of {numSeries} with {numPoints} {#plural(numPoints, points, point)}.",scatterCombination:"{name}, series {ix} of {numSeries}, scatter plot with {numPoints} {#plural(numPoints, points, point)}.",boxplot:"{name}, boxplot {ix} of {numSeries} with {numPoints} {#plural(numPoints, boxes, box)}.",boxplotCombination:"{name}, series {ix} of {numSeries}. Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.",bubble:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.", +bubbleCombination:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}.",map:"{name}, map {ix} of {numSeries} with {numPoints} {#plural(numPoints, areas, area)}.",mapCombination:"{name}, series {ix} of {numSeries}. Map with {numPoints} {#plural(numPoints, areas, area)}.",mapline:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}.",maplineCombination:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}.", +mapbubble:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}.",mapbubbleCombination:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{Annotation: #each(annotations). }"}}}});p(a,"Accessibility/Options/DeprecatedOptions.js",[a["Core/Utilities.js"]], +function(a){function f(a,d,b){for(var c,e=0;e<d.length-1;++e)c=d[e],a=a[c]=q(a[c],{});a[d[d.length-1]]=b}function l(a,d,b,c){function e(b,a){return a.reduce(function(b,a){return b[a]},b)}var g=e(a.options,d),l=e(a.options,b);Object.keys(c).forEach(function(e){var k,t=g[e];"undefined"!==typeof t&&(f(l,c[e],t),h(32,!1,a,(k={},k[d.join(".")+"."+e]=b.join(".")+"."+c[e].join("."),k)))})}function m(a){var d=a.options.chart||{},b=a.options.accessibility||{};["description","typeDescription"].forEach(function(c){var e; +d[c]&&(b[c]=d[c],h(32,!1,a,(e={},e["chart."+c]="use accessibility."+c,e)))})}function n(a){a.axes.forEach(function(d){(d=d.options)&&d.description&&(d.accessibility=d.accessibility||{},d.accessibility.description=d.description,h(32,!1,a,{"axis.description":"use axis.accessibility.description"}))})}function g(a){var d={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormatter:["accessibility","pointDescriptionFormatter"],skipKeyboardNavigation:["accessibility", +"keyboardNavigation","enabled"]};a.series.forEach(function(b){Object.keys(d).forEach(function(c){var e,g=b.options[c];"undefined"!==typeof g&&(f(b.options,d[c],"skipKeyboardNavigation"===c?!g:g),h(32,!1,a,(e={},e["series."+c]="series."+d[c].join("."),e)))})})}var h=a.error,q=a.pick;return function(a){m(a);n(a);a.series&&g(a);l(a,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"], +pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection", +"onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]});l(a,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]});l(a,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection", +"beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})}});p(a,"Accessibility/A11yI18n.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,f){function l(a,f){var g=a.indexOf("#each("),e=a.indexOf("#plural("),d=a.indexOf("["), +b=a.indexOf("]");if(-1<g){d=a.slice(g).indexOf(")")+g;var c=a.substring(0,g);e=a.substring(d+1);d=a.substring(g+6,d).split(",");g=Number(d[1]);a="";if(f=f[d[0]])for(g=isNaN(g)?f.length:g,g=0>g?f.length+g:Math.min(g,f.length),d=0;d<g;++d)a+=c+f[d]+e;return a.length?a:""}if(-1<e){c=a.slice(e).indexOf(")")+e;a=a.substring(e+8,c).split(",");switch(Number(f[a[0]])){case 0:a=n(a[4],a[1]);break;case 1:a=n(a[2],a[1]);break;case 2:a=n(a[3],a[1]);break;default:a=a[1]}a?(f=a,f=f.trim&&f.trim()||f.replace(/^\s+|\s+$/g, +"")):f="";return f}return-1<d?(e=a.substring(0,d),a=Number(a.substring(d+1,b)),f=f[e],!isNaN(a)&&f&&(0>a?(c=f[f.length+a],"undefined"===typeof c&&(c=f[0])):(c=f[a],"undefined"===typeof c&&(c=f[f.length-1]))),"undefined"!==typeof c?c:""):"{"+a+"}"}var m=f.format,n=f.pick;a.i18nFormat=function(a,f,n){var e=function(a,b){a=a.slice(b||0);var c=a.indexOf("{"),d=a.indexOf("}");if(-1<c&&d>c)return{statement:a.substring(c+1,d),begin:b+c+1,end:b+d}},d=[],b=0;do{var c=e(a,b);var g=a.substring(b,c&&c.begin- +1);g.length&&d.push({value:g,type:"constant"});c&&d.push({value:c.statement,type:"statement"});b=c?c.end+1:b+1}while(c);d.forEach(function(a){"statement"===a.type&&(a.value=l(a.value,f))});return m(d.reduce(function(a,b){return a+b.value},""),f,n)};a.Chart.prototype.langFormat=function(f,h){f=f.split(".");for(var g=this.options.lang,e=0;e<f.length;++e)g=g&&g[f[e]];return"string"===typeof g?a.i18nFormat(g,h,this):""}});p(a,"Accessibility/FocusBorder.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGElement.js"], +a["Core/Renderer/SVG/SVGLabel.js"],a["Core/Utilities.js"]],function(a,f,l,m){function n(a){if(!a.focusBorderDestroyHook){var b=a.destroy;a.destroy=function(){var c,d;null===(d=null===(c=a.focusBorder)||void 0===c?void 0:c.destroy)||void 0===d?void 0:d.call(c);return b.apply(a,arguments)};a.focusBorderDestroyHook=b}}function g(a){for(var c=[],d=1;d<arguments.length;d++)c[d-1]=arguments[d];a.focusBorderUpdateHooks||(a.focusBorderUpdateHooks={},b.forEach(function(b){b+="Setter";var d=a[b]||a._defaultSetter; +a.focusBorderUpdateHooks[b]=d;a[b]=function(){var b=d.apply(a,arguments);a.addFocusBorder.apply(a,c);return b}}))}function h(a){a.focusBorderUpdateHooks&&(Object.keys(a.focusBorderUpdateHooks).forEach(function(b){var c=a.focusBorderUpdateHooks[b];c===a._defaultSetter?delete a[b]:a[b]=c}),delete a.focusBorderUpdateHooks)}var q=m.addEvent,e=m.extend,d=m.pick,b="x y transform width height r d stroke-width".split(" ");e(f.prototype,{addFocusBorder:function(b,e){this.focusBorder&&this.removeFocusBorder(); +var c=this.getBBox(),f=d(b,3);c.x+=this.translateX?this.translateX:0;c.y+=this.translateY?this.translateY:0;var h=c.x-f,k=c.y-f,m=c.width+2*f,q=c.height+2*f,p=this instanceof l;if("text"===this.element.nodeName||p){var u=!!this.rotation;if(p)var x={x:u?1:0,y:0};else h=x=0,"middle"===this.attr("text-anchor")?(x=a.isFirefox&&this.rotation?.25:.5,h=a.isFirefox&&!this.rotation?.75:.5):this.rotation?x=.25:h=.75,x={x:x,y:h};h=+this.attr("x")-c.width*x.x-f;k=+this.attr("y")-c.height*x.y-f;p&&u&&(p=m,m=q, +q=p,h=+this.attr("x")-c.height*x.x-f,k=+this.attr("y")-c.width*x.y-f)}this.focusBorder=this.renderer.rect(h,k,m,q,parseInt((e&&e.borderRadius||0).toString(),10)).addClass("highcharts-focus-border").attr({zIndex:99}).add(this.parentGroup);this.renderer.styledMode||this.focusBorder.attr({stroke:e&&e.stroke,"stroke-width":e&&e.strokeWidth});g(this,b,e);n(this)},removeFocusBorder:function(){h(this);this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook); +this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}});a.Chart.prototype.renderFocusBorder=function(){var a=this.focusElement,b=this.options.accessibility.keyboardNavigation.focusBorder;a&&(a.removeFocusBorder(),b.enabled&&a.addFocusBorder(b.margin,{stroke:b.style.color,strokeWidth:b.style.lineWidth,borderRadius:b.style.borderRadius}))};a.Chart.prototype.setFocusToElement=function(a,b){var c=this.options.accessibility.keyboardNavigation.focusBorder;(b=b||a.element)&&b.focus&&(b.hcEvents&& +b.hcEvents.focusin||q(b,"focusin",function(){}),b.focus(),c.hideBrowserFocusOutline&&(b.style.outline="none"));this.focusElement&&this.focusElement.removeFocusBorder();this.focusElement=a;this.renderFocusBorder()}});p(a,"Accessibility/Accessibility.js",[a["Accessibility/Utils/ChartUtilities.js"],a["Core/Globals.js"],a["Accessibility/KeyboardNavigationHandler.js"],a["Core/Series/CartesianSeries.js"],a["Core/Options.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"],a["Accessibility/AccessibilityComponent.js"], +a["Accessibility/KeyboardNavigation.js"],a["Accessibility/Components/LegendComponent.js"],a["Accessibility/Components/MenuComponent.js"],a["Accessibility/Components/SeriesComponent/SeriesComponent.js"],a["Accessibility/Components/ZoomComponent.js"],a["Accessibility/Components/RangeSelectorComponent.js"],a["Accessibility/Components/InfoRegionsComponent.js"],a["Accessibility/Components/ContainerComponent.js"],a["Accessibility/HighContrastMode.js"],a["Accessibility/HighContrastTheme.js"],a["Accessibility/Options/Options.js"], +a["Accessibility/Options/LangOptions.js"],a["Accessibility/Options/DeprecatedOptions.js"]],function(a,f,l,m,n,g,h,p,e,d,b,c,k,t,v,w,H,A,D,y,z){function q(a){this.init(a)}var r=f.doc,u=h.addEvent,F=h.extend,B=h.fireEvent,E=h.merge;E(!0,n.defaultOptions,D,{accessibility:{highContrastTheme:A},lang:y});f.A11yChartUtilities=a;f.KeyboardNavigationHandler=l;f.AccessibilityComponent=p;q.prototype={init:function(a){this.chart=a;r.addEventListener&&a.renderer.isSVG?(z(a),this.initComponents(),this.keyboardNavigation= +new e(a,this.components),this.update()):a.renderTo.setAttribute("aria-hidden",!0)},initComponents:function(){var a=this.chart,e=a.options.accessibility;this.components={container:new w,infoRegions:new v,legend:new d,chartMenu:new b,rangeSelector:new t,series:new c,zoom:new k};e.customComponents&&F(this.components,e.customComponents);var f=this.components;this.getComponentOrder().forEach(function(b){f[b].initBase(a);f[b].init()})},getComponentOrder:function(){if(!this.components)return[];if(!this.components.series)return Object.keys(this.components); +var a=Object.keys(this.components).filter(function(a){return"series"!==a});return["series"].concat(a)},update:function(){var a=this.components,b=this.chart,c=b.options.accessibility;B(b,"beforeA11yUpdate");b.types=this.getChartTypes();this.getComponentOrder().forEach(function(c){a[c].onChartUpdate();B(b,"afterA11yComponentUpdate",{name:c,component:a[c]})});this.keyboardNavigation.update(c.keyboardNavigation.order);!b.highContrastModeActive&&H.isHighContrastModeActive()&&H.setHighContrastTheme(b); +B(b,"afterA11yUpdate",{accessibility:this})},destroy:function(){var a=this.chart||{},b=this.components;Object.keys(b).forEach(function(a){b[a].destroy();b[a].destroyBase()});this.keyboardNavigation&&this.keyboardNavigation.destroy();a.renderTo&&a.renderTo.setAttribute("aria-hidden",!0);a.focusElement&&a.focusElement.removeFocusBorder()},getChartTypes:function(){var a={};this.chart.series.forEach(function(b){a[b.type]=1});return Object.keys(a)}};f.Chart.prototype.updateA11yEnabled=function(){var a= +this.accessibility,b=this.options.accessibility;b&&b.enabled?a?a.update():this.accessibility=new q(this):a?(a.destroy&&a.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)};u(f.Chart,"render",function(a){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());var b=this.accessibility;b&&b.getComponentOrder().forEach(function(a){b.components[a].onChartRender()})});u(f.Chart,"update",function(a){if(a=a.options.accessibility)a.customComponents&& +(this.options.accessibility.customComponents=a.customComponents,delete a.customComponents),E(!0,this.options.accessibility,a),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility);this.a11yDirty=!0});u(g,"update",function(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)});["addSeries","init"].forEach(function(a){u(f.Chart,a,function(){this.a11yDirty=!0})});["update","updatedData","remove"].forEach(function(a){u(m,a,function(){this.chart.accessibility&& +(this.chart.a11yDirty=!0)})});["afterDrilldown","drillupall"].forEach(function(a){u(f.Chart,a,function(){this.accessibility&&this.accessibility.update()})});u(f.Chart,"destroy",function(){this.accessibility&&this.accessibility.destroy()})});p(a,"masters/modules/accessibility.src.js",[],function(){})}); +//# sourceMappingURL=accessibility.js.map \ No newline at end of file diff --git a/notemyprogress/js/moment-timezone.js b/notemyprogress/js/moment-timezone.js index 594adbfa3148da8870d12c7b11b0d8ad012b6803..69041e75a21028fe94809e0dd889f91dc26bb1a2 100644 --- a/notemyprogress/js/moment-timezone.js +++ b/notemyprogress/js/moment-timezone.js @@ -1,1285 +1 @@ -!(function (c, M) { - "use strict"; - "object" == typeof module && module.exports - ? (module.exports = M(require("moment"))) - : "function" == typeof define && define.amd - ? define(["moment"], M) - : M(c.moment); -})(this, function (b) { - "use strict"; - void 0 === b.version && b.default && (b = b.default); - var M, - a = {}, - p = {}, - n = {}, - i = {}, - e = {}; - (b && "string" == typeof b.version) || - S( - "Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/" - ); - var c = b.version.split("."), - A = +c[0], - o = +c[1]; - function L(c) { - return 96 < c ? c - 87 : 64 < c ? c - 29 : c - 48; - } - function z(c) { - var M = 0, - A = c.split("."), - o = A[0], - z = A[1] || "", - b = 1, - a = 0, - p = 1; - for (45 === c.charCodeAt(0) && (p = -(M = 1)); M < o.length; M++) - a = 60 * a + L(o.charCodeAt(M)); - for (M = 0; M < z.length; M++) (b /= 60), (a += L(z.charCodeAt(M)) * b); - return a * p; - } - function O(c) { - for (var M = 0; M < c.length; M++) c[M] = z(c[M]); - } - function q(c, M) { - for (var A = [], o = 0; o < M.length; o++) A[o] = c[M[o]]; - return A; - } - function r(c) { - var M = c.split("|"), - A = M[2].split(" "), - o = M[3].split(""), - z = M[4].split(" "); - return ( - O(A), - O(o), - O(z), - (function (c, M) { - for (var A = 0; A < M; A++) - c[A] = Math.round((c[A - 1] || 0) + 6e4 * c[A]); - c[M - 1] = 1 / 0; - })(z, o.length), - { - name: M[0], - abbrs: q(M[1].split(" "), o), - offsets: q(A, o), - untils: z, - population: 0 | M[5], - } - ); - } - function N(c) { - c && this._set(r(c)); - } - function d(c, M) { - (this.name = c), (this.zones = M); - } - function W(c) { - var M = c.toTimeString(), - A = M.match(/\([a-z ]+\)/i); - "GMT" === - (A = - A && A[0] - ? (A = A[0].match(/[A-Z]/g)) - ? A.join("") - : void 0 - : (A = M.match(/[A-Z]{3,5}/g)) - ? A[0] - : void 0) && (A = void 0), - (this.at = +c), - (this.abbr = A), - (this.offset = c.getTimezoneOffset()); - } - function f(c) { - (this.zone = c), (this.offsetScore = 0), (this.abbrScore = 0); - } - function X() { - for ( - var c, - M, - A = new Date().getFullYear() - 2, - o = new W(new Date(A, 0, 1)), - z = [o], - b = 1; - b < 48; - b++ - ) - (M = new W(new Date(A, b, 1))).offset !== o.offset && - ((c = (function (c, M) { - for (var A, o; (o = 6e4 * (((M.at - c.at) / 12e4) | 0)); ) - (A = new W(new Date(c.at + o))).offset === c.offset - ? (c = A) - : (M = A); - return c; - })(o, M)), - z.push(c), - z.push(new W(new Date(c.at + 6e4)))), - (o = M); - for (b = 0; b < 4; b++) - z.push(new W(new Date(A + b, 0, 1))), - z.push(new W(new Date(A + b, 6, 1))); - return z; - } - function u(c, M) { - return c.offsetScore !== M.offsetScore - ? c.offsetScore - M.offsetScore - : c.abbrScore !== M.abbrScore - ? c.abbrScore - M.abbrScore - : c.zone.population !== M.zone.population - ? M.zone.population - c.zone.population - : M.zone.name.localeCompare(c.zone.name); - } - function B() { - try { - var c = Intl.DateTimeFormat().resolvedOptions().timeZone; - if (c && 3 < c.length) { - var M = i[l(c)]; - if (M) return M; - S( - "Moment Timezone found " + - c + - " from the Intl api, but did not have that data loaded." - ); - } - } catch (c) {} - for ( - var A, - o, - z = X(), - b = z.length, - a = (function (c) { - for (var M, A, o = c.length, z = {}, b = [], a = 0; a < o; a++) - for (M in (A = e[c[a].offset] || {})) - A.hasOwnProperty(M) && (z[M] = !0); - for (a in z) z.hasOwnProperty(a) && b.push(i[a]); - return b; - })(z), - p = [], - n = 0; - n < a.length; - n++ - ) { - for (A = new f(t(a[n])), o = 0; o < b; o++) A.scoreOffsetAt(z[o]); - p.push(A); - } - return p.sort(u), 0 < p.length ? p[0].zone.name : void 0; - } - function l(c) { - return (c || "").toLowerCase().replace(/\//g, "_"); - } - function T(c) { - var M, A, o, z; - for ("string" == typeof c && (c = [c]), M = 0; M < c.length; M++) - (z = l((A = (o = c[M].split("|"))[0]))), - (a[z] = c[M]), - (i[z] = A), - (function (c, M) { - var A, o; - for (O(M), A = 0; A < M.length; A++) - (o = M[A]), (e[o] = e[o] || {}), (e[o][c] = !0); - })(z, o[2].split(" ")); - } - function t(c, M) { - c = l(c); - var A, - o = a[c]; - return o instanceof N - ? o - : "string" == typeof o - ? ((o = new N(o)), (a[c] = o)) - : p[c] && M !== t && (A = t(p[c], t)) - ? ((o = a[c] = new N())._set(A), (o.name = i[c]), o) - : null; - } - function s(c) { - var M, A, o, z; - for ("string" == typeof c && (c = [c]), M = 0; M < c.length; M++) - (o = l((A = c[M].split("|"))[0])), - (z = l(A[1])), - (p[o] = z), - (i[o] = A[0]), - (p[z] = o), - (i[z] = A[1]); - } - function E(c) { - T(c.zones), - s(c.links), - (function (c) { - var M, A, o, z; - if (c && c.length) - for (M = 0; M < c.length; M++) - (A = (z = c[M].split("|"))[0].toUpperCase()), - (o = z[1].split(" ")), - (n[A] = new d(A, o)); - })(c.countries), - (R.dataVersion = c.version); - } - function m(c) { - return ( - m.didShowError || - ((m.didShowError = !0), - S( - "moment.tz.zoneExists('" + - c + - "') has been deprecated in favor of !moment.tz.zone('" + - c + - "')" - )), - !!t(c) - ); - } - function C(c) { - var M = "X" === c._f || "x" === c._f; - return !(!c._a || void 0 !== c._tzm || M); - } - function S(c) { - "undefined" != typeof console && - "function" == typeof console.error && - console.error(c); - } - function R(c) { - var M = Array.prototype.slice.call(arguments, 0, -1), - A = arguments[arguments.length - 1], - o = t(A), - z = b.utc.apply(null, M); - return ( - o && !b.isMoment(c) && C(z) && z.add(o.parse(z), "minutes"), z.tz(A), z - ); - } - (A < 2 || (2 == A && o < 6)) && - S( - "Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " + - b.version + - ". See momentjs.com" - ), - (N.prototype = { - _set: function (c) { - (this.name = c.name), - (this.abbrs = c.abbrs), - (this.untils = c.untils), - (this.offsets = c.offsets), - (this.population = c.population); - }, - _index: function (c) { - for (var M = +c, A = this.untils, o = 0; o < A.length; o++) - if (M < A[o]) return o; - }, - countries: function () { - var M = this.name; - return Object.keys(n).filter(function (c) { - return -1 !== n[c].zones.indexOf(M); - }); - }, - parse: function (c) { - for ( - var M, - A, - o, - z = +c, - b = this.offsets, - a = this.untils, - p = a.length - 1, - n = 0; - n < p; - n++ - ) - if ( - ((M = b[n]), - (A = b[n + 1]), - (o = b[n ? n - 1 : n]), - M < A && R.moveAmbiguousForward - ? (M = A) - : o < M && R.moveInvalidForward && (M = o), - z < a[n] - 6e4 * M) - ) - return b[n]; - return b[p]; - }, - abbr: function (c) { - return this.abbrs[this._index(c)]; - }, - offset: function (c) { - return ( - S("zone.offset has been deprecated in favor of zone.utcOffset"), - this.offsets[this._index(c)] - ); - }, - utcOffset: function (c) { - return this.offsets[this._index(c)]; - }, - }), - (f.prototype.scoreOffsetAt = function (c) { - (this.offsetScore += Math.abs(this.zone.utcOffset(c.at) - c.offset)), - this.zone.abbr(c.at).replace(/[^A-Z]/g, "") !== c.abbr && - this.abbrScore++; - }), - (R.version = "0.5.33"), - (R.dataVersion = ""), - (R._zones = a), - (R._links = p), - (R._names = i), - (R._countries = n), - (R.add = T), - (R.link = s), - (R.load = E), - (R.zone = t), - (R.zoneExists = m), - (R.guess = function (c) { - return (M && !c) || (M = B()), M; - }), - (R.names = function () { - var c, - M = []; - for (c in i) - i.hasOwnProperty(c) && (a[c] || a[p[c]]) && i[c] && M.push(i[c]); - return M.sort(); - }), - (R.Zone = N), - (R.unpack = r), - (R.unpackBase60 = z), - (R.needsOffset = C), - (R.moveInvalidForward = !0), - (R.moveAmbiguousForward = !1), - (R.countries = function () { - return Object.keys(n); - }), - (R.zonesForCountry = function (c, M) { - var A; - if (((A = (A = c).toUpperCase()), !(c = n[A] || null))) return null; - var o = c.zones.sort(); - return M - ? o.map(function (c) { - return { name: c, offset: t(c).utcOffset(new Date()) }; - }) - : o; - }); - var g, - P = b.fn; - function D(c) { - return function () { - return this._z ? this._z.abbr(this) : c.call(this); - }; - } - function h(c) { - return function () { - return (this._z = null), c.apply(this, arguments); - }; - } - (b.tz = R), - (b.defaultZone = null), - (b.updateOffset = function (c, M) { - var A, - o, - z = b.defaultZone; - void 0 === c._z && - (z && - C(c) && - !c._isUTC && - ((c._d = b.utc(c._a)._d), c.utc().add(z.parse(c), "minutes")), - (c._z = z)), - c._z && - ((o = c._z.utcOffset(c)), - Math.abs(o) < 16 && (o /= 60), - void 0 !== c.utcOffset - ? ((A = c._z), c.utcOffset(-o, M), (c._z = A)) - : c.zone(o, M)); - }), - (P.tz = function (c, M) { - if (c) { - if ("string" != typeof c) - throw new Error( - "Time zone name must be a string, got " + c + " [" + typeof c + "]" - ); - return ( - (this._z = t(c)), - this._z - ? b.updateOffset(this, M) - : S( - "Moment Timezone has no data for " + - c + - ". See http://momentjs.com/timezone/docs/#/data-loading/." - ), - this - ); - } - if (this._z) return this._z.name; - }), - (P.zoneName = D(P.zoneName)), - (P.zoneAbbr = D(P.zoneAbbr)), - (P.utc = h(P.utc)), - (P.local = h(P.local)), - (P.utcOffset = - ((g = P.utcOffset), - function () { - return ( - 0 < arguments.length && (this._z = null), g.apply(this, arguments) - ); - })), - (b.tz.setDefault = function (c) { - return ( - (A < 2 || (2 == A && o < 9)) && - S( - "Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " + - b.version + - "." - ), - (b.defaultZone = c ? t(c) : null), - b - ); - }); - var k = b.momentProperties; - return ( - "[object Array]" === Object.prototype.toString.call(k) - ? (k.push("_z"), k.push("_a")) - : k && (k._z = null), - E({ - version: "2021a", - zones: [ - "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5", - "Africa/Accra|LMT GMT +0020 +0030|.Q 0 -k -u|01212121212121212121212121212121212121212121212131313131313131|-2bRzX.8 9RbX.8 fdE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE Mok 1BXE M0k 1BXE fak 9vbu bjCu MLu 1Bcu MLu 1BAu MLu 1Bcu MLu 1Bcu MLu 1Bcu MLu|41e5", - "Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5", - "Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l 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|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 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|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-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|32e5", - "Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 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|85e3", - "Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-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|20e4", - "Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 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|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5", - "Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5", - "Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 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|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 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|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 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|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 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|326", - "America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 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|30e4", - "America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3", - "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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c 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/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4", - "America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 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|28e5", - "America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2", - "America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-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|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 BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v 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/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2", - "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|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5", - "America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 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|21e4", - "America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-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|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|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5", - "America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3", - "America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5", - "America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 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|92e5", - "America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|81e4", - "America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5", - "America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2", - "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|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 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|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 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|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 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|26e5", - "America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-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|37e5", - "America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 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|20e5", - "America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 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|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "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|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|19e3", - "America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|17e3", - "America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 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|76e2", - "America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212132121212121212121212121212121212121212121|-2l1uQ.O 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|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|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5", - "America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4", - "America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|39e4", - "America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 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|21e5", - "America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4", - "America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 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|", - "America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 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|", - "America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-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|35e2", - "America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-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|67e2", - "America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4", - "America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 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|33e3", - "America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|", - "America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5", - "America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6", - "America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 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|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|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 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|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4", - "America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|45e4", - "America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|44e4", - "America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 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|85e2", - "America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-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|11e5", - "America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 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|14e2", - "America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|20e6", - "America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|61e2", - "America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 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|64e3", - "America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 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|65e5", - "America/Nassau|LMT EST EWT EPT EDT|59.u 50 40 40 40|01212314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2kNuO.u 1drbO.u 6tX0 cp0 1hS0 pF0 J630 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|24e4", - "America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 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|21e6", - "America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 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|16e2", - "America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 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|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|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-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 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|", - "America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-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 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|", - "America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-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 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|", - "America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|23e3", - "America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-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|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/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5", - "America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 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|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/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5", - "America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 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|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 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|842", - "America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-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|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|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-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|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|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 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 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|62e5", - "America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 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|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|452", - "America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 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|90e2", - "America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 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|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|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|656", - "America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 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|11e4", - "America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 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|23e5", - "America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 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|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 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|66e4", - "America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 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|642", - "America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-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|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", - "Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80", - "Antarctica/Macquarie|AEST AEDT -00|-a0 -b0 0|010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 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|1", - "Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60", - "Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu 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|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", - "Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20", - "Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|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|40", - "Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25", - "Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 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|62e4", - "Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5", - "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|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|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|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 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|BMT +07|-6G.4 -70|01|-218SG.4|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|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 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|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|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4", - "Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.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|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 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|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5", - "Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6", - "Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 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|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|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-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|", - "Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 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 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5", - "Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 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 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4", - "Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 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|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 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|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.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|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk 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|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.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|81e4", - "Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|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/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5", - "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|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5", - "Asia/Kuching|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|13e4", - "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|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6", - "Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L 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|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 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|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 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 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6", - "Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3", - "Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 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|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 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 3Co0 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|25e4", - "Atlantic/Bermuda|BMT BST AST ADT|4j.i 3j.i 40 30|010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28p7E.G 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|65e3", - "Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|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|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|49e3", - "Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 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 3Co0 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|27e4", - "Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4", - "Atlantic/South_Georgia|-02|20|0||30", - "Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 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|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 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|40e5", - "Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju 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|11e5", - "Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5", - "Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju 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|18e3", - "Australia/Hobart|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 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|21e4", - "Australia/Darwin|ACST ACDT|-9u -au|010101010|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4", - "Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293iJ xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368", - "Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 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|347", - "Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10", - "Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 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|39e5", - "Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293i0 xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5", - "CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 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 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|30e2", - "CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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|", - "Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D 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|12e5", - "EST|EST|50|0||", - "EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "Etc/GMT-0|GMT|0|0||", - "Etc/GMT-1|+01|-10|0||", - "Pacific/Port_Moresby|+10|-a0|0||25e4", - "Etc/GMT-11|+11|-b0|0||", - "Pacific/Tarawa|+12|-c0|0||29e3", - "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||", - "Indian/Christmas|+07|-70|0||21e2", - "Etc/GMT-8|+08|-80|0||", - "Pacific/Palau|+09|-90|0||21e3", - "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+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/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k 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|16e5", - "Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 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|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|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q 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|35e5", - "Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 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|10e6", - "Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 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|12e5", - "Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|41e5", - "Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|13e5", - "Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 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|21e5", - "Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 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|19e5", - "Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|17e5", - "Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 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|38e4", - "Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT 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|67e4", - "Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 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|12e5", - "Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 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|30e3", - "Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N 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|12e5", - "Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 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|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 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 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 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|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 3Co0 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|27e5", - "Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 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|54e4", - "Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 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|62e5", - "Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 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|42e4", - "Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O 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/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2n5c9.l cFX9.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 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 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|38e3", - "Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 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/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco9.l 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|11e6", - "Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 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|64e4", - "Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 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|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|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g 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 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4", - "Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 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|12e5", - "Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 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|15e5", - "Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND 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|41e4", - "Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4", - "Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|18e5", - "Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 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|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|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 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|17e5", - "Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4", - "HST|HST|a0|0||", - "Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2", - "Indian/Cocos|+0630|-6u|0||596", - "Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130", - "Indian/Mahe|LMT +04|-3F.M -40|01|-2xorF.M|79e3", - "Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4", - "Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4", - "Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4", - "Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3", - "MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "MST|MST|70|0||", - "MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 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|600", - "Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 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 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|37e3", - "Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4", - "Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3", - "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|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1", - "Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483", - "Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-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 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|88e4", - "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|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4", - "Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4", - "Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2", - "Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2", - "Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3", - "Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2", - "Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2", - "Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3", - "Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2", - "Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc 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|25e4", - "Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3", - "Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56", - "Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3", - "Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu 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|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3", - "PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|", - "WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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|", - ], - links: [ - "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/St_Helena", - "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/Atikokan|America/Coral_Harbour", - "America/Chicago|US/Central", - "America/Curacao|America/Aruba", - "America/Curacao|America/Kralendijk", - "America/Curacao|America/Lower_Princes", - "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/Cayman", - "America/Phoenix|US/Arizona", - "America/Port_of_Spain|America/Anguilla", - "America/Port_of_Spain|America/Antigua", - "America/Port_of_Spain|America/Dominica", - "America/Port_of_Spain|America/Grenada", - "America/Port_of_Spain|America/Guadeloupe", - "America/Port_of_Spain|America/Marigot", - "America/Port_of_Spain|America/Montserrat", - "America/Port_of_Spain|America/St_Barthelemy", - "America/Port_of_Spain|America/St_Kitts", - "America/Port_of_Spain|America/St_Lucia", - "America/Port_of_Spain|America/St_Thomas", - "America/Port_of_Spain|America/St_Vincent", - "America/Port_of_Spain|America/Tortola", - "America/Port_of_Spain|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|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/Dhaka|Asia/Dacca", - "Asia/Dubai|Asia/Muscat", - "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/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|Asia/Kashgar", - "Atlantic/Faroe|Atlantic/Faeroe", - "Atlantic/Reykjavik|Iceland", - "Atlantic/South_Georgia|Etc/GMT+2", - "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/Chisinau|Europe/Tiraspol", - "Europe/Dublin|Eire", - "Europe/Helsinki|Europe/Mariehamn", - "Europe/Istanbul|Asia/Istanbul", - "Europe/Istanbul|Turkey", - "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/Oslo|Arctic/Longyearbyen", - "Europe/Oslo|Atlantic/Jan_Mayen", - "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/Christmas|Etc/GMT-7", - "Pacific/Auckland|Antarctica/McMurdo", - "Pacific/Auckland|Antarctica/South_Pole", - "Pacific/Auckland|NZ", - "Pacific/Chatham|NZ-CHAT", - "Pacific/Chuuk|Pacific/Truk", - "Pacific/Chuuk|Pacific/Yap", - "Pacific/Easter|Chile/EasterIsland", - "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/Palau|Etc/GMT-9", - "Pacific/Pohnpei|Pacific/Ponape", - "Pacific/Port_Moresby|Etc/GMT-10", - "Pacific/Tarawa|Etc/GMT-12", - "Pacific/Tarawa|Pacific/Funafuti", - "Pacific/Tarawa|Pacific/Wake", - "Pacific/Tarawa|Pacific/Wallis", - ], - countries: [ - "AD|Europe/Andorra", - "AE|Asia/Dubai", - "AF|Asia/Kabul", - "AG|America/Port_of_Spain America/Antigua", - "AI|America/Port_of_Spain America/Anguilla", - "AL|Europe/Tirane", - "AM|Asia/Yerevan", - "AO|Africa/Lagos Africa/Luanda", - "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo", - "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/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla", - "AW|America/Curacao 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/Port_of_Spain America/St_Barthelemy", - "BM|Atlantic/Bermuda", - "BN|Asia/Brunei", - "BO|America/La_Paz", - "BQ|America/Curacao America/Kralendijk", - "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco", - "BS|America/Nassau", - "BT|Asia/Thimphu", - "BW|Africa/Maputo Africa/Gaborone", - "BY|Europe/Minsk", - "BZ|America/Belize", - "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson", - "CC|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/Curacao", - "CX|Indian/Christmas", - "CY|Asia/Nicosia Asia/Famagusta", - "CZ|Europe/Prague", - "DE|Europe/Zurich Europe/Berlin Europe/Busingen", - "DJ|Africa/Nairobi Africa/Djibouti", - "DK|Europe/Copenhagen", - "DM|America/Port_of_Spain America/Dominica", - "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/Chuuk Pacific/Pohnpei Pacific/Kosrae", - "FO|Atlantic/Faroe", - "FR|Europe/Paris", - "GA|Africa/Lagos Africa/Libreville", - "GB|Europe/London", - "GD|America/Port_of_Spain America/Grenada", - "GE|Asia/Tbilisi", - "GF|America/Cayenne", - "GG|Europe/London Europe/Guernsey", - "GH|Africa/Accra", - "GI|Europe/Gibraltar", - "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule", - "GM|Africa/Abidjan Africa/Banjul", - "GN|Africa/Abidjan Africa/Conakry", - "GP|America/Port_of_Spain America/Guadeloupe", - "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|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/Enderbury Pacific/Kiritimati", - "KM|Africa/Nairobi Indian/Comoro", - "KN|America/Port_of_Spain 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/Port_of_Spain America/St_Lucia", - "LI|Europe/Zurich Europe/Vaduz", - "LK|Asia/Colombo", - "LR|Africa/Monrovia", - "LS|Africa/Johannesburg Africa/Maseru", - "LT|Europe/Vilnius", - "LU|Europe/Luxembourg", - "LV|Europe/Riga", - "LY|Africa/Tripoli", - "MA|Africa/Casablanca", - "MC|Europe/Monaco", - "MD|Europe/Chisinau", - "ME|Europe/Belgrade Europe/Podgorica", - "MF|America/Port_of_Spain America/Marigot", - "MG|Africa/Nairobi Indian/Antananarivo", - "MH|Pacific/Majuro Pacific/Kwajalein", - "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/Port_of_Spain America/Montserrat", - "MT|Europe/Malta", - "MU|Indian/Mauritius", - "MV|Indian/Maldives", - "MW|Africa/Maputo Africa/Blantyre", - "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas", - "MY|Asia/Kuala_Lumpur Asia/Kuching", - "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/Amsterdam", - "NO|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|Indian/Reunion", - "RO|Europe/Bucharest", - "RS|Europe/Belgrade", - "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr", - "RW|Africa/Maputo Africa/Kigali", - "SA|Asia/Riyadh", - "SB|Pacific/Guadalcanal", - "SC|Indian/Mahe", - "SD|Africa/Khartoum", - "SE|Europe/Stockholm", - "SG|Asia/Singapore", - "SH|Africa/Abidjan Atlantic/St_Helena", - "SI|Europe/Belgrade Europe/Ljubljana", - "SJ|Europe/Oslo 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/Curacao America/Lower_Princes", - "SY|Asia/Damascus", - "SZ|Africa/Johannesburg Africa/Mbabane", - "TC|America/Grand_Turk", - "TD|Africa/Ndjamena", - "TF|Indian/Reunion 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/Port_of_Spain", - "TV|Pacific/Funafuti", - "TW|Asia/Taipei", - "TZ|Africa/Nairobi Africa/Dar_es_Salaam", - "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye", - "UG|Africa/Nairobi Africa/Kampala", - "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway", - "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu", - "UY|America/Montevideo", - "UZ|Asia/Samarkand Asia/Tashkent", - "VA|Europe/Rome Europe/Vatican", - "VC|America/Port_of_Spain America/St_Vincent", - "VE|America/Caracas", - "VG|America/Port_of_Spain America/Tortola", - "VI|America/Port_of_Spain America/St_Thomas", - "VN|Asia/Bangkok Asia/Ho_Chi_Minh", - "VU|Pacific/Efate", - "WF|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", - ], - }), - b - ); -}); +!function(c,M){"use strict";"object"==typeof module&&module.exports?module.exports=M(require("moment")):"function"==typeof define&&define.amd?define(["moment"],M):M(c.moment)}(this,function(b){"use strict";void 0===b.version&&b.default&&(b=b.default);var M,a={},p={},n={},i={},e={};b&&"string"==typeof b.version||S("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var c=b.version.split("."),A=+c[0],o=+c[1];function L(c){return 96<c?c-87:64<c?c-29:c-48}function z(c){var M=0,A=c.split("."),o=A[0],z=A[1]||"",b=1,a=0,p=1;for(45===c.charCodeAt(0)&&(p=-(M=1));M<o.length;M++)a=60*a+L(o.charCodeAt(M));for(M=0;M<z.length;M++)b/=60,a+=L(z.charCodeAt(M))*b;return a*p}function O(c){for(var M=0;M<c.length;M++)c[M]=z(c[M])}function q(c,M){for(var A=[],o=0;o<M.length;o++)A[o]=c[M[o]];return A}function r(c){var M=c.split("|"),A=M[2].split(" "),o=M[3].split(""),z=M[4].split(" ");return O(A),O(o),O(z),function(c,M){for(var A=0;A<M;A++)c[A]=Math.round((c[A-1]||0)+6e4*c[A]);c[M-1]=1/0}(z,o.length),{name:M[0],abbrs:q(M[1].split(" "),o),offsets:q(A,o),untils:z,population:0|M[5]}}function N(c){c&&this._set(r(c))}function d(c,M){this.name=c,this.zones=M}function W(c){var M=c.toTimeString(),A=M.match(/\([a-z ]+\)/i);"GMT"===(A=A&&A[0]?(A=A[0].match(/[A-Z]/g))?A.join(""):void 0:(A=M.match(/[A-Z]{3,5}/g))?A[0]:void 0)&&(A=void 0),this.at=+c,this.abbr=A,this.offset=c.getTimezoneOffset()}function f(c){this.zone=c,this.offsetScore=0,this.abbrScore=0}function X(){for(var c,M,A=(new Date).getFullYear()-2,o=new W(new Date(A,0,1)),z=[o],b=1;b<48;b++)(M=new W(new Date(A,b,1))).offset!==o.offset&&(c=function(c,M){for(var A,o;o=6e4*((M.at-c.at)/12e4|0);)(A=new W(new Date(c.at+o))).offset===c.offset?c=A:M=A;return c}(o,M),z.push(c),z.push(new W(new Date(c.at+6e4)))),o=M;for(b=0;b<4;b++)z.push(new W(new Date(A+b,0,1))),z.push(new W(new Date(A+b,6,1)));return z}function u(c,M){return c.offsetScore!==M.offsetScore?c.offsetScore-M.offsetScore:c.abbrScore!==M.abbrScore?c.abbrScore-M.abbrScore:c.zone.population!==M.zone.population?M.zone.population-c.zone.population:M.zone.name.localeCompare(c.zone.name)}function B(){try{var c=Intl.DateTimeFormat().resolvedOptions().timeZone;if(c&&3<c.length){var M=i[l(c)];if(M)return M;S("Moment Timezone found "+c+" from the Intl api, but did not have that data loaded.")}}catch(c){}for(var A,o,z=X(),b=z.length,a=function(c){for(var M,A,o=c.length,z={},b=[],a=0;a<o;a++)for(M in A=e[c[a].offset]||{})A.hasOwnProperty(M)&&(z[M]=!0);for(a in z)z.hasOwnProperty(a)&&b.push(i[a]);return b}(z),p=[],n=0;n<a.length;n++){for(A=new f(t(a[n])),o=0;o<b;o++)A.scoreOffsetAt(z[o]);p.push(A)}return p.sort(u),0<p.length?p[0].zone.name:void 0}function l(c){return(c||"").toLowerCase().replace(/\//g,"_")}function T(c){var M,A,o,z;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)z=l(A=(o=c[M].split("|"))[0]),a[z]=c[M],i[z]=A,function(c,M){var A,o;for(O(M),A=0;A<M.length;A++)o=M[A],e[o]=e[o]||{},e[o][c]=!0}(z,o[2].split(" "))}function t(c,M){c=l(c);var A,o=a[c];return o instanceof N?o:"string"==typeof o?(o=new N(o),a[c]=o):p[c]&&M!==t&&(A=t(p[c],t))?((o=a[c]=new N)._set(A),o.name=i[c],o):null}function s(c){var M,A,o,z;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)o=l((A=c[M].split("|"))[0]),z=l(A[1]),p[o]=z,i[o]=A[0],p[z]=o,i[z]=A[1]}function E(c){T(c.zones),s(c.links),function(c){var M,A,o,z;if(c&&c.length)for(M=0;M<c.length;M++)A=(z=c[M].split("|"))[0].toUpperCase(),o=z[1].split(" "),n[A]=new d(A,o)}(c.countries),R.dataVersion=c.version}function m(c){return m.didShowError||(m.didShowError=!0,S("moment.tz.zoneExists('"+c+"') has been deprecated in favor of !moment.tz.zone('"+c+"')")),!!t(c)}function C(c){var M="X"===c._f||"x"===c._f;return!(!c._a||void 0!==c._tzm||M)}function S(c){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(c)}function R(c){var M=Array.prototype.slice.call(arguments,0,-1),A=arguments[arguments.length-1],o=t(A),z=b.utc.apply(null,M);return o&&!b.isMoment(c)&&C(z)&&z.add(o.parse(z),"minutes"),z.tz(A),z}(A<2||2==A&&o<6)&&S("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+b.version+". See momentjs.com"),N.prototype={_set:function(c){this.name=c.name,this.abbrs=c.abbrs,this.untils=c.untils,this.offsets=c.offsets,this.population=c.population},_index:function(c){for(var M=+c,A=this.untils,o=0;o<A.length;o++)if(M<A[o])return o},countries:function(){var M=this.name;return Object.keys(n).filter(function(c){return-1!==n[c].zones.indexOf(M)})},parse:function(c){for(var M,A,o,z=+c,b=this.offsets,a=this.untils,p=a.length-1,n=0;n<p;n++)if(M=b[n],A=b[n+1],o=b[n?n-1:n],M<A&&R.moveAmbiguousForward?M=A:o<M&&R.moveInvalidForward&&(M=o),z<a[n]-6e4*M)return b[n];return b[p]},abbr:function(c){return this.abbrs[this._index(c)]},offset:function(c){return S("zone.offset has been deprecated in favor of zone.utcOffset"),this.offsets[this._index(c)]},utcOffset:function(c){return this.offsets[this._index(c)]}},f.prototype.scoreOffsetAt=function(c){this.offsetScore+=Math.abs(this.zone.utcOffset(c.at)-c.offset),this.zone.abbr(c.at).replace(/[^A-Z]/g,"")!==c.abbr&&this.abbrScore++},R.version="0.5.33",R.dataVersion="",R._zones=a,R._links=p,R._names=i,R._countries=n,R.add=T,R.link=s,R.load=E,R.zone=t,R.zoneExists=m,R.guess=function(c){return M&&!c||(M=B()),M},R.names=function(){var c,M=[];for(c in i)i.hasOwnProperty(c)&&(a[c]||a[p[c]])&&i[c]&&M.push(i[c]);return M.sort()},R.Zone=N,R.unpack=r,R.unpackBase60=z,R.needsOffset=C,R.moveInvalidForward=!0,R.moveAmbiguousForward=!1,R.countries=function(){return Object.keys(n)},R.zonesForCountry=function(c,M){var A;if(A=(A=c).toUpperCase(),!(c=n[A]||null))return null;var o=c.zones.sort();return M?o.map(function(c){return{name:c,offset:t(c).utcOffset(new Date)}}):o};var g,P=b.fn;function D(c){return function(){return this._z?this._z.abbr(this):c.call(this)}}function h(c){return function(){return this._z=null,c.apply(this,arguments)}}b.tz=R,b.defaultZone=null,b.updateOffset=function(c,M){var A,o,z=b.defaultZone;void 0===c._z&&(z&&C(c)&&!c._isUTC&&(c._d=b.utc(c._a)._d,c.utc().add(z.parse(c),"minutes")),c._z=z),c._z&&(o=c._z.utcOffset(c),Math.abs(o)<16&&(o/=60),void 0!==c.utcOffset?(A=c._z,c.utcOffset(-o,M),c._z=A):c.zone(o,M))},P.tz=function(c,M){if(c){if("string"!=typeof c)throw new Error("Time zone name must be a string, got "+c+" ["+typeof c+"]");return this._z=t(c),this._z?b.updateOffset(this,M):S("Moment Timezone has no data for "+c+". See http://momentjs.com/timezone/docs/#/data-loading/."),this}if(this._z)return this._z.name},P.zoneName=D(P.zoneName),P.zoneAbbr=D(P.zoneAbbr),P.utc=h(P.utc),P.local=h(P.local),P.utcOffset=(g=P.utcOffset,function(){return 0<arguments.length&&(this._z=null),g.apply(this,arguments)}),b.tz.setDefault=function(c){return(A<2||2==A&&o<9)&&S("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+b.version+"."),b.defaultZone=c?t(c):null,b};var k=b.momentProperties;return"[object Array]"===Object.prototype.toString.call(k)?(k.push("_z"),k.push("_a")):k&&(k._z=null),E({version:"2021a",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020 +0030|.Q 0 -k -u|01212121212121212121212121212121212121212121212131313131313131|-2bRzX.8 9RbX.8 fdE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE Mok 1BXE M0k 1BXE fak 9vbu bjCu MLu 1Bcu MLu 1BAu MLu 1Bcu MLu 1Bcu MLu 1Bcu MLu|41e5","Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l 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|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 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|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-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|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 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|85e3","Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-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|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 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|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 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|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 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|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 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|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 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|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 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|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c 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|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c 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/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 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|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-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|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 BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v 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/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","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|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 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|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-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|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|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 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|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","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|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 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|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 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|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 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|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-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|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 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|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 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|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|","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|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 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|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212132121212121212121212121212121212121212121|-2l1uQ.O 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|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|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 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|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 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|","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 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|","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-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|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-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|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 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|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 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|","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 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|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|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 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|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 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|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-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|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 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|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 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|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 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|65e5","America/Nassau|LMT EST EWT EPT EDT|59.u 50 40 40 40|01212314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2kNuO.u 1drbO.u 6tX0 cp0 1hS0 pF0 J630 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|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 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|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 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|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 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|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|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-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 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|","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-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 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|","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-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 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|","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-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|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-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|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/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 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|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/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 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|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 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|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-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|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|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-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|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|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 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 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|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 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|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 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|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 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|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|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 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|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 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|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 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|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 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|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 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|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-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|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","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00|-a0 -b0 0|010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 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|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu 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|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","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|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|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 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|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","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|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|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|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 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|BMT +07|-6G.4 -70|01|-218SG.4|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|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 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|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|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.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|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 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|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 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|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|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-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|","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 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 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 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 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 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|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 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|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.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|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk 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|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.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|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|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/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","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|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|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|13e4","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|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L 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|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 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|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 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 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 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|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 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 3Co0 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|25e4","Atlantic/Bermuda|BMT BST AST ADT|4j.i 3j.i 40 30|010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28p7E.G 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|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-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|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|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 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 3Co0 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|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 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|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 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|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju 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|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju 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|18e3","Australia/Hobart|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 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|21e4","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293iJ xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 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|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 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|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293i0 xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 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 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|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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|","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D 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|12e5","EST|EST|50|0||","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","Etc/GMT-0|GMT|0|0||","Etc/GMT-1|+01|-10|0||","Pacific/Port_Moresby|+10|-a0|0||25e4","Etc/GMT-11|+11|-b0|0||","Pacific/Tarawa|+12|-c0|0||29e3","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||","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0||","Pacific/Palau|+09|-90|0||21e3","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+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/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k 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|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 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|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|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q 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|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 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|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 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|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 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|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 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|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 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|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT 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|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 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|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 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|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N 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|12e5","Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 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|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 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 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 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|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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 3Co0 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|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 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|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 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|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 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|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O 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/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2n5c9.l cFX9.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 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 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|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 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/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco9.l 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|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 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|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 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|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|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g 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 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 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|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 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|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND 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|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-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|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/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 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|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 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|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|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 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|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0||","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2xorF.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","MST|MST|70|0||","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 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|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 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 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|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3","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|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-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 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|88e4","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|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2","Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc 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|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu 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|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-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|","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|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|"],links:["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/St_Helena","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/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","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/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|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|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/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","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/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|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","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/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","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/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","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/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Easter|Chile/EasterIsland","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/Palau|Etc/GMT-9","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"],countries:["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","AG|America/Port_of_Spain America/Antigua","AI|America/Port_of_Spain America/Anguilla","AL|Europe/Tirane","AM|Asia/Yerevan","AO|Africa/Lagos Africa/Luanda","AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo","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/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla","AW|America/Curacao 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/Port_of_Spain America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Brunei","BO|America/La_Paz","BQ|America/Curacao America/Kralendijk","BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco","BS|America/Nassau","BT|Asia/Thimphu","BW|Africa/Maputo Africa/Gaborone","BY|Europe/Minsk","BZ|America/Belize","CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson","CC|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/Curacao","CX|Indian/Christmas","CY|Asia/Nicosia Asia/Famagusta","CZ|Europe/Prague","DE|Europe/Zurich Europe/Berlin Europe/Busingen","DJ|Africa/Nairobi Africa/Djibouti","DK|Europe/Copenhagen","DM|America/Port_of_Spain America/Dominica","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/Chuuk Pacific/Pohnpei Pacific/Kosrae","FO|Atlantic/Faroe","FR|Europe/Paris","GA|Africa/Lagos Africa/Libreville","GB|Europe/London","GD|America/Port_of_Spain America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London Europe/Guernsey","GH|Africa/Accra","GI|Europe/Gibraltar","GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule","GM|Africa/Abidjan Africa/Banjul","GN|Africa/Abidjan Africa/Conakry","GP|America/Port_of_Spain America/Guadeloupe","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|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/Enderbury Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Port_of_Spain 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/Port_of_Spain America/St_Lucia","LI|Europe/Zurich Europe/Vaduz","LK|Asia/Colombo","LR|Africa/Monrovia","LS|Africa/Johannesburg Africa/Maseru","LT|Europe/Vilnius","LU|Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Port_of_Spain America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Majuro Pacific/Kwajalein","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/Port_of_Spain America/Montserrat","MT|Europe/Malta","MU|Indian/Mauritius","MV|Indian/Maldives","MW|Africa/Maputo Africa/Blantyre","MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas","MY|Asia/Kuala_Lumpur Asia/Kuching","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/Amsterdam","NO|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|Indian/Reunion","RO|Europe/Bucharest","RS|Europe/Belgrade","RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr","RW|Africa/Maputo Africa/Kigali","SA|Asia/Riyadh","SB|Pacific/Guadalcanal","SC|Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Oslo 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/Curacao America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Indian/Reunion 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/Port_of_Spain","TV|Pacific/Funafuti","TW|Asia/Taipei","TZ|Africa/Nairobi Africa/Dar_es_Salaam","UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye","UG|Africa/Nairobi Africa/Kampala","UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway","US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu","UY|America/Montevideo","UZ|Asia/Samarkand Asia/Tashkent","VA|Europe/Rome Europe/Vatican","VC|America/Port_of_Spain America/St_Vincent","VE|America/Caracas","VG|America/Port_of_Spain America/Tortola","VI|America/Port_of_Spain America/St_Thomas","VN|Asia/Bangkok Asia/Ho_Chi_Minh","VU|Pacific/Efate","WF|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"]}),b}); \ No newline at end of file diff --git a/notemyprogress/js/moment.js b/notemyprogress/js/moment.js index 98f07a53861b088165cd7ffc82cf2e507fc957bc..57cd2d4f3d3d8b64a34577593a9be3be50503e1b 100644 --- a/notemyprogress/js/moment.js +++ b/notemyprogress/js/moment.js @@ -1,3347 +1,2 @@ -!(function (e, t) { - "object" == typeof exports && "undefined" != typeof module - ? (module.exports = t()) - : "function" == typeof define && define.amd - ? define(t) - : (e.moment = t()); -})(this, function () { - "use strict"; - var e, i; - function f() { - return e.apply(null, arguments); - } - function o(e) { - return ( - e instanceof Array || - "[object Array]" === Object.prototype.toString.call(e) - ); - } - function u(e) { - return null != e && "[object Object]" === Object.prototype.toString.call(e); - } - function m(e, t) { - return Object.prototype.hasOwnProperty.call(e, t); - } - function l(e) { - if (Object.getOwnPropertyNames) - return 0 === Object.getOwnPropertyNames(e).length; - for (var t in e) if (m(e, t)) return; - return 1; - } - function r(e) { - return void 0 === e; - } - function h(e) { - return ( - "number" == typeof e || - "[object Number]" === Object.prototype.toString.call(e) - ); - } - function a(e) { - return ( - e instanceof Date || "[object Date]" === Object.prototype.toString.call(e) - ); - } - function d(e, t) { - for (var n = [], s = 0; s < e.length; ++s) n.push(t(e[s], s)); - return n; - } - function c(e, t) { - for (var n in t) m(t, n) && (e[n] = t[n]); - return ( - m(t, "toString") && (e.toString = t.toString), - m(t, "valueOf") && (e.valueOf = t.valueOf), - e - ); - } - function _(e, t, n, s) { - return xt(e, t, n, s, !0).utc(); - } - function y(e) { - return ( - null == e._pf && - (e._pf = { - empty: !1, - unusedTokens: [], - unusedInput: [], - overflow: -2, - charsLeftOver: 0, - nullInput: !1, - invalidEra: null, - invalidMonth: null, - invalidFormat: !1, - userInvalidated: !1, - iso: !1, - parsedDateParts: [], - era: null, - meridiem: null, - rfc2822: !1, - weekdayMismatch: !1, - }), - e._pf - ); - } - function g(e) { - if (null == e._isValid) { - var t = y(e), - n = i.call(t.parsedDateParts, function (e) { - return null != e; - }), - s = - !isNaN(e._d.getTime()) && - t.overflow < 0 && - !t.empty && - !t.invalidEra && - !t.invalidMonth && - !t.invalidWeekday && - !t.weekdayMismatch && - !t.nullInput && - !t.invalidFormat && - !t.userInvalidated && - (!t.meridiem || (t.meridiem && n)); - if ( - (e._strict && - (s = - s && - 0 === t.charsLeftOver && - 0 === t.unusedTokens.length && - void 0 === t.bigHour), - null != Object.isFrozen && Object.isFrozen(e)) - ) - return s; - e._isValid = s; - } - return e._isValid; - } - function w(e) { - var t = _(NaN); - return null != e ? c(y(t), e) : (y(t).userInvalidated = !0), t; - } - i = Array.prototype.some - ? Array.prototype.some - : function (e) { - for (var t = Object(this), n = t.length >>> 0, s = 0; s < n; s++) - if (s in t && e.call(this, t[s], s, t)) return !0; - return !1; - }; - var p = (f.momentProperties = []), - t = !1; - function v(e, t) { - var n, s, i; - if ( - (r(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), - r(t._i) || (e._i = t._i), - r(t._f) || (e._f = t._f), - r(t._l) || (e._l = t._l), - r(t._strict) || (e._strict = t._strict), - r(t._tzm) || (e._tzm = t._tzm), - r(t._isUTC) || (e._isUTC = t._isUTC), - r(t._offset) || (e._offset = t._offset), - r(t._pf) || (e._pf = y(t)), - r(t._locale) || (e._locale = t._locale), - 0 < p.length) - ) - for (n = 0; n < p.length; n++) r((i = t[(s = p[n])])) || (e[s] = i); - return e; - } - function k(e) { - v(this, e), - (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), - this.isValid() || (this._d = new Date(NaN)), - !1 === t && ((t = !0), f.updateOffset(this), (t = !1)); - } - function M(e) { - return e instanceof k || (null != e && null != e._isAMomentObject); - } - function D(e) { - !1 === f.suppressDeprecationWarnings && - "undefined" != typeof console && - console.warn && - console.warn("Deprecation warning: " + e); - } - function n(i, r) { - var a = !0; - return c(function () { - if ((null != f.deprecationHandler && f.deprecationHandler(null, i), a)) { - for (var e, t, n = [], s = 0; s < arguments.length; s++) { - if (((e = ""), "object" == typeof arguments[s])) { - for (t in ((e += "\n[" + s + "] "), arguments[0])) - m(arguments[0], t) && (e += t + ": " + arguments[0][t] + ", "); - e = e.slice(0, -2); - } else e = arguments[s]; - n.push(e); - } - D( - i + - "\nArguments: " + - Array.prototype.slice.call(n).join("") + - "\n" + - new Error().stack - ), - (a = !1); - } - return r.apply(this, arguments); - }, r); - } - var s, - S = {}; - function Y(e, t) { - null != f.deprecationHandler && f.deprecationHandler(e, t), - S[e] || (D(t), (S[e] = !0)); - } - function O(e) { - return ( - ("undefined" != typeof Function && e instanceof Function) || - "[object Function]" === Object.prototype.toString.call(e) - ); - } - function b(e, t) { - var n, - s = c({}, e); - for (n in t) - m(t, n) && - (u(e[n]) && u(t[n]) - ? ((s[n] = {}), c(s[n], e[n]), c(s[n], t[n])) - : null != t[n] - ? (s[n] = t[n]) - : delete s[n]); - for (n in e) m(e, n) && !m(t, n) && u(e[n]) && (s[n] = c({}, s[n])); - return s; - } - function x(e) { - null != e && this.set(e); - } - (f.suppressDeprecationWarnings = !1), - (f.deprecationHandler = null), - (s = Object.keys - ? Object.keys - : function (e) { - var t, - n = []; - for (t in e) m(e, t) && n.push(t); - return n; - }); - function T(e, t, n) { - var s = "" + Math.abs(e), - i = t - s.length; - return ( - (0 <= e ? (n ? "+" : "") : "-") + - Math.pow(10, Math.max(0, i)).toString().substr(1) + - s - ); - } - var N = - /(\[[^\[]*\])|(\\)?([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, - P = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, - R = {}, - W = {}; - function C(e, t, n, s) { - var i = - "string" == typeof s - ? function () { - return this[s](); - } - : s; - e && (W[e] = i), - t && - (W[t[0]] = function () { - return T(i.apply(this, arguments), t[1], t[2]); - }), - n && - (W[n] = function () { - return this.localeData().ordinal(i.apply(this, arguments), e); - }); - } - function U(e, t) { - return e.isValid() - ? ((t = H(t, e.localeData())), - (R[t] = - R[t] || - (function (s) { - for (var e, i = s.match(N), t = 0, r = i.length; t < r; t++) - W[i[t]] - ? (i[t] = W[i[t]]) - : (i[t] = (e = i[t]).match(/\[[\s\S]/) - ? e.replace(/^\[|\]$/g, "") - : e.replace(/\\/g, "")); - return function (e) { - for (var t = "", n = 0; n < r; n++) - t += O(i[n]) ? i[n].call(e, s) : i[n]; - return t; - }; - })(t)), - R[t](e)) - : e.localeData().invalidDate(); - } - function H(e, t) { - var n = 5; - function s(e) { - return t.longDateFormat(e) || e; - } - for (P.lastIndex = 0; 0 <= n && P.test(e); ) - (e = e.replace(P, s)), (P.lastIndex = 0), --n; - return e; - } - var F = {}; - function L(e, t) { - var n = e.toLowerCase(); - F[n] = F[n + "s"] = F[t] = e; - } - function V(e) { - return "string" == typeof e ? F[e] || F[e.toLowerCase()] : void 0; - } - function G(e) { - var t, - n, - s = {}; - for (n in e) m(e, n) && (t = V(n)) && (s[t] = e[n]); - return s; - } - var E = {}; - function A(e, t) { - E[e] = t; - } - function j(e) { - return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0; - } - function I(e) { - return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); - } - function Z(e) { - var t = +e, - n = 0; - return 0 != t && isFinite(t) && (n = I(t)), n; - } - function z(t, n) { - return function (e) { - return null != e - ? (q(this, t, e), f.updateOffset(this, n), this) - : $(this, t); - }; - } - function $(e, t) { - return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN; - } - function q(e, t, n) { - e.isValid() && - !isNaN(n) && - ("FullYear" === t && j(e.year()) && 1 === e.month() && 29 === e.date() - ? ((n = Z(n)), - e._d["set" + (e._isUTC ? "UTC" : "") + t]( - n, - e.month(), - xe(n, e.month()) - )) - : e._d["set" + (e._isUTC ? "UTC" : "") + t](n)); - } - var B, - J = /\d/, - Q = /\d\d/, - X = /\d{3}/, - K = /\d{4}/, - ee = /[+-]?\d{6}/, - te = /\d\d?/, - ne = /\d\d\d\d?/, - se = /\d\d\d\d\d\d?/, - ie = /\d{1,3}/, - re = /\d{1,4}/, - ae = /[+-]?\d{1,6}/, - oe = /\d+/, - ue = /[+-]?\d+/, - le = /Z|[+-]\d\d:?\d\d/gi, - he = /Z|[+-]\d\d(?::?\d\d)?/gi, - de = - /[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; - function ce(e, n, s) { - B[e] = O(n) - ? n - : function (e, t) { - return e && s ? s : n; - }; - } - function fe(e, t) { - return m(B, e) - ? B[e](t._strict, t._locale) - : new RegExp( - me( - e - .replace("\\", "") - .replace( - /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, - function (e, t, n, s, i) { - return t || n || s || i; - } - ) - ) - ); - } - function me(e) { - return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); - } - B = {}; - var _e = {}; - function ye(e, n) { - var t, - s = n; - for ( - "string" == typeof e && (e = [e]), - h(n) && - (s = function (e, t) { - t[n] = Z(e); - }), - t = 0; - t < e.length; - t++ - ) - _e[e[t]] = s; - } - function ge(e, i) { - ye(e, function (e, t, n, s) { - (n._w = n._w || {}), i(e, n._w, n, s); - }); - } - var we, - pe = 0, - ve = 1, - ke = 2, - Me = 3, - De = 4, - Se = 5, - Ye = 6, - Oe = 7, - be = 8; - function xe(e, t) { - if (isNaN(e) || isNaN(t)) return NaN; - var n, - s = ((t % (n = 12)) + n) % n; - return (e += (t - s) / 12), 1 == s ? (j(e) ? 29 : 28) : 31 - ((s % 7) % 2); - } - (we = Array.prototype.indexOf - ? Array.prototype.indexOf - : function (e) { - for (var t = 0; t < this.length; ++t) if (this[t] === e) return t; - return -1; - }), - C("M", ["MM", 2], "Mo", function () { - return this.month() + 1; - }), - C("MMM", 0, 0, function (e) { - return this.localeData().monthsShort(this, e); - }), - C("MMMM", 0, 0, function (e) { - return this.localeData().months(this, e); - }), - L("month", "M"), - A("month", 8), - ce("M", te), - ce("MM", te, Q), - ce("MMM", function (e, t) { - return t.monthsShortRegex(e); - }), - ce("MMMM", function (e, t) { - return t.monthsRegex(e); - }), - ye(["M", "MM"], function (e, t) { - t[ve] = Z(e) - 1; - }), - ye(["MMM", "MMMM"], function (e, t, n, s) { - var i = n._locale.monthsParse(e, s, n._strict); - null != i ? (t[ve] = i) : (y(n).invalidMonth = e); - }); - var Te = - "January_February_March_April_May_June_July_August_September_October_November_December".split( - "_" - ), - Ne = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), - Pe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, - Re = de, - We = de; - function Ce(e, t) { - var n; - if (!e.isValid()) return e; - if ("string" == typeof t) - if (/^\d+$/.test(t)) t = Z(t); - else if (!h((t = e.localeData().monthsParse(t)))) return e; - return ( - (n = Math.min(e.date(), xe(e.year(), t))), - e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n), - e - ); - } - function Ue(e) { - return null != e - ? (Ce(this, e), f.updateOffset(this, !0), this) - : $(this, "Month"); - } - function He() { - function e(e, t) { - return t.length - e.length; - } - for (var t, n = [], s = [], i = [], r = 0; r < 12; r++) - (t = _([2e3, r])), - n.push(this.monthsShort(t, "")), - s.push(this.months(t, "")), - i.push(this.months(t, "")), - i.push(this.monthsShort(t, "")); - for (n.sort(e), s.sort(e), i.sort(e), r = 0; r < 12; r++) - (n[r] = me(n[r])), (s[r] = me(s[r])); - for (r = 0; r < 24; r++) i[r] = me(i[r]); - (this._monthsRegex = new RegExp("^(" + i.join("|") + ")", "i")), - (this._monthsShortRegex = this._monthsRegex), - (this._monthsStrictRegex = new RegExp("^(" + s.join("|") + ")", "i")), - (this._monthsShortStrictRegex = new RegExp( - "^(" + n.join("|") + ")", - "i" - )); - } - function Fe(e) { - return j(e) ? 366 : 365; - } - C("Y", 0, 0, function () { - var e = this.year(); - return e <= 9999 ? T(e, 4) : "+" + e; - }), - C(0, ["YY", 2], 0, function () { - return this.year() % 100; - }), - C(0, ["YYYY", 4], 0, "year"), - C(0, ["YYYYY", 5], 0, "year"), - C(0, ["YYYYYY", 6, !0], 0, "year"), - L("year", "y"), - A("year", 1), - ce("Y", ue), - ce("YY", te, Q), - ce("YYYY", re, K), - ce("YYYYY", ae, ee), - ce("YYYYYY", ae, ee), - ye(["YYYYY", "YYYYYY"], pe), - ye("YYYY", function (e, t) { - t[pe] = 2 === e.length ? f.parseTwoDigitYear(e) : Z(e); - }), - ye("YY", function (e, t) { - t[pe] = f.parseTwoDigitYear(e); - }), - ye("Y", function (e, t) { - t[pe] = parseInt(e, 10); - }), - (f.parseTwoDigitYear = function (e) { - return Z(e) + (68 < Z(e) ? 1900 : 2e3); - }); - var Le = z("FullYear", !0); - function Ve(e) { - var t, n; - return ( - e < 100 && 0 <= e - ? (((n = Array.prototype.slice.call(arguments))[0] = e + 400), - (t = new Date(Date.UTC.apply(null, n))), - isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) - : (t = new Date(Date.UTC.apply(null, arguments))), - t - ); - } - function Ge(e, t, n) { - var s = 7 + t - n; - return s - ((7 + Ve(e, 0, s).getUTCDay() - t) % 7) - 1; - } - function Ee(e, t, n, s, i) { - var r, - a = 1 + 7 * (t - 1) + ((7 + n - s) % 7) + Ge(e, s, i), - o = - a <= 0 - ? Fe((r = e - 1)) + a - : a > Fe(e) - ? ((r = e + 1), a - Fe(e)) - : ((r = e), a); - return { year: r, dayOfYear: o }; - } - function Ae(e, t, n) { - var s, - i, - r = Ge(e.year(), t, n), - a = Math.floor((e.dayOfYear() - r - 1) / 7) + 1; - return ( - a < 1 - ? (s = a + je((i = e.year() - 1), t, n)) - : a > je(e.year(), t, n) - ? ((s = a - je(e.year(), t, n)), (i = e.year() + 1)) - : ((i = e.year()), (s = a)), - { week: s, year: i } - ); - } - function je(e, t, n) { - var s = Ge(e, t, n), - i = Ge(e + 1, t, n); - return (Fe(e) - s + i) / 7; - } - C("w", ["ww", 2], "wo", "week"), - C("W", ["WW", 2], "Wo", "isoWeek"), - L("week", "w"), - L("isoWeek", "W"), - A("week", 5), - A("isoWeek", 5), - ce("w", te), - ce("ww", te, Q), - ce("W", te), - ce("WW", te, Q), - ge(["w", "ww", "W", "WW"], function (e, t, n, s) { - t[s.substr(0, 1)] = Z(e); - }); - function Ie(e, t) { - return e.slice(t, 7).concat(e.slice(0, t)); - } - C("d", 0, "do", "day"), - C("dd", 0, 0, function (e) { - return this.localeData().weekdaysMin(this, e); - }), - C("ddd", 0, 0, function (e) { - return this.localeData().weekdaysShort(this, e); - }), - C("dddd", 0, 0, function (e) { - return this.localeData().weekdays(this, e); - }), - C("e", 0, 0, "weekday"), - C("E", 0, 0, "isoWeekday"), - L("day", "d"), - L("weekday", "e"), - L("isoWeekday", "E"), - A("day", 11), - A("weekday", 11), - A("isoWeekday", 11), - ce("d", te), - ce("e", te), - ce("E", te), - ce("dd", function (e, t) { - return t.weekdaysMinRegex(e); - }), - ce("ddd", function (e, t) { - return t.weekdaysShortRegex(e); - }), - ce("dddd", function (e, t) { - return t.weekdaysRegex(e); - }), - ge(["dd", "ddd", "dddd"], function (e, t, n, s) { - var i = n._locale.weekdaysParse(e, s, n._strict); - null != i ? (t.d = i) : (y(n).invalidWeekday = e); - }), - ge(["d", "e", "E"], function (e, t, n, s) { - t[s] = Z(e); - }); - var Ze = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split( - "_" - ), - ze = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), - $e = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), - qe = de, - Be = de, - Je = de; - function Qe() { - function e(e, t) { - return t.length - e.length; - } - for (var t, n, s, i, r = [], a = [], o = [], u = [], l = 0; l < 7; l++) - (t = _([2e3, 1]).day(l)), - (n = me(this.weekdaysMin(t, ""))), - (s = me(this.weekdaysShort(t, ""))), - (i = me(this.weekdays(t, ""))), - r.push(n), - a.push(s), - o.push(i), - u.push(n), - u.push(s), - u.push(i); - r.sort(e), - a.sort(e), - o.sort(e), - u.sort(e), - (this._weekdaysRegex = new RegExp("^(" + u.join("|") + ")", "i")), - (this._weekdaysShortRegex = this._weekdaysRegex), - (this._weekdaysMinRegex = this._weekdaysRegex), - (this._weekdaysStrictRegex = new RegExp("^(" + o.join("|") + ")", "i")), - (this._weekdaysShortStrictRegex = new RegExp( - "^(" + a.join("|") + ")", - "i" - )), - (this._weekdaysMinStrictRegex = new RegExp( - "^(" + r.join("|") + ")", - "i" - )); - } - function Xe() { - return this.hours() % 12 || 12; - } - function Ke(e, t) { - C(e, 0, 0, function () { - return this.localeData().meridiem(this.hours(), this.minutes(), t); - }); - } - function et(e, t) { - return t._meridiemParse; - } - C("H", ["HH", 2], 0, "hour"), - C("h", ["hh", 2], 0, Xe), - C("k", ["kk", 2], 0, function () { - return this.hours() || 24; - }), - C("hmm", 0, 0, function () { - return "" + Xe.apply(this) + T(this.minutes(), 2); - }), - C("hmmss", 0, 0, function () { - return "" + Xe.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2); - }), - C("Hmm", 0, 0, function () { - return "" + this.hours() + T(this.minutes(), 2); - }), - C("Hmmss", 0, 0, function () { - return "" + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2); - }), - Ke("a", !0), - Ke("A", !1), - L("hour", "h"), - A("hour", 13), - ce("a", et), - ce("A", et), - ce("H", te), - ce("h", te), - ce("k", te), - ce("HH", te, Q), - ce("hh", te, Q), - ce("kk", te, Q), - ce("hmm", ne), - ce("hmmss", se), - ce("Hmm", ne), - ce("Hmmss", se), - ye(["H", "HH"], Me), - ye(["k", "kk"], function (e, t, n) { - var s = Z(e); - t[Me] = 24 === s ? 0 : s; - }), - ye(["a", "A"], function (e, t, n) { - (n._isPm = n._locale.isPM(e)), (n._meridiem = e); - }), - ye(["h", "hh"], function (e, t, n) { - (t[Me] = Z(e)), (y(n).bigHour = !0); - }), - ye("hmm", function (e, t, n) { - var s = e.length - 2; - (t[Me] = Z(e.substr(0, s))), - (t[De] = Z(e.substr(s))), - (y(n).bigHour = !0); - }), - ye("hmmss", function (e, t, n) { - var s = e.length - 4, - i = e.length - 2; - (t[Me] = Z(e.substr(0, s))), - (t[De] = Z(e.substr(s, 2))), - (t[Se] = Z(e.substr(i))), - (y(n).bigHour = !0); - }), - ye("Hmm", function (e, t, n) { - var s = e.length - 2; - (t[Me] = Z(e.substr(0, s))), (t[De] = Z(e.substr(s))); - }), - ye("Hmmss", function (e, t, n) { - var s = e.length - 4, - i = e.length - 2; - (t[Me] = Z(e.substr(0, s))), - (t[De] = Z(e.substr(s, 2))), - (t[Se] = Z(e.substr(i))); - }); - var tt = z("Hours", !0); - var nt, - st = { - calendar: { - sameDay: "[Today at] LT", - nextDay: "[Tomorrow at] LT", - nextWeek: "dddd [at] LT", - lastDay: "[Yesterday at] LT", - lastWeek: "[Last] dddd [at] LT", - sameElse: "L", - }, - longDateFormat: { - 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", - }, - invalidDate: "Invalid date", - ordinal: "%d", - dayOfMonthOrdinalParse: /\d{1,2}/, - relativeTime: { - 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", - }, - months: Te, - monthsShort: Ne, - week: { dow: 0, doy: 6 }, - weekdays: Ze, - weekdaysMin: $e, - weekdaysShort: ze, - meridiemParse: /[ap]\.?m?\.?/i, - }, - it = {}, - rt = {}; - function at(e) { - return e ? e.toLowerCase().replace("_", "-") : e; - } - function ot(e) { - for (var t, n, s, i, r = 0; r < e.length; ) { - for ( - t = (i = at(e[r]).split("-")).length, - n = (n = at(e[r + 1])) ? n.split("-") : null; - 0 < t; - - ) { - if ((s = ut(i.slice(0, t).join("-")))) return s; - if ( - n && - n.length >= t && - (function (e, t) { - for (var n = Math.min(e.length, t.length), s = 0; s < n; s += 1) - if (e[s] !== t[s]) return s; - return n; - })(i, n) >= - t - 1 - ) - break; - t--; - } - r++; - } - return nt; - } - function ut(t) { - var e; - if ( - void 0 === it[t] && - "undefined" != typeof module && - module && - module.exports - ) - try { - (e = nt._abbr), require("./locale/" + t), lt(e); - } catch (e) { - it[t] = null; - } - return it[t]; - } - function lt(e, t) { - var n; - return ( - e && - ((n = r(t) ? dt(e) : ht(e, t)) - ? (nt = n) - : "undefined" != typeof console && - console.warn && - console.warn( - "Locale " + e + " not found. Did you forget to load it?" - )), - nt._abbr - ); - } - function ht(e, t) { - if (null === t) return delete it[e], null; - var n, - s = st; - if (((t.abbr = e), null != it[e])) - Y( - "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." - ), - (s = it[e]._config); - else if (null != t.parentLocale) - if (null != it[t.parentLocale]) s = it[t.parentLocale]._config; - else { - if (null == (n = ut(t.parentLocale))) - return ( - rt[t.parentLocale] || (rt[t.parentLocale] = []), - rt[t.parentLocale].push({ name: e, config: t }), - null - ); - s = n._config; - } - return ( - (it[e] = new x(b(s, t))), - rt[e] && - rt[e].forEach(function (e) { - ht(e.name, e.config); - }), - lt(e), - it[e] - ); - } - function dt(e) { - var t; - if ((e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)) - return nt; - if (!o(e)) { - if ((t = ut(e))) return t; - e = [e]; - } - return ot(e); - } - function ct(e) { - var t, - n = e._a; - return ( - n && - -2 === y(e).overflow && - ((t = - n[ve] < 0 || 11 < n[ve] - ? ve - : n[ke] < 1 || n[ke] > xe(n[pe], n[ve]) - ? ke - : n[Me] < 0 || - 24 < n[Me] || - (24 === n[Me] && (0 !== n[De] || 0 !== n[Se] || 0 !== n[Ye])) - ? Me - : n[De] < 0 || 59 < n[De] - ? De - : n[Se] < 0 || 59 < n[Se] - ? Se - : n[Ye] < 0 || 999 < n[Ye] - ? Ye - : -1), - y(e)._overflowDayOfYear && (t < pe || ke < t) && (t = ke), - y(e)._overflowWeeks && -1 === t && (t = Oe), - y(e)._overflowWeekday && -1 === t && (t = be), - (y(e).overflow = t)), - e - ); - } - var ft = - /^\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)?)?$/, - mt = - /^\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)?)?$/, - _t = /Z|[+-]\d\d(?::?\d\d)?/, - yt = [ - ["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/, !1], - ["YYYY-DDD", /\d{4}-\d{3}/], - ["YYYY-MM", /\d{4}-\d\d/, !1], - ["YYYYYYMMDD", /[+-]\d{10}/], - ["YYYYMMDD", /\d{8}/], - ["GGGG[W]WWE", /\d{4}W\d{3}/], - ["GGGG[W]WW", /\d{4}W\d{2}/, !1], - ["YYYYDDD", /\d{7}/], - ["YYYYMM", /\d{6}/, !1], - ["YYYY", /\d{4}/, !1], - ], - gt = [ - ["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/], - ], - wt = /^\/?Date\((-?\d+)/i, - pt = - /^(?:(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}))$/, - vt = { - UT: 0, - GMT: 0, - EDT: -240, - EST: -300, - CDT: -300, - CST: -360, - MDT: -360, - MST: -420, - PDT: -420, - PST: -480, - }; - function kt(e) { - var t, - n, - s, - i, - r, - a, - o = e._i, - u = ft.exec(o) || mt.exec(o); - if (u) { - for (y(e).iso = !0, t = 0, n = yt.length; t < n; t++) - if (yt[t][1].exec(u[1])) { - (i = yt[t][0]), (s = !1 !== yt[t][2]); - break; - } - if (null == i) return void (e._isValid = !1); - if (u[3]) { - for (t = 0, n = gt.length; t < n; t++) - if (gt[t][1].exec(u[3])) { - r = (u[2] || " ") + gt[t][0]; - break; - } - if (null == r) return void (e._isValid = !1); - } - if (!s && null != r) return void (e._isValid = !1); - if (u[4]) { - if (!_t.exec(u[4])) return void (e._isValid = !1); - a = "Z"; - } - (e._f = i + (r || "") + (a || "")), Ot(e); - } else e._isValid = !1; - } - function Mt(e, t, n, s, i, r) { - var a = [ - (function (e) { - var t = parseInt(e, 10); - { - if (t <= 49) return 2e3 + t; - if (t <= 999) return 1900 + t; - } - return t; - })(e), - Ne.indexOf(t), - parseInt(n, 10), - parseInt(s, 10), - parseInt(i, 10), - ]; - return r && a.push(parseInt(r, 10)), a; - } - function Dt(e) { - var t, - n, - s, - i, - r = pt.exec( - e._i - .replace(/\([^)]*\)|[\n\t]/g, " ") - .replace(/(\s\s+)/g, " ") - .replace(/^\s\s*/, "") - .replace(/\s\s*$/, "") - ); - if (r) { - if ( - ((t = Mt(r[4], r[3], r[2], r[5], r[6], r[7])), - (n = r[1]), - (s = t), - (i = e), - n && - ze.indexOf(n) !== new Date(s[0], s[1], s[2]).getDay() && - ((y(i).weekdayMismatch = !0), !void (i._isValid = !1))) - ) - return; - (e._a = t), - (e._tzm = (function (e, t, n) { - if (e) return vt[e]; - if (t) return 0; - var s = parseInt(n, 10), - i = s % 100; - return 60 * ((s - i) / 100) + i; - })(r[8], r[9], r[10])), - (e._d = Ve.apply(null, e._a)), - e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), - (y(e).rfc2822 = !0); - } else e._isValid = !1; - } - function St(e, t, n) { - return null != e ? e : null != t ? t : n; - } - function Yt(e) { - var t, - n, - s, - i, - r, - a, - o, - u = []; - if (!e._d) { - for ( - a = e, - o = new Date(f.now()), - s = a._useUTC - ? [o.getUTCFullYear(), o.getUTCMonth(), o.getUTCDate()] - : [o.getFullYear(), o.getMonth(), o.getDate()], - e._w && - null == e._a[ke] && - null == e._a[ve] && - (function (e) { - var t, n, s, i, r, a, o, u, l; - null != (t = e._w).GG || null != t.W || null != t.E - ? ((r = 1), - (a = 4), - (n = St(t.GG, e._a[pe], Ae(Tt(), 1, 4).year)), - (s = St(t.W, 1)), - ((i = St(t.E, 1)) < 1 || 7 < i) && (u = !0)) - : ((r = e._locale._week.dow), - (a = e._locale._week.doy), - (l = Ae(Tt(), r, a)), - (n = St(t.gg, e._a[pe], l.year)), - (s = St(t.w, l.week)), - null != t.d - ? ((i = t.d) < 0 || 6 < i) && (u = !0) - : null != t.e - ? ((i = t.e + r), (t.e < 0 || 6 < t.e) && (u = !0)) - : (i = r)); - s < 1 || s > je(n, r, a) - ? (y(e)._overflowWeeks = !0) - : null != u - ? (y(e)._overflowWeekday = !0) - : ((o = Ee(n, s, i, r, a)), - (e._a[pe] = o.year), - (e._dayOfYear = o.dayOfYear)); - })(e), - null != e._dayOfYear && - ((r = St(e._a[pe], s[pe])), - (e._dayOfYear > Fe(r) || 0 === e._dayOfYear) && - (y(e)._overflowDayOfYear = !0), - (n = Ve(r, 0, e._dayOfYear)), - (e._a[ve] = n.getUTCMonth()), - (e._a[ke] = n.getUTCDate())), - t = 0; - t < 3 && null == e._a[t]; - ++t - ) - e._a[t] = u[t] = s[t]; - for (; t < 7; t++) - e._a[t] = u[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t]; - 24 === e._a[Me] && - 0 === e._a[De] && - 0 === e._a[Se] && - 0 === e._a[Ye] && - ((e._nextDay = !0), (e._a[Me] = 0)), - (e._d = ( - e._useUTC - ? Ve - : function (e, t, n, s, i, r, a) { - var o; - return ( - e < 100 && 0 <= e - ? ((o = new Date(e + 400, t, n, s, i, r, a)), - isFinite(o.getFullYear()) && o.setFullYear(e)) - : (o = new Date(e, t, n, s, i, r, a)), - o - ); - } - ).apply(null, u)), - (i = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), - null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), - e._nextDay && (e._a[Me] = 24), - e._w && - void 0 !== e._w.d && - e._w.d !== i && - (y(e).weekdayMismatch = !0); - } - } - function Ot(e) { - if (e._f !== f.ISO_8601) - if (e._f !== f.RFC_2822) { - (e._a = []), (y(e).empty = !0); - for ( - var t, - n, - s, - i, - r, - a, - o, - u = "" + e._i, - l = u.length, - h = 0, - d = H(e._f, e._locale).match(N) || [], - c = 0; - c < d.length; - c++ - ) - (n = d[c]), - (t = (u.match(fe(n, e)) || [])[0]) && - (0 < (s = u.substr(0, u.indexOf(t))).length && - y(e).unusedInput.push(s), - (u = u.slice(u.indexOf(t) + t.length)), - (h += t.length)), - W[n] - ? (t ? (y(e).empty = !1) : y(e).unusedTokens.push(n), - (r = n), - (o = e), - null != (a = t) && m(_e, r) && _e[r](a, o._a, o, r)) - : e._strict && !t && y(e).unusedTokens.push(n); - (y(e).charsLeftOver = l - h), - 0 < u.length && y(e).unusedInput.push(u), - e._a[Me] <= 12 && - !0 === y(e).bigHour && - 0 < e._a[Me] && - (y(e).bigHour = void 0), - (y(e).parsedDateParts = e._a.slice(0)), - (y(e).meridiem = e._meridiem), - (e._a[Me] = (function (e, t, n) { - var s; - if (null == n) return t; - return null != e.meridiemHour - ? e.meridiemHour(t, n) - : (null != e.isPM && - ((s = e.isPM(n)) && t < 12 && (t += 12), - s || 12 !== t || (t = 0)), - t); - })(e._locale, e._a[Me], e._meridiem)), - null !== (i = y(e).era) && - (e._a[pe] = e._locale.erasConvertYear(i, e._a[pe])), - Yt(e), - ct(e); - } else Dt(e); - else kt(e); - } - function bt(e) { - var t, - n, - s = e._i, - i = e._f; - return ( - (e._locale = e._locale || dt(e._l)), - null === s || (void 0 === i && "" === s) - ? w({ nullInput: !0 }) - : ("string" == typeof s && (e._i = s = e._locale.preparse(s)), - M(s) - ? new k(ct(s)) - : (a(s) - ? (e._d = s) - : o(i) - ? (function (e) { - var t, - n, - s, - i, - r, - a, - o = !1; - if (0 === e._f.length) - return (y(e).invalidFormat = !0), (e._d = new Date(NaN)); - for (i = 0; i < e._f.length; i++) - (r = 0), - (a = !1), - (t = v({}, e)), - null != e._useUTC && (t._useUTC = e._useUTC), - (t._f = e._f[i]), - Ot(t), - g(t) && (a = !0), - (r += y(t).charsLeftOver), - (r += 10 * y(t).unusedTokens.length), - (y(t).score = r), - o - ? r < s && ((s = r), (n = t)) - : (null == s || r < s || a) && - ((s = r), (n = t), a && (o = !0)); - c(e, n || t); - })(e) - : i - ? Ot(e) - : r((n = (t = e)._i)) - ? (t._d = new Date(f.now())) - : a(n) - ? (t._d = new Date(n.valueOf())) - : "string" == typeof n - ? (function (e) { - var t = wt.exec(e._i); - null === t - ? (kt(e), - !1 === e._isValid && - (delete e._isValid, - Dt(e), - !1 === e._isValid && - (delete e._isValid, - e._strict - ? (e._isValid = !1) - : f.createFromInputFallback(e)))) - : (e._d = new Date(+t[1])); - })(t) - : o(n) - ? ((t._a = d(n.slice(0), function (e) { - return parseInt(e, 10); - })), - Yt(t)) - : u(n) - ? (function (e) { - var t, n; - e._d || - ((n = void 0 === (t = G(e._i)).day ? t.date : t.day), - (e._a = d( - [ - t.year, - t.month, - n, - t.hour, - t.minute, - t.second, - t.millisecond, - ], - function (e) { - return e && parseInt(e, 10); - } - )), - Yt(e)); - })(t) - : h(n) - ? (t._d = new Date(n)) - : f.createFromInputFallback(t), - g(e) || (e._d = null), - e)) - ); - } - function xt(e, t, n, s, i) { - var r, - a = {}; - return ( - (!0 !== t && !1 !== t) || ((s = t), (t = void 0)), - (!0 !== n && !1 !== n) || ((s = n), (n = void 0)), - ((u(e) && l(e)) || (o(e) && 0 === e.length)) && (e = void 0), - (a._isAMomentObject = !0), - (a._useUTC = a._isUTC = i), - (a._l = n), - (a._i = e), - (a._f = t), - (a._strict = s), - (r = new k(ct(bt(a))))._nextDay && (r.add(1, "d"), (r._nextDay = void 0)), - r - ); - } - function Tt(e, t, n, s) { - return xt(e, t, n, s, !1); - } - (f.createFromInputFallback = n( - "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 (e) { - e._d = new Date(e._i + (e._useUTC ? " UTC" : "")); - } - )), - (f.ISO_8601 = function () {}), - (f.RFC_2822 = function () {}); - var Nt = n( - "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", - function () { - var e = Tt.apply(null, arguments); - return this.isValid() && e.isValid() ? (e < this ? this : e) : w(); - } - ), - Pt = n( - "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", - function () { - var e = Tt.apply(null, arguments); - return this.isValid() && e.isValid() ? (this < e ? this : e) : w(); - } - ); - function Rt(e, t) { - var n, s; - if ((1 === t.length && o(t[0]) && (t = t[0]), !t.length)) return Tt(); - for (n = t[0], s = 1; s < t.length; ++s) - (t[s].isValid() && !t[s][e](n)) || (n = t[s]); - return n; - } - var Wt = [ - "year", - "quarter", - "month", - "week", - "day", - "hour", - "minute", - "second", - "millisecond", - ]; - function Ct(e) { - var t = G(e), - n = t.year || 0, - s = t.quarter || 0, - i = t.month || 0, - r = t.week || t.isoWeek || 0, - a = t.day || 0, - o = t.hour || 0, - u = t.minute || 0, - l = t.second || 0, - h = t.millisecond || 0; - (this._isValid = (function (e) { - var t, - n, - s = !1; - for (t in e) - if (m(e, t) && (-1 === we.call(Wt, t) || (null != e[t] && isNaN(e[t])))) - return !1; - for (n = 0; n < Wt.length; ++n) - if (e[Wt[n]]) { - if (s) return !1; - parseFloat(e[Wt[n]]) !== Z(e[Wt[n]]) && (s = !0); - } - return !0; - })(t)), - (this._milliseconds = +h + 1e3 * l + 6e4 * u + 1e3 * o * 60 * 60), - (this._days = +a + 7 * r), - (this._months = +i + 3 * s + 12 * n), - (this._data = {}), - (this._locale = dt()), - this._bubble(); - } - function Ut(e) { - return e instanceof Ct; - } - function Ht(e) { - return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e); - } - function Ft(e, n) { - C(e, 0, 0, function () { - var e = this.utcOffset(), - t = "+"; - return ( - e < 0 && ((e = -e), (t = "-")), - t + T(~~(e / 60), 2) + n + T(~~e % 60, 2) - ); - }); - } - Ft("Z", ":"), - Ft("ZZ", ""), - ce("Z", he), - ce("ZZ", he), - ye(["Z", "ZZ"], function (e, t, n) { - (n._useUTC = !0), (n._tzm = Vt(he, e)); - }); - var Lt = /([\+\-]|\d\d)/gi; - function Vt(e, t) { - var n, - s, - i = (t || "").match(e); - return null === i - ? null - : 0 === - (s = - 60 * - (n = ((i[i.length - 1] || []) + "").match(Lt) || ["-", 0, 0])[1] + - Z(n[2])) - ? 0 - : "+" === n[0] - ? s - : -s; - } - function Gt(e, t) { - var n, s; - return t._isUTC - ? ((n = t.clone()), - (s = (M(e) || a(e) ? e.valueOf() : Tt(e).valueOf()) - n.valueOf()), - n._d.setTime(n._d.valueOf() + s), - f.updateOffset(n, !1), - n) - : Tt(e).local(); - } - function Et(e) { - return -Math.round(e._d.getTimezoneOffset()); - } - function At() { - return !!this.isValid() && this._isUTC && 0 === this._offset; - } - f.updateOffset = function () {}; - var jt = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, - It = - /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; - function Zt(e, t) { - var n, - s, - i, - r = e, - a = null; - return ( - Ut(e) - ? (r = { ms: e._milliseconds, d: e._days, M: e._months }) - : h(e) || !isNaN(+e) - ? ((r = {}), t ? (r[t] = +e) : (r.milliseconds = +e)) - : (a = jt.exec(e)) - ? ((n = "-" === a[1] ? -1 : 1), - (r = { - y: 0, - d: Z(a[ke]) * n, - h: Z(a[Me]) * n, - m: Z(a[De]) * n, - s: Z(a[Se]) * n, - ms: Z(Ht(1e3 * a[Ye])) * n, - })) - : (a = It.exec(e)) - ? ((n = "-" === a[1] ? -1 : 1), - (r = { - y: zt(a[2], n), - M: zt(a[3], n), - w: zt(a[4], n), - d: zt(a[5], n), - h: zt(a[6], n), - m: zt(a[7], n), - s: zt(a[8], n), - })) - : null == r - ? (r = {}) - : "object" == typeof r && - ("from" in r || "to" in r) && - ((i = (function (e, t) { - var n; - if (!e.isValid() || !t.isValid()) - return { milliseconds: 0, months: 0 }; - (t = Gt(t, e)), - e.isBefore(t) - ? (n = $t(e, t)) - : (((n = $t(t, e)).milliseconds = -n.milliseconds), - (n.months = -n.months)); - return n; - })(Tt(r.from), Tt(r.to))), - ((r = {}).ms = i.milliseconds), - (r.M = i.months)), - (s = new Ct(r)), - Ut(e) && m(e, "_locale") && (s._locale = e._locale), - Ut(e) && m(e, "_isValid") && (s._isValid = e._isValid), - s - ); - } - function zt(e, t) { - var n = e && parseFloat(e.replace(",", ".")); - return (isNaN(n) ? 0 : n) * t; - } - function $t(e, t) { - var n = {}; - return ( - (n.months = t.month() - e.month() + 12 * (t.year() - e.year())), - e.clone().add(n.months, "M").isAfter(t) && --n.months, - (n.milliseconds = t - e.clone().add(n.months, "M")), - n - ); - } - function qt(s, i) { - return function (e, t) { - var n; - return ( - null === t || - isNaN(+t) || - (Y( - i, - "moment()." + - i + - "(period, number) is deprecated. Please use moment()." + - i + - "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info." - ), - (n = e), - (e = t), - (t = n)), - Bt(this, Zt(e, t), s), - this - ); - }; - } - function Bt(e, t, n, s) { - var i = t._milliseconds, - r = Ht(t._days), - a = Ht(t._months); - e.isValid() && - ((s = null == s || s), - a && Ce(e, $(e, "Month") + a * n), - r && q(e, "Date", $(e, "Date") + r * n), - i && e._d.setTime(e._d.valueOf() + i * n), - s && f.updateOffset(e, r || a)); - } - (Zt.fn = Ct.prototype), - (Zt.invalid = function () { - return Zt(NaN); - }); - var Jt = qt(1, "add"), - Qt = qt(-1, "subtract"); - function Xt(e) { - return "string" == typeof e || e instanceof String; - } - function Kt(e) { - return ( - M(e) || - a(e) || - Xt(e) || - h(e) || - (function (t) { - var e = o(t), - n = !1; - e && - (n = - 0 === - t.filter(function (e) { - return !h(e) && Xt(t); - }).length); - return e && n; - })(e) || - (function (e) { - var t, - n, - s = u(e) && !l(e), - i = !1, - r = [ - "years", - "year", - "y", - "months", - "month", - "M", - "days", - "day", - "d", - "dates", - "date", - "D", - "hours", - "hour", - "h", - "minutes", - "minute", - "m", - "seconds", - "second", - "s", - "milliseconds", - "millisecond", - "ms", - ]; - for (t = 0; t < r.length; t += 1) (n = r[t]), (i = i || m(e, n)); - return s && i; - })(e) || - null == e - ); - } - function en(e, t) { - if (e.date() < t.date()) return -en(t, e); - var n = 12 * (t.year() - e.year()) + (t.month() - e.month()), - s = e.clone().add(n, "months"), - i = - t - s < 0 - ? (t - s) / (s - e.clone().add(n - 1, "months")) - : (t - s) / (e.clone().add(1 + n, "months") - s); - return -(n + i) || 0; - } - function tn(e) { - var t; - return void 0 === e - ? this._locale._abbr - : (null != (t = dt(e)) && (this._locale = t), this); - } - (f.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"), - (f.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"); - var nn = n( - "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", - function (e) { - return void 0 === e ? this.localeData() : this.locale(e); - } - ); - function sn() { - return this._locale; - } - var rn = 126227808e5; - function an(e, t) { - return ((e % t) + t) % t; - } - function on(e, t, n) { - return e < 100 && 0 <= e - ? new Date(e + 400, t, n) - rn - : new Date(e, t, n).valueOf(); - } - function un(e, t, n) { - return e < 100 && 0 <= e ? Date.UTC(e + 400, t, n) - rn : Date.UTC(e, t, n); - } - function ln(e, t) { - return t.erasAbbrRegex(e); - } - function hn() { - for ( - var e = [], t = [], n = [], s = [], i = this.eras(), r = 0, a = i.length; - r < a; - ++r - ) - t.push(me(i[r].name)), - e.push(me(i[r].abbr)), - n.push(me(i[r].narrow)), - s.push(me(i[r].name)), - s.push(me(i[r].abbr)), - s.push(me(i[r].narrow)); - (this._erasRegex = new RegExp("^(" + s.join("|") + ")", "i")), - (this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i")), - (this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i")), - (this._erasNarrowRegex = new RegExp("^(" + n.join("|") + ")", "i")); - } - function dn(e, t) { - C(0, [e, e.length], 0, t); - } - function cn(e, t, n, s, i) { - var r; - return null == e - ? Ae(this, s, i).year - : ((r = je(e, s, i)) < t && (t = r), - function (e, t, n, s, i) { - var r = Ee(e, t, n, s, i), - a = Ve(r.year, 0, r.dayOfYear); - return ( - this.year(a.getUTCFullYear()), - this.month(a.getUTCMonth()), - this.date(a.getUTCDate()), - this - ); - }.call(this, e, t, n, s, i)); - } - C("N", 0, 0, "eraAbbr"), - C("NN", 0, 0, "eraAbbr"), - C("NNN", 0, 0, "eraAbbr"), - C("NNNN", 0, 0, "eraName"), - C("NNNNN", 0, 0, "eraNarrow"), - C("y", ["y", 1], "yo", "eraYear"), - C("y", ["yy", 2], 0, "eraYear"), - C("y", ["yyy", 3], 0, "eraYear"), - C("y", ["yyyy", 4], 0, "eraYear"), - ce("N", ln), - ce("NN", ln), - ce("NNN", ln), - ce("NNNN", function (e, t) { - return t.erasNameRegex(e); - }), - ce("NNNNN", function (e, t) { - return t.erasNarrowRegex(e); - }), - ye(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, n, s) { - var i = n._locale.erasParse(e, s, n._strict); - i ? (y(n).era = i) : (y(n).invalidEra = e); - }), - ce("y", oe), - ce("yy", oe), - ce("yyy", oe), - ce("yyyy", oe), - ce("yo", function (e, t) { - return t._eraYearOrdinalRegex || oe; - }), - ye(["y", "yy", "yyy", "yyyy"], pe), - ye(["yo"], function (e, t, n, s) { - var i; - n._locale._eraYearOrdinalRegex && - (i = e.match(n._locale._eraYearOrdinalRegex)), - n._locale.eraYearOrdinalParse - ? (t[pe] = n._locale.eraYearOrdinalParse(e, i)) - : (t[pe] = parseInt(e, 10)); - }), - C(0, ["gg", 2], 0, function () { - return this.weekYear() % 100; - }), - C(0, ["GG", 2], 0, function () { - return this.isoWeekYear() % 100; - }), - dn("gggg", "weekYear"), - dn("ggggg", "weekYear"), - dn("GGGG", "isoWeekYear"), - dn("GGGGG", "isoWeekYear"), - L("weekYear", "gg"), - L("isoWeekYear", "GG"), - A("weekYear", 1), - A("isoWeekYear", 1), - ce("G", ue), - ce("g", ue), - ce("GG", te, Q), - ce("gg", te, Q), - ce("GGGG", re, K), - ce("gggg", re, K), - ce("GGGGG", ae, ee), - ce("ggggg", ae, ee), - ge(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, s) { - t[s.substr(0, 2)] = Z(e); - }), - ge(["gg", "GG"], function (e, t, n, s) { - t[s] = f.parseTwoDigitYear(e); - }), - C("Q", 0, "Qo", "quarter"), - L("quarter", "Q"), - A("quarter", 7), - ce("Q", J), - ye("Q", function (e, t) { - t[ve] = 3 * (Z(e) - 1); - }), - C("D", ["DD", 2], "Do", "date"), - L("date", "D"), - A("date", 9), - ce("D", te), - ce("DD", te, Q), - ce("Do", function (e, t) { - return e - ? t._dayOfMonthOrdinalParse || t._ordinalParse - : t._dayOfMonthOrdinalParseLenient; - }), - ye(["D", "DD"], ke), - ye("Do", function (e, t) { - t[ke] = Z(e.match(te)[0]); - }); - var fn = z("Date", !0); - C("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), - L("dayOfYear", "DDD"), - A("dayOfYear", 4), - ce("DDD", ie), - ce("DDDD", X), - ye(["DDD", "DDDD"], function (e, t, n) { - n._dayOfYear = Z(e); - }), - C("m", ["mm", 2], 0, "minute"), - L("minute", "m"), - A("minute", 14), - ce("m", te), - ce("mm", te, Q), - ye(["m", "mm"], De); - var mn = z("Minutes", !1); - C("s", ["ss", 2], 0, "second"), - L("second", "s"), - A("second", 15), - ce("s", te), - ce("ss", te, Q), - ye(["s", "ss"], Se); - var _n, - yn, - gn = z("Seconds", !1); - for ( - C("S", 0, 0, function () { - return ~~(this.millisecond() / 100); - }), - C(0, ["SS", 2], 0, function () { - return ~~(this.millisecond() / 10); - }), - C(0, ["SSS", 3], 0, "millisecond"), - C(0, ["SSSS", 4], 0, function () { - return 10 * this.millisecond(); - }), - C(0, ["SSSSS", 5], 0, function () { - return 100 * this.millisecond(); - }), - C(0, ["SSSSSS", 6], 0, function () { - return 1e3 * this.millisecond(); - }), - C(0, ["SSSSSSS", 7], 0, function () { - return 1e4 * this.millisecond(); - }), - C(0, ["SSSSSSSS", 8], 0, function () { - return 1e5 * this.millisecond(); - }), - C(0, ["SSSSSSSSS", 9], 0, function () { - return 1e6 * this.millisecond(); - }), - L("millisecond", "ms"), - A("millisecond", 16), - ce("S", ie, J), - ce("SS", ie, Q), - ce("SSS", ie, X), - _n = "SSSS"; - _n.length <= 9; - _n += "S" - ) - ce(_n, oe); - function wn(e, t) { - t[Ye] = Z(1e3 * ("0." + e)); - } - for (_n = "S"; _n.length <= 9; _n += "S") ye(_n, wn); - (yn = z("Milliseconds", !1)), - C("z", 0, 0, "zoneAbbr"), - C("zz", 0, 0, "zoneName"); - var pn = k.prototype; - function vn(e) { - return e; - } - (pn.add = Jt), - (pn.calendar = function (e, t) { - 1 === arguments.length && - (arguments[0] - ? Kt(arguments[0]) - ? ((e = arguments[0]), (t = void 0)) - : (function (e) { - for ( - var t = u(e) && !l(e), - n = !1, - s = [ - "sameDay", - "nextDay", - "lastDay", - "nextWeek", - "lastWeek", - "sameElse", - ], - i = 0; - i < s.length; - i += 1 - ) - n = n || m(e, s[i]); - return t && n; - })(arguments[0]) && ((t = arguments[0]), (e = void 0)) - : (t = e = void 0)); - var n = e || Tt(), - s = Gt(n, this).startOf("day"), - i = f.calendarFormat(this, s) || "sameElse", - r = t && (O(t[i]) ? t[i].call(this, n) : t[i]); - return this.format(r || this.localeData().calendar(i, this, Tt(n))); - }), - (pn.clone = function () { - return new k(this); - }), - (pn.diff = function (e, t, n) { - var s, i, r; - if (!this.isValid()) return NaN; - if (!(s = Gt(e, this)).isValid()) return NaN; - switch (((i = 6e4 * (s.utcOffset() - this.utcOffset())), (t = V(t)))) { - case "year": - r = en(this, s) / 12; - break; - case "month": - r = en(this, s); - break; - case "quarter": - r = en(this, s) / 3; - break; - case "second": - r = (this - s) / 1e3; - break; - case "minute": - r = (this - s) / 6e4; - break; - case "hour": - r = (this - s) / 36e5; - break; - case "day": - r = (this - s - i) / 864e5; - break; - case "week": - r = (this - s - i) / 6048e5; - break; - default: - r = this - s; - } - return n ? r : I(r); - }), - (pn.endOf = function (e) { - var t, n; - if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid()) - return this; - switch (((n = this._isUTC ? un : on), e)) { - case "year": - t = n(this.year() + 1, 0, 1) - 1; - break; - case "quarter": - t = n(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1; - break; - case "month": - t = n(this.year(), this.month() + 1, 1) - 1; - break; - case "week": - t = - n(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; - break; - case "isoWeek": - t = - n( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) + 7 - ) - 1; - break; - case "day": - case "date": - t = n(this.year(), this.month(), this.date() + 1) - 1; - break; - case "hour": - (t = this._d.valueOf()), - (t += - 36e5 - - an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - - 1); - break; - case "minute": - (t = this._d.valueOf()), (t += 6e4 - an(t, 6e4) - 1); - break; - case "second": - (t = this._d.valueOf()), (t += 1e3 - an(t, 1e3) - 1); - break; - } - return this._d.setTime(t), f.updateOffset(this, !0), this; - }), - (pn.format = function (e) { - e = e || (this.isUtc() ? f.defaultFormatUtc : f.defaultFormat); - var t = U(this, e); - return this.localeData().postformat(t); - }), - (pn.from = function (e, t) { - return this.isValid() && ((M(e) && e.isValid()) || Tt(e).isValid()) - ? Zt({ to: this, from: e }).locale(this.locale()).humanize(!t) - : this.localeData().invalidDate(); - }), - (pn.fromNow = function (e) { - return this.from(Tt(), e); - }), - (pn.to = function (e, t) { - return this.isValid() && ((M(e) && e.isValid()) || Tt(e).isValid()) - ? Zt({ from: this, to: e }).locale(this.locale()).humanize(!t) - : this.localeData().invalidDate(); - }), - (pn.toNow = function (e) { - return this.to(Tt(), e); - }), - (pn.get = function (e) { - return O(this[(e = V(e))]) ? this[e]() : this; - }), - (pn.invalidAt = function () { - return y(this).overflow; - }), - (pn.isAfter = function (e, t) { - var n = M(e) ? e : Tt(e); - return ( - !(!this.isValid() || !n.isValid()) && - ("millisecond" === (t = V(t) || "millisecond") - ? this.valueOf() > n.valueOf() - : n.valueOf() < this.clone().startOf(t).valueOf()) - ); - }), - (pn.isBefore = function (e, t) { - var n = M(e) ? e : Tt(e); - return ( - !(!this.isValid() || !n.isValid()) && - ("millisecond" === (t = V(t) || "millisecond") - ? this.valueOf() < n.valueOf() - : this.clone().endOf(t).valueOf() < n.valueOf()) - ); - }), - (pn.isBetween = function (e, t, n, s) { - var i = M(e) ? e : Tt(e), - r = M(t) ? t : Tt(t); - return ( - !!(this.isValid() && i.isValid() && r.isValid()) && - ("(" === (s = s || "()")[0] - ? this.isAfter(i, n) - : !this.isBefore(i, n)) && - (")" === s[1] ? this.isBefore(r, n) : !this.isAfter(r, n)) - ); - }), - (pn.isSame = function (e, t) { - var n, - s = M(e) ? e : Tt(e); - return ( - !(!this.isValid() || !s.isValid()) && - ("millisecond" === (t = V(t) || "millisecond") - ? this.valueOf() === s.valueOf() - : ((n = s.valueOf()), - this.clone().startOf(t).valueOf() <= n && - n <= this.clone().endOf(t).valueOf())) - ); - }), - (pn.isSameOrAfter = function (e, t) { - return this.isSame(e, t) || this.isAfter(e, t); - }), - (pn.isSameOrBefore = function (e, t) { - return this.isSame(e, t) || this.isBefore(e, t); - }), - (pn.isValid = function () { - return g(this); - }), - (pn.lang = nn), - (pn.locale = tn), - (pn.localeData = sn), - (pn.max = Pt), - (pn.min = Nt), - (pn.parsingFlags = function () { - return c({}, y(this)); - }), - (pn.set = function (e, t) { - if ("object" == typeof e) - for ( - var n = (function (e) { - var t, - n = []; - for (t in e) m(e, t) && n.push({ unit: t, priority: E[t] }); - return ( - n.sort(function (e, t) { - return e.priority - t.priority; - }), - n - ); - })((e = G(e))), - s = 0; - s < n.length; - s++ - ) - this[n[s].unit](e[n[s].unit]); - else if (O(this[(e = V(e))])) return this[e](t); - return this; - }), - (pn.startOf = function (e) { - var t, n; - if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid()) - return this; - switch (((n = this._isUTC ? un : on), e)) { - case "year": - t = n(this.year(), 0, 1); - break; - case "quarter": - t = n(this.year(), this.month() - (this.month() % 3), 1); - break; - case "month": - t = n(this.year(), this.month(), 1); - break; - case "week": - t = n(this.year(), this.month(), this.date() - this.weekday()); - break; - case "isoWeek": - t = n( - this.year(), - this.month(), - this.date() - (this.isoWeekday() - 1) - ); - break; - case "day": - case "date": - t = n(this.year(), this.month(), this.date()); - break; - case "hour": - (t = this._d.valueOf()), - (t -= an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5)); - break; - case "minute": - (t = this._d.valueOf()), (t -= an(t, 6e4)); - break; - case "second": - (t = this._d.valueOf()), (t -= an(t, 1e3)); - break; - } - return this._d.setTime(t), f.updateOffset(this, !0), this; - }), - (pn.subtract = Qt), - (pn.toArray = function () { - var e = this; - return [ - e.year(), - e.month(), - e.date(), - e.hour(), - e.minute(), - e.second(), - e.millisecond(), - ]; - }), - (pn.toObject = function () { - var e = this; - return { - years: e.year(), - months: e.month(), - date: e.date(), - hours: e.hours(), - minutes: e.minutes(), - seconds: e.seconds(), - milliseconds: e.milliseconds(), - }; - }), - (pn.toDate = function () { - return new Date(this.valueOf()); - }), - (pn.toISOString = function (e) { - if (!this.isValid()) return null; - var t = !0 !== e, - n = t ? this.clone().utc() : this; - return n.year() < 0 || 9999 < n.year() - ? U( - n, - t - ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" - : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ" - ) - : O(Date.prototype.toISOString) - ? t - ? this.toDate().toISOString() - : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3) - .toISOString() - .replace("Z", U(n, "Z")) - : U( - n, - t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ" - ); - }), - (pn.inspect = function () { - if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; - var e, - t, - n, - s = "moment", - i = ""; - return ( - this.isLocal() || - ((s = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"), - (i = "Z")), - (e = "[" + s + '("]'), - (t = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"), - (n = i + '[")]'), - this.format(e + t + "-MM-DD[T]HH:mm:ss.SSS" + n) - ); - }), - "undefined" != typeof Symbol && - null != Symbol.for && - (pn[Symbol.for("nodejs.util.inspect.custom")] = function () { - return "Moment<" + this.format() + ">"; - }), - (pn.toJSON = function () { - return this.isValid() ? this.toISOString() : null; - }), - (pn.toString = function () { - return this.clone() - .locale("en") - .format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); - }), - (pn.unix = function () { - return Math.floor(this.valueOf() / 1e3); - }), - (pn.valueOf = function () { - return this._d.valueOf() - 6e4 * (this._offset || 0); - }), - (pn.creationData = function () { - return { - input: this._i, - format: this._f, - locale: this._locale, - isUTC: this._isUTC, - strict: this._strict, - }; - }), - (pn.eraName = function () { - for ( - var e, t = this.localeData().eras(), n = 0, s = t.length; - n < s; - ++n - ) { - if ( - ((e = this.clone().startOf("day").valueOf()), - t[n].since <= e && e <= t[n].until) - ) - return t[n].name; - if (t[n].until <= e && e <= t[n].since) return t[n].name; - } - return ""; - }), - (pn.eraNarrow = function () { - for ( - var e, t = this.localeData().eras(), n = 0, s = t.length; - n < s; - ++n - ) { - if ( - ((e = this.clone().startOf("day").valueOf()), - t[n].since <= e && e <= t[n].until) - ) - return t[n].narrow; - if (t[n].until <= e && e <= t[n].since) return t[n].narrow; - } - return ""; - }), - (pn.eraAbbr = function () { - for ( - var e, t = this.localeData().eras(), n = 0, s = t.length; - n < s; - ++n - ) { - if ( - ((e = this.clone().startOf("day").valueOf()), - t[n].since <= e && e <= t[n].until) - ) - return t[n].abbr; - if (t[n].until <= e && e <= t[n].since) return t[n].abbr; - } - return ""; - }), - (pn.eraYear = function () { - for ( - var e, t, n = this.localeData().eras(), s = 0, i = n.length; - s < i; - ++s - ) - if ( - ((e = n[s].since <= n[s].until ? 1 : -1), - (t = this.clone().startOf("day").valueOf()), - (n[s].since <= t && t <= n[s].until) || - (n[s].until <= t && t <= n[s].since)) - ) - return (this.year() - f(n[s].since).year()) * e + n[s].offset; - return this.year(); - }), - (pn.year = Le), - (pn.isLeapYear = function () { - return j(this.year()); - }), - (pn.weekYear = function (e) { - return cn.call( - this, - e, - this.week(), - this.weekday(), - this.localeData()._week.dow, - this.localeData()._week.doy - ); - }), - (pn.isoWeekYear = function (e) { - return cn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); - }), - (pn.quarter = pn.quarters = - function (e) { - return null == e - ? Math.ceil((this.month() + 1) / 3) - : this.month(3 * (e - 1) + (this.month() % 3)); - }), - (pn.month = Ue), - (pn.daysInMonth = function () { - return xe(this.year(), this.month()); - }), - (pn.week = pn.weeks = - function (e) { - var t = this.localeData().week(this); - return null == e ? t : this.add(7 * (e - t), "d"); - }), - (pn.isoWeek = pn.isoWeeks = - function (e) { - var t = Ae(this, 1, 4).week; - return null == e ? t : this.add(7 * (e - t), "d"); - }), - (pn.weeksInYear = function () { - var e = this.localeData()._week; - return je(this.year(), e.dow, e.doy); - }), - (pn.weeksInWeekYear = function () { - var e = this.localeData()._week; - return je(this.weekYear(), e.dow, e.doy); - }), - (pn.isoWeeksInYear = function () { - return je(this.year(), 1, 4); - }), - (pn.isoWeeksInISOWeekYear = function () { - return je(this.isoWeekYear(), 1, 4); - }), - (pn.date = fn), - (pn.day = pn.days = - function (e) { - if (!this.isValid()) return null != e ? this : NaN; - var t, - n, - s = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - return null != e - ? ((t = e), - (n = this.localeData()), - (e = - "string" != typeof t - ? t - : isNaN(t) - ? "number" == typeof (t = n.weekdaysParse(t)) - ? t - : null - : parseInt(t, 10)), - this.add(e - s, "d")) - : s; - }), - (pn.weekday = function (e) { - if (!this.isValid()) return null != e ? this : NaN; - var t = (this.day() + 7 - this.localeData()._week.dow) % 7; - return null == e ? t : this.add(e - t, "d"); - }), - (pn.isoWeekday = function (e) { - if (!this.isValid()) return null != e ? this : NaN; - if (null == e) return this.day() || 7; - var t, - n, - s = - ((t = e), - (n = this.localeData()), - "string" == typeof t - ? n.weekdaysParse(t) % 7 || 7 - : isNaN(t) - ? null - : t); - return this.day(this.day() % 7 ? s : s - 7); - }), - (pn.dayOfYear = function (e) { - var t = - Math.round( - (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5 - ) + 1; - return null == e ? t : this.add(e - t, "d"); - }), - (pn.hour = pn.hours = tt), - (pn.minute = pn.minutes = mn), - (pn.second = pn.seconds = gn), - (pn.millisecond = pn.milliseconds = yn), - (pn.utcOffset = function (e, t, n) { - var s, - i = this._offset || 0; - if (!this.isValid()) return null != e ? this : NaN; - if (null == e) return this._isUTC ? i : Et(this); - if ("string" == typeof e) { - if (null === (e = Vt(he, e))) return this; - } else Math.abs(e) < 16 && !n && (e *= 60); - return ( - !this._isUTC && t && (s = Et(this)), - (this._offset = e), - (this._isUTC = !0), - null != s && this.add(s, "m"), - i !== e && - (!t || this._changeInProgress - ? Bt(this, Zt(e - i, "m"), 1, !1) - : this._changeInProgress || - ((this._changeInProgress = !0), - f.updateOffset(this, !0), - (this._changeInProgress = null))), - this - ); - }), - (pn.utc = function (e) { - return this.utcOffset(0, e); - }), - (pn.local = function (e) { - return ( - this._isUTC && - (this.utcOffset(0, e), - (this._isUTC = !1), - e && this.subtract(Et(this), "m")), - this - ); - }), - (pn.parseZone = function () { - var e; - return ( - null != this._tzm - ? this.utcOffset(this._tzm, !1, !0) - : "string" == typeof this._i && - (null != (e = Vt(le, this._i)) - ? this.utcOffset(e) - : this.utcOffset(0, !0)), - this - ); - }), - (pn.hasAlignedHourOffset = function (e) { - return ( - !!this.isValid() && - ((e = e ? Tt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0) - ); - }), - (pn.isDST = function () { - return ( - this.utcOffset() > this.clone().month(0).utcOffset() || - this.utcOffset() > this.clone().month(5).utcOffset() - ); - }), - (pn.isLocal = function () { - return !!this.isValid() && !this._isUTC; - }), - (pn.isUtcOffset = function () { - return !!this.isValid() && this._isUTC; - }), - (pn.isUtc = At), - (pn.isUTC = At), - (pn.zoneAbbr = function () { - return this._isUTC ? "UTC" : ""; - }), - (pn.zoneName = function () { - return this._isUTC ? "Coordinated Universal Time" : ""; - }), - (pn.dates = n("dates accessor is deprecated. Use date instead.", fn)), - (pn.months = n("months accessor is deprecated. Use month instead", Ue)), - (pn.years = n("years accessor is deprecated. Use year instead", Le)), - (pn.zone = n( - "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", - function (e, t) { - return null != e - ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this) - : -this.utcOffset(); - } - )), - (pn.isDSTShifted = n( - "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", - function () { - if (!r(this._isDSTShifted)) return this._isDSTShifted; - var e, - t = {}; - return ( - v(t, this), - (t = bt(t))._a - ? ((e = (t._isUTC ? _ : Tt)(t._a)), - (this._isDSTShifted = - this.isValid() && - 0 < - (function (e, t, n) { - for ( - var s = Math.min(e.length, t.length), - i = Math.abs(e.length - t.length), - r = 0, - a = 0; - a < s; - a++ - ) - ((n && e[a] !== t[a]) || (!n && Z(e[a]) !== Z(t[a]))) && - r++; - return r + i; - })(t._a, e.toArray()))) - : (this._isDSTShifted = !1), - this._isDSTShifted - ); - } - )); - var kn = x.prototype; - function Mn(e, t, n, s) { - var i = dt(), - r = _().set(s, t); - return i[n](r, e); - } - function Dn(e, t, n) { - if ((h(e) && ((t = e), (e = void 0)), (e = e || ""), null != t)) - return Mn(e, t, n, "month"); - for (var s = [], i = 0; i < 12; i++) s[i] = Mn(e, i, n, "month"); - return s; - } - function Sn(e, t, n, s) { - t = - ("boolean" == typeof e - ? h(t) && ((n = t), (t = void 0)) - : ((t = e), (e = !1), h((n = t)) && ((n = t), (t = void 0))), - t || ""); - var i, - r = dt(), - a = e ? r._week.dow : 0, - o = []; - if (null != n) return Mn(t, (n + a) % 7, s, "day"); - for (i = 0; i < 7; i++) o[i] = Mn(t, (i + a) % 7, s, "day"); - return o; - } - (kn.calendar = function (e, t, n) { - var s = this._calendar[e] || this._calendar.sameElse; - return O(s) ? s.call(t, n) : s; - }), - (kn.longDateFormat = function (e) { - var t = this._longDateFormat[e], - n = this._longDateFormat[e.toUpperCase()]; - return t || !n - ? t - : ((this._longDateFormat[e] = n - .match(N) - .map(function (e) { - return "MMMM" === e || "MM" === e || "DD" === e || "dddd" === e - ? e.slice(1) - : e; - }) - .join("")), - this._longDateFormat[e]); - }), - (kn.invalidDate = function () { - return this._invalidDate; - }), - (kn.ordinal = function (e) { - return this._ordinal.replace("%d", e); - }), - (kn.preparse = vn), - (kn.postformat = vn), - (kn.relativeTime = function (e, t, n, s) { - var i = this._relativeTime[n]; - return O(i) ? i(e, t, n, s) : i.replace(/%d/i, e); - }), - (kn.pastFuture = function (e, t) { - var n = this._relativeTime[0 < e ? "future" : "past"]; - return O(n) ? n(t) : n.replace(/%s/i, t); - }), - (kn.set = function (e) { - var t, n; - for (n in e) - m(e, n) && (O((t = e[n])) ? (this[n] = t) : (this["_" + n] = t)); - (this._config = e), - (this._dayOfMonthOrdinalParseLenient = new RegExp( - (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + - "|" + - /\d{1,2}/.source - )); - }), - (kn.eras = function (e, t) { - for ( - var n, s = this._eras || dt("en")._eras, i = 0, r = s.length; - i < r; - ++i - ) { - switch (typeof s[i].since) { - case "string": - (n = f(s[i].since).startOf("day")), (s[i].since = n.valueOf()); - break; - } - switch (typeof s[i].until) { - case "undefined": - s[i].until = 1 / 0; - break; - case "string": - (n = f(s[i].until).startOf("day").valueOf()), - (s[i].until = n.valueOf()); - break; - } - } - return s; - }), - (kn.erasParse = function (e, t, n) { - var s, - i, - r, - a, - o, - u = this.eras(); - for (e = e.toUpperCase(), s = 0, i = u.length; s < i; ++s) - if ( - ((r = u[s].name.toUpperCase()), - (a = u[s].abbr.toUpperCase()), - (o = u[s].narrow.toUpperCase()), - n) - ) - switch (t) { - case "N": - case "NN": - case "NNN": - if (a === e) return u[s]; - break; - case "NNNN": - if (r === e) return u[s]; - break; - case "NNNNN": - if (o === e) return u[s]; - break; - } - else if (0 <= [r, a, o].indexOf(e)) return u[s]; - }), - (kn.erasConvertYear = function (e, t) { - var n = e.since <= e.until ? 1 : -1; - return void 0 === t - ? f(e.since).year() - : f(e.since).year() + (t - e.offset) * n; - }), - (kn.erasAbbrRegex = function (e) { - return ( - m(this, "_erasAbbrRegex") || hn.call(this), - e ? this._erasAbbrRegex : this._erasRegex - ); - }), - (kn.erasNameRegex = function (e) { - return ( - m(this, "_erasNameRegex") || hn.call(this), - e ? this._erasNameRegex : this._erasRegex - ); - }), - (kn.erasNarrowRegex = function (e) { - return ( - m(this, "_erasNarrowRegex") || hn.call(this), - e ? this._erasNarrowRegex : this._erasRegex - ); - }), - (kn.months = function (e, t) { - return e - ? o(this._months) - ? this._months[e.month()] - : this._months[ - (this._months.isFormat || Pe).test(t) ? "format" : "standalone" - ][e.month()] - : o(this._months) - ? this._months - : this._months.standalone; - }), - (kn.monthsShort = function (e, t) { - return e - ? o(this._monthsShort) - ? this._monthsShort[e.month()] - : this._monthsShort[Pe.test(t) ? "format" : "standalone"][e.month()] - : o(this._monthsShort) - ? this._monthsShort - : this._monthsShort.standalone; - }), - (kn.monthsParse = function (e, t, n) { - var s, i, r; - if (this._monthsParseExact) - return function (e, t, n) { - var s, - i, - r, - a = e.toLocaleLowerCase(); - if (!this._monthsParse) - for ( - this._monthsParse = [], - this._longMonthsParse = [], - this._shortMonthsParse = [], - s = 0; - s < 12; - ++s - ) - (r = _([2e3, s])), - (this._shortMonthsParse[s] = this.monthsShort( - r, - "" - ).toLocaleLowerCase()), - (this._longMonthsParse[s] = this.months( - r, - "" - ).toLocaleLowerCase()); - return n - ? "MMM" === t - ? -1 !== (i = we.call(this._shortMonthsParse, a)) - ? i - : null - : -1 !== (i = we.call(this._longMonthsParse, a)) - ? i - : null - : "MMM" === t - ? -1 !== (i = we.call(this._shortMonthsParse, a)) || - -1 !== (i = we.call(this._longMonthsParse, a)) - ? i - : null - : -1 !== (i = we.call(this._longMonthsParse, a)) || - -1 !== (i = we.call(this._shortMonthsParse, a)) - ? i - : null; - }.call(this, e, t, n); - for ( - this._monthsParse || - ((this._monthsParse = []), - (this._longMonthsParse = []), - (this._shortMonthsParse = [])), - s = 0; - s < 12; - s++ - ) { - if ( - ((i = _([2e3, s])), - n && - !this._longMonthsParse[s] && - ((this._longMonthsParse[s] = new RegExp( - "^" + this.months(i, "").replace(".", "") + "$", - "i" - )), - (this._shortMonthsParse[s] = new RegExp( - "^" + this.monthsShort(i, "").replace(".", "") + "$", - "i" - ))), - n || - this._monthsParse[s] || - ((r = "^" + this.months(i, "") + "|^" + this.monthsShort(i, "")), - (this._monthsParse[s] = new RegExp(r.replace(".", ""), "i"))), - n && "MMMM" === t && this._longMonthsParse[s].test(e)) - ) - return s; - if (n && "MMM" === t && this._shortMonthsParse[s].test(e)) return s; - if (!n && this._monthsParse[s].test(e)) return s; - } - }), - (kn.monthsRegex = function (e) { - return this._monthsParseExact - ? (m(this, "_monthsRegex") || He.call(this), - e ? this._monthsStrictRegex : this._monthsRegex) - : (m(this, "_monthsRegex") || (this._monthsRegex = We), - this._monthsStrictRegex && e - ? this._monthsStrictRegex - : this._monthsRegex); - }), - (kn.monthsShortRegex = function (e) { - return this._monthsParseExact - ? (m(this, "_monthsRegex") || He.call(this), - e ? this._monthsShortStrictRegex : this._monthsShortRegex) - : (m(this, "_monthsShortRegex") || (this._monthsShortRegex = Re), - this._monthsShortStrictRegex && e - ? this._monthsShortStrictRegex - : this._monthsShortRegex); - }), - (kn.week = function (e) { - return Ae(e, this._week.dow, this._week.doy).week; - }), - (kn.firstDayOfYear = function () { - return this._week.doy; - }), - (kn.firstDayOfWeek = function () { - return this._week.dow; - }), - (kn.weekdays = function (e, t) { - var n = o(this._weekdays) - ? this._weekdays - : this._weekdays[ - e && !0 !== e && this._weekdays.isFormat.test(t) - ? "format" - : "standalone" - ]; - return !0 === e ? Ie(n, this._week.dow) : e ? n[e.day()] : n; - }), - (kn.weekdaysMin = function (e) { - return !0 === e - ? Ie(this._weekdaysMin, this._week.dow) - : e - ? this._weekdaysMin[e.day()] - : this._weekdaysMin; - }), - (kn.weekdaysShort = function (e) { - return !0 === e - ? Ie(this._weekdaysShort, this._week.dow) - : e - ? this._weekdaysShort[e.day()] - : this._weekdaysShort; - }), - (kn.weekdaysParse = function (e, t, n) { - var s, i, r; - if (this._weekdaysParseExact) - return function (e, t, n) { - var s, - i, - r, - a = e.toLocaleLowerCase(); - if (!this._weekdaysParse) - for ( - this._weekdaysParse = [], - this._shortWeekdaysParse = [], - this._minWeekdaysParse = [], - s = 0; - s < 7; - ++s - ) - (r = _([2e3, 1]).day(s)), - (this._minWeekdaysParse[s] = this.weekdaysMin( - r, - "" - ).toLocaleLowerCase()), - (this._shortWeekdaysParse[s] = this.weekdaysShort( - r, - "" - ).toLocaleLowerCase()), - (this._weekdaysParse[s] = this.weekdays( - r, - "" - ).toLocaleLowerCase()); - return n - ? "dddd" === t - ? -1 !== (i = we.call(this._weekdaysParse, a)) - ? i - : null - : "ddd" === t - ? -1 !== (i = we.call(this._shortWeekdaysParse, a)) - ? i - : null - : -1 !== (i = we.call(this._minWeekdaysParse, a)) - ? i - : null - : "dddd" === t - ? -1 !== (i = we.call(this._weekdaysParse, a)) || - -1 !== (i = we.call(this._shortWeekdaysParse, a)) || - -1 !== (i = we.call(this._minWeekdaysParse, a)) - ? i - : null - : "ddd" === t - ? -1 !== (i = we.call(this._shortWeekdaysParse, a)) || - -1 !== (i = we.call(this._weekdaysParse, a)) || - -1 !== (i = we.call(this._minWeekdaysParse, a)) - ? i - : null - : -1 !== (i = we.call(this._minWeekdaysParse, a)) || - -1 !== (i = we.call(this._weekdaysParse, a)) || - -1 !== (i = we.call(this._shortWeekdaysParse, a)) - ? i - : null; - }.call(this, e, t, n); - for ( - this._weekdaysParse || - ((this._weekdaysParse = []), - (this._minWeekdaysParse = []), - (this._shortWeekdaysParse = []), - (this._fullWeekdaysParse = [])), - s = 0; - s < 7; - s++ - ) { - if ( - ((i = _([2e3, 1]).day(s)), - n && - !this._fullWeekdaysParse[s] && - ((this._fullWeekdaysParse[s] = new RegExp( - "^" + this.weekdays(i, "").replace(".", "\\.?") + "$", - "i" - )), - (this._shortWeekdaysParse[s] = new RegExp( - "^" + this.weekdaysShort(i, "").replace(".", "\\.?") + "$", - "i" - )), - (this._minWeekdaysParse[s] = new RegExp( - "^" + this.weekdaysMin(i, "").replace(".", "\\.?") + "$", - "i" - ))), - this._weekdaysParse[s] || - ((r = - "^" + - this.weekdays(i, "") + - "|^" + - this.weekdaysShort(i, "") + - "|^" + - this.weekdaysMin(i, "")), - (this._weekdaysParse[s] = new RegExp(r.replace(".", ""), "i"))), - n && "dddd" === t && this._fullWeekdaysParse[s].test(e)) - ) - return s; - if (n && "ddd" === t && this._shortWeekdaysParse[s].test(e)) return s; - if (n && "dd" === t && this._minWeekdaysParse[s].test(e)) return s; - if (!n && this._weekdaysParse[s].test(e)) return s; - } - }), - (kn.weekdaysRegex = function (e) { - return this._weekdaysParseExact - ? (m(this, "_weekdaysRegex") || Qe.call(this), - e ? this._weekdaysStrictRegex : this._weekdaysRegex) - : (m(this, "_weekdaysRegex") || (this._weekdaysRegex = qe), - this._weekdaysStrictRegex && e - ? this._weekdaysStrictRegex - : this._weekdaysRegex); - }), - (kn.weekdaysShortRegex = function (e) { - return this._weekdaysParseExact - ? (m(this, "_weekdaysRegex") || Qe.call(this), - e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) - : (m(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Be), - this._weekdaysShortStrictRegex && e - ? this._weekdaysShortStrictRegex - : this._weekdaysShortRegex); - }), - (kn.weekdaysMinRegex = function (e) { - return this._weekdaysParseExact - ? (m(this, "_weekdaysRegex") || Qe.call(this), - e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) - : (m(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Je), - this._weekdaysMinStrictRegex && e - ? this._weekdaysMinStrictRegex - : this._weekdaysMinRegex); - }), - (kn.isPM = function (e) { - return "p" === (e + "").toLowerCase().charAt(0); - }), - (kn.meridiem = function (e, t, n) { - return 11 < e ? (n ? "pm" : "PM") : n ? "am" : "AM"; - }), - lt("en", { - eras: [ - { - since: "0001-01-01", - until: 1 / 0, - offset: 1, - name: "Anno Domini", - narrow: "AD", - abbr: "AD", - }, - { - since: "0000-12-31", - until: -1 / 0, - offset: 1, - name: "Before Christ", - narrow: "BC", - abbr: "BC", - }, - ], - dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, - ordinal: function (e) { - var t = e % 10; - return ( - e + - (1 === Z((e % 100) / 10) - ? "th" - : 1 == t - ? "st" - : 2 == t - ? "nd" - : 3 == t - ? "rd" - : "th") - ); - }, - }), - (f.lang = n("moment.lang is deprecated. Use moment.locale instead.", lt)), - (f.langData = n( - "moment.langData is deprecated. Use moment.localeData instead.", - dt - )); - var Yn = Math.abs; - function On(e, t, n, s) { - var i = Zt(t, n); - return ( - (e._milliseconds += s * i._milliseconds), - (e._days += s * i._days), - (e._months += s * i._months), - e._bubble() - ); - } - function bn(e) { - return e < 0 ? Math.floor(e) : Math.ceil(e); - } - function xn(e) { - return (4800 * e) / 146097; - } - function Tn(e) { - return (146097 * e) / 4800; - } - function Nn(e) { - return function () { - return this.as(e); - }; - } - var Pn = Nn("ms"), - Rn = Nn("s"), - Wn = Nn("m"), - Cn = Nn("h"), - Un = Nn("d"), - Hn = Nn("w"), - Fn = Nn("M"), - Ln = Nn("Q"), - Vn = Nn("y"); - function Gn(e) { - return function () { - return this.isValid() ? this._data[e] : NaN; - }; - } - var En = Gn("milliseconds"), - An = Gn("seconds"), - jn = Gn("minutes"), - In = Gn("hours"), - Zn = Gn("days"), - zn = Gn("months"), - $n = Gn("years"); - var qn = Math.round, - Bn = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; - function Jn(e, t, n, s) { - var i = Zt(e).abs(), - r = qn(i.as("s")), - a = qn(i.as("m")), - o = qn(i.as("h")), - u = qn(i.as("d")), - l = qn(i.as("M")), - h = qn(i.as("w")), - d = qn(i.as("y")), - c = - (r <= n.ss ? ["s", r] : r < n.s && ["ss", r]) || - (a <= 1 && ["m"]) || - (a < n.m && ["mm", a]) || - (o <= 1 && ["h"]) || - (o < n.h && ["hh", o]) || - (u <= 1 && ["d"]) || - (u < n.d && ["dd", u]); - return ( - null != n.w && (c = c || (h <= 1 && ["w"]) || (h < n.w && ["ww", h])), - ((c = c || - (l <= 1 && ["M"]) || - (l < n.M && ["MM", l]) || - (d <= 1 && ["y"]) || ["yy", d])[2] = t), - (c[3] = 0 < +e), - (c[4] = s), - function (e, t, n, s, i) { - return i.relativeTime(t || 1, !!n, e, s); - }.apply(null, c) - ); - } - var Qn = Math.abs; - function Xn(e) { - return (0 < e) - (e < 0) || +e; - } - function Kn() { - if (!this.isValid()) return this.localeData().invalidDate(); - var e, - t, - n, - s, - i, - r, - a, - o, - u = Qn(this._milliseconds) / 1e3, - l = Qn(this._days), - h = Qn(this._months), - d = this.asSeconds(); - return d - ? ((e = I(u / 60)), - (t = I(e / 60)), - (u %= 60), - (e %= 60), - (n = I(h / 12)), - (h %= 12), - (s = u ? u.toFixed(3).replace(/\.?0+$/, "") : ""), - (i = d < 0 ? "-" : ""), - (r = Xn(this._months) !== Xn(d) ? "-" : ""), - (a = Xn(this._days) !== Xn(d) ? "-" : ""), - (o = Xn(this._milliseconds) !== Xn(d) ? "-" : ""), - i + - "P" + - (n ? r + n + "Y" : "") + - (h ? r + h + "M" : "") + - (l ? a + l + "D" : "") + - (t || e || u ? "T" : "") + - (t ? o + t + "H" : "") + - (e ? o + e + "M" : "") + - (u ? o + s + "S" : "")) - : "P0D"; - } - var es = Ct.prototype; - return ( - (es.isValid = function () { - return this._isValid; - }), - (es.abs = function () { - var e = this._data; - return ( - (this._milliseconds = Yn(this._milliseconds)), - (this._days = Yn(this._days)), - (this._months = Yn(this._months)), - (e.milliseconds = Yn(e.milliseconds)), - (e.seconds = Yn(e.seconds)), - (e.minutes = Yn(e.minutes)), - (e.hours = Yn(e.hours)), - (e.months = Yn(e.months)), - (e.years = Yn(e.years)), - this - ); - }), - (es.add = function (e, t) { - return On(this, e, t, 1); - }), - (es.subtract = function (e, t) { - return On(this, e, t, -1); - }), - (es.as = function (e) { - if (!this.isValid()) return NaN; - var t, - n, - s = this._milliseconds; - if ("month" === (e = V(e)) || "quarter" === e || "year" === e) - switch (((t = this._days + s / 864e5), (n = this._months + xn(t)), e)) { - case "month": - return n; - case "quarter": - return n / 3; - case "year": - return n / 12; - } - else - switch (((t = this._days + Math.round(Tn(this._months))), e)) { - case "week": - return t / 7 + s / 6048e5; - case "day": - return t + s / 864e5; - case "hour": - return 24 * t + s / 36e5; - case "minute": - return 1440 * t + s / 6e4; - case "second": - return 86400 * t + s / 1e3; - case "millisecond": - return Math.floor(864e5 * t) + s; - default: - throw new Error("Unknown unit " + e); - } - }), - (es.asMilliseconds = Pn), - (es.asSeconds = Rn), - (es.asMinutes = Wn), - (es.asHours = Cn), - (es.asDays = Un), - (es.asWeeks = Hn), - (es.asMonths = Fn), - (es.asQuarters = Ln), - (es.asYears = Vn), - (es.valueOf = function () { - return this.isValid() - ? this._milliseconds + - 864e5 * this._days + - (this._months % 12) * 2592e6 + - 31536e6 * Z(this._months / 12) - : NaN; - }), - (es._bubble = function () { - var e, - t, - n, - s, - i, - r = this._milliseconds, - a = this._days, - o = this._months, - u = this._data; - return ( - (0 <= r && 0 <= a && 0 <= o) || - (r <= 0 && a <= 0 && o <= 0) || - ((r += 864e5 * bn(Tn(o) + a)), (o = a = 0)), - (u.milliseconds = r % 1e3), - (e = I(r / 1e3)), - (u.seconds = e % 60), - (t = I(e / 60)), - (u.minutes = t % 60), - (n = I(t / 60)), - (u.hours = n % 24), - (a += I(n / 24)), - (o += i = I(xn(a))), - (a -= bn(Tn(i))), - (s = I(o / 12)), - (o %= 12), - (u.days = a), - (u.months = o), - (u.years = s), - this - ); - }), - (es.clone = function () { - return Zt(this); - }), - (es.get = function (e) { - return (e = V(e)), this.isValid() ? this[e + "s"]() : NaN; - }), - (es.milliseconds = En), - (es.seconds = An), - (es.minutes = jn), - (es.hours = In), - (es.days = Zn), - (es.weeks = function () { - return I(this.days() / 7); - }), - (es.months = zn), - (es.years = $n), - (es.humanize = function (e, t) { - if (!this.isValid()) return this.localeData().invalidDate(); - var n, - s, - i = !1, - r = Bn; - return ( - "object" == typeof e && ((t = e), (e = !1)), - "boolean" == typeof e && (i = e), - "object" == typeof t && - ((r = Object.assign({}, Bn, t)), - null != t.s && null == t.ss && (r.ss = t.s - 1)), - (n = this.localeData()), - (s = Jn(this, !i, r, n)), - i && (s = n.pastFuture(+this, s)), - n.postformat(s) - ); - }), - (es.toISOString = Kn), - (es.toString = Kn), - (es.toJSON = Kn), - (es.locale = tn), - (es.localeData = sn), - (es.toIsoString = n( - "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", - Kn - )), - (es.lang = nn), - C("X", 0, 0, "unix"), - C("x", 0, 0, "valueOf"), - ce("x", ue), - ce("X", /[+-]?\d+(\.\d{1,3})?/), - ye("X", function (e, t, n) { - n._d = new Date(1e3 * parseFloat(e)); - }), - ye("x", function (e, t, n) { - n._d = new Date(Z(e)); - }), - (f.version = "2.29.1"), - (e = Tt), - (f.fn = pn), - (f.min = function () { - return Rt("isBefore", [].slice.call(arguments, 0)); - }), - (f.max = function () { - return Rt("isAfter", [].slice.call(arguments, 0)); - }), - (f.now = function () { - return Date.now ? Date.now() : +new Date(); - }), - (f.utc = _), - (f.unix = function (e) { - return Tt(1e3 * e); - }), - (f.months = function (e, t) { - return Dn(e, t, "months"); - }), - (f.isDate = a), - (f.locale = lt), - (f.invalid = w), - (f.duration = Zt), - (f.isMoment = M), - (f.weekdays = function (e, t, n) { - return Sn(e, t, n, "weekdays"); - }), - (f.parseZone = function () { - return Tt.apply(null, arguments).parseZone(); - }), - (f.localeData = dt), - (f.isDuration = Ut), - (f.monthsShort = function (e, t) { - return Dn(e, t, "monthsShort"); - }), - (f.weekdaysMin = function (e, t, n) { - return Sn(e, t, n, "weekdaysMin"); - }), - (f.defineLocale = ht), - (f.updateLocale = function (e, t) { - var n, s, i; - return ( - null != t - ? ((i = st), - null != it[e] && null != it[e].parentLocale - ? it[e].set(b(it[e]._config, t)) - : (null != (s = ut(e)) && (i = s._config), - (t = b(i, t)), - null == s && (t.abbr = e), - ((n = new x(t)).parentLocale = it[e]), - (it[e] = n)), - lt(e)) - : null != it[e] && - (null != it[e].parentLocale - ? ((it[e] = it[e].parentLocale), e === lt() && lt(e)) - : null != it[e] && delete it[e]), - it[e] - ); - }), - (f.locales = function () { - return s(it); - }), - (f.weekdaysShort = function (e, t, n) { - return Sn(e, t, n, "weekdaysShort"); - }), - (f.normalizeUnits = V), - (f.relativeTimeRounding = function (e) { - return void 0 === e ? qn : "function" == typeof e && ((qn = e), !0); - }), - (f.relativeTimeThreshold = function (e, t) { - return ( - void 0 !== Bn[e] && - (void 0 === t ? Bn[e] : ((Bn[e] = t), "s" === e && (Bn.ss = t - 1), !0)) - ); - }), - (f.calendarFormat = function (e, t) { - var n = e.diff(t, "days", !0); - return n < -6 - ? "sameElse" - : n < -1 - ? "lastWeek" - : n < 0 - ? "lastDay" - : n < 1 - ? "sameDay" - : n < 2 - ? "nextDay" - : n < 7 - ? "nextWeek" - : "sameElse"; - }), - (f.prototype = pn), - (f.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", - }), - f - ); -}); -//# sourceMappingURL=moment.min.js.map +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function f(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(m(e,t))return;return 1}function r(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function a(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function d(e,t){for(var n=[],s=0;s<e.length;++s)n.push(t(e[s],s));return n}function c(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function _(e,t,n,s){return xt(e,t,n,s,!0).utc()}function y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function g(e){if(null==e._isValid){var t=y(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function w(e){var t=_(NaN);return null!=e?c(y(t),e):y(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var p=f.momentProperties=[],t=!1;function v(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=y(t)),r(t._locale)||(e._locale=t._locale),0<p.length)for(n=0;n<p.length;n++)r(i=t[s=p[n]])||(e[s]=i);return e}function k(e){v(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,f.updateOffset(this),t=!1)}function M(e){return e instanceof k||null!=e&&null!=e._isAMomentObject}function D(e){!1===f.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return c(function(){if(null!=f.deprecationHandler&&f.deprecationHandler(null,i),a){for(var e,t,n=[],s=0;s<arguments.length;s++){if(e="","object"==typeof arguments[s]){for(t in e+="\n["+s+"] ",arguments[0])m(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[s];n.push(e)}D(i+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,S={};function Y(e,t){null!=f.deprecationHandler&&f.deprecationHandler(e,t),S[e]||(D(t),S[e]=!0)}function O(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=c({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},c(s[n],e[n]),c(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=c({},s[n]));return s}function x(e){null!=e&&this.set(e)}f.suppressDeprecationWarnings=!1,f.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};function T(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([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,P=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},W={};function C(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(W[e]=i),t&&(W[t[0]]=function(){return T(i.apply(this,arguments),t[1],t[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function U(e,t){return e.isValid()?(t=H(t,e.localeData()),R[t]=R[t]||function(s){for(var e,i=s.match(N),t=0,r=i.length;t<r;t++)W[i[t]]?i[t]=W[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=O(i[n])?i[n].call(e,s):i[n];return t}}(t),R[t](e)):e.localeData().invalidDate()}function H(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(P.lastIndex=0;0<=n&&P.test(e);)e=e.replace(P,s),P.lastIndex=0,--n;return e}var F={};function L(e,t){var n=e.toLowerCase();F[n]=F[n+"s"]=F[t]=e}function V(e){return"string"==typeof e?F[e]||F[e.toLowerCase()]:void 0}function G(e){var t,n,s={};for(n in e)m(e,n)&&(t=V(n))&&(s[t]=e[n]);return s}var E={};function A(e,t){E[e]=t}function j(e){return e%4==0&&e%100!=0||e%400==0}function I(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function Z(e){var t=+e,n=0;return 0!=t&&isFinite(t)&&(n=I(t)),n}function z(t,n){return function(e){return null!=e?(q(this,t,e),f.updateOffset(this,n),this):$(this,t)}}function $(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function q(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&j(e.year())&&1===e.month()&&29===e.date()?(n=Z(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),xe(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var B,J=/\d/,Q=/\d\d/,X=/\d{3}/,K=/\d{4}/,ee=/[+-]?\d{6}/,te=/\d\d?/,ne=/\d\d\d\d?/,se=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,re=/\d{1,4}/,ae=/[+-]?\d{1,6}/,oe=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,he=/Z|[+-]\d\d(?::?\d\d)?/gi,de=/[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;function ce(e,n,s){B[e]=O(n)?n:function(e,t){return e&&s?s:n}}function fe(e,t){return m(B,e)?B[e](t._strict,t._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}B={};var _e={};function ye(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),h(n)&&(s=function(e,t){t[n]=Z(e)}),t=0;t<e.length;t++)_e[e[t]]=s}function ge(e,i){ye(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var we,pe=0,ve=1,ke=2,Me=3,De=4,Se=5,Ye=6,Oe=7,be=8;function xe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1==s?j(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},C("M",["MM",2],"Mo",function(){return this.month()+1}),C("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),C("MMMM",0,0,function(e){return this.localeData().months(this,e)}),L("month","M"),A("month",8),ce("M",te),ce("MM",te,Q),ce("MMM",function(e,t){return t.monthsShortRegex(e)}),ce("MMMM",function(e,t){return t.monthsRegex(e)}),ye(["M","MM"],function(e,t){t[ve]=Z(e)-1}),ye(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[ve]=i:y(n).invalidMonth=e});var Te="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ne="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Pe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Re=de,We=de;function Ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=Z(t);else if(!h(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),xe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Ue(e){return null!=e?(Ce(this,e),f.updateOffset(this,!0),this):$(this,"Month")}function He(){function e(e,t){return t.length-e.length}for(var t,n=[],s=[],i=[],r=0;r<12;r++)t=_([2e3,r]),n.push(this.monthsShort(t,"")),s.push(this.months(t,"")),i.push(this.months(t,"")),i.push(this.monthsShort(t,""));for(n.sort(e),s.sort(e),i.sort(e),r=0;r<12;r++)n[r]=me(n[r]),s[r]=me(s[r]);for(r=0;r<24;r++)i[r]=me(i[r]);this._monthsRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function Fe(e){return j(e)?366:365}C("Y",0,0,function(){var e=this.year();return e<=9999?T(e,4):"+"+e}),C(0,["YY",2],0,function(){return this.year()%100}),C(0,["YYYY",4],0,"year"),C(0,["YYYYY",5],0,"year"),C(0,["YYYYYY",6,!0],0,"year"),L("year","y"),A("year",1),ce("Y",ue),ce("YY",te,Q),ce("YYYY",re,K),ce("YYYYY",ae,ee),ce("YYYYYY",ae,ee),ye(["YYYYY","YYYYYY"],pe),ye("YYYY",function(e,t){t[pe]=2===e.length?f.parseTwoDigitYear(e):Z(e)}),ye("YY",function(e,t){t[pe]=f.parseTwoDigitYear(e)}),ye("Y",function(e,t){t[pe]=parseInt(e,10)}),f.parseTwoDigitYear=function(e){return Z(e)+(68<Z(e)?1900:2e3)};var Le=z("FullYear",!0);function Ve(e){var t,n;return e<100&&0<=e?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ge(e,t,n){var s=7+t-n;return s-(7+Ve(e,0,s).getUTCDay()-t)%7-1}function Ee(e,t,n,s,i){var r,a=1+7*(t-1)+(7+n-s)%7+Ge(e,s,i),o=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:o}}function Ae(e,t,n){var s,i,r=Ge(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+je(i=e.year()-1,t,n):a>je(e.year(),t,n)?(s=a-je(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function je(e,t,n){var s=Ge(e,t,n),i=Ge(e+1,t,n);return(Fe(e)-s+i)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),A("week",5),A("isoWeek",5),ce("w",te),ce("ww",te,Q),ce("W",te),ce("WW",te,Q),ge(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=Z(e)});function Ie(e,t){return e.slice(t,7).concat(e.slice(0,t))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),ce("d",te),ce("e",te),ce("E",te),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),ge(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:y(n).invalidWeekday=e}),ge(["d","e","E"],function(e,t,n,s){t[s]=Z(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$e="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qe=de,Be=de,Je=de;function Qe(){function e(e,t){return t.length-e.length}for(var t,n,s,i,r=[],a=[],o=[],u=[],l=0;l<7;l++)t=_([2e3,1]).day(l),n=me(this.weekdaysMin(t,"")),s=me(this.weekdaysShort(t,"")),i=me(this.weekdays(t,"")),r.push(n),a.push(s),o.push(i),u.push(n),u.push(s),u.push(i);r.sort(e),a.sort(e),o.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Xe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)}),C("hmmss",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),L("hour","h"),A("hour",13),ce("a",et),ce("A",et),ce("H",te),ce("h",te),ce("k",te),ce("HH",te,Q),ce("hh",te,Q),ce("kk",te,Q),ce("hmm",ne),ce("hmmss",se),ce("Hmm",ne),ce("Hmmss",se),ye(["H","HH"],Me),ye(["k","kk"],function(e,t,n){var s=Z(e);t[Me]=24===s?0:s}),ye(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ye(["h","hh"],function(e,t,n){t[Me]=Z(e),y(n).bigHour=!0}),ye("hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s)),y(n).bigHour=!0}),ye("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i)),y(n).bigHour=!0}),ye("Hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s))}),ye("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i))});var tt=z("Hours",!0);var nt,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{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"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{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"},months:Te,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=at(e[r]).split("-")).length,n=(n=at(e[r+1]))?n.split("-"):null;0<t;){if(s=ut(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return nt}function ut(t){var e;if(void 0===it[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=nt._abbr,require("./locale/"+t),lt(e)}catch(e){it[t]=null}return it[t]}function lt(e,t){var n;return e&&((n=r(t)?dt(e):ht(e,t))?nt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ht(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])Y("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."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new x(b(s,t)),rt[e]&&rt[e].forEach(function(e){ht(e.name,e.config)}),lt(e),it[e]}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!o(e)){if(t=ut(e))return t;e=[e]}return ot(e)}function ct(e){var t,n=e._a;return n&&-2===y(e).overflow&&(t=n[ve]<0||11<n[ve]?ve:n[ke]<1||n[ke]>xe(n[pe],n[ve])?ke:n[Me]<0||24<n[Me]||24===n[Me]&&(0!==n[De]||0!==n[Se]||0!==n[Ye])?Me:n[De]<0||59<n[De]?De:n[Se]<0||59<n[Se]?Se:n[Ye]<0||999<n[Ye]?Ye:-1,y(e)._overflowDayOfYear&&(t<pe||ke<t)&&(t=ke),y(e)._overflowWeeks&&-1===t&&(t=Oe),y(e)._overflowWeekday&&-1===t&&(t=be),y(e).overflow=t),e}var ft=/^\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)?)?$/,mt=/^\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)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["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/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],gt=[["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/]],wt=/^\/?Date\((-?\d+)/i,pt=/^(?:(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}))$/,vt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function kt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(y(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Ot(e)}else e._isValid=!1}function Mt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Ne.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function Dt(e){var t,n,s,i,r=pt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(r){if(t=Mt(r[4],r[3],r[2],r[5],r[6],r[7]),n=r[1],s=t,i=e,n&&ze.indexOf(n)!==new Date(s[0],s[1],s[2]).getDay()&&(y(i).weekdayMismatch=!0,!void(i._isValid=!1)))return;e._a=t,e._tzm=function(e,t,n){if(e)return vt[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return 60*((s-i)/100)+i}(r[8],r[9],r[10]),e._d=Ve.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function St(e,t,n){return null!=e?e:null!=t?t:n}function Yt(e){var t,n,s,i,r,a,o,u=[];if(!e._d){for(a=e,o=new Date(f.now()),s=a._useUTC?[o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()]:[o.getFullYear(),o.getMonth(),o.getDate()],e._w&&null==e._a[ke]&&null==e._a[ve]&&function(e){var t,n,s,i,r,a,o,u,l;null!=(t=e._w).GG||null!=t.W||null!=t.E?(r=1,a=4,n=St(t.GG,e._a[pe],Ae(Tt(),1,4).year),s=St(t.W,1),((i=St(t.E,1))<1||7<i)&&(u=!0)):(r=e._locale._week.dow,a=e._locale._week.doy,l=Ae(Tt(),r,a),n=St(t.gg,e._a[pe],l.year),s=St(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r);s<1||s>je(n,r,a)?y(e)._overflowWeeks=!0:null!=u?y(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[pe]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=St(e._a[pe],s[pe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=Ve(r,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ke]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=u[t]=s[t];for(;t<7;t++)e._a[t]=u[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[De]&&0===e._a[Se]&&0===e._a[Ye]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?Ve:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,u),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(y(e).weekdayMismatch=!0)}}function Ot(e){if(e._f!==f.ISO_8601)if(e._f!==f.RFC_2822){e._a=[],y(e).empty=!0;for(var t,n,s,i,r,a,o,u=""+e._i,l=u.length,h=0,d=H(e._f,e._locale).match(N)||[],c=0;c<d.length;c++)n=d[c],(t=(u.match(fe(n,e))||[])[0])&&(0<(s=u.substr(0,u.indexOf(t))).length&&y(e).unusedInput.push(s),u=u.slice(u.indexOf(t)+t.length),h+=t.length),W[n]?(t?y(e).empty=!1:y(e).unusedTokens.push(n),r=n,o=e,null!=(a=t)&&m(_e,r)&&_e[r](a,o._a,o,r)):e._strict&&!t&&y(e).unusedTokens.push(n);y(e).charsLeftOver=l-h,0<u.length&&y(e).unusedInput.push(u),e._a[Me]<=12&&!0===y(e).bigHour&&0<e._a[Me]&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[Me]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[Me],e._meridiem),null!==(i=y(e).era)&&(e._a[pe]=e._locale.erasConvertYear(i,e._a[pe])),Yt(e),ct(e)}else Dt(e);else kt(e)}function bt(e){var t,n,s=e._i,i=e._f;return e._locale=e._locale||dt(e._l),null===s||void 0===i&&""===s?w({nullInput:!0}):("string"==typeof s&&(e._i=s=e._locale.preparse(s)),M(s)?new k(ct(s)):(a(s)?e._d=s:o(i)?function(e){var t,n,s,i,r,a,o=!1;if(0===e._f.length)return y(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,a=!1,t=v({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Ot(t),g(t)&&(a=!0),r+=y(t).charsLeftOver,r+=10*y(t).unusedTokens.length,y(t).score=r,o?r<s&&(s=r,n=t):(null==s||r<s||a)&&(s=r,n=t,a&&(o=!0));c(e,n||t)}(e):i?Ot(e):r(n=(t=e)._i)?t._d=new Date(f.now()):a(n)?t._d=new Date(n.valueOf()):"string"==typeof n?function(e){var t=wt.exec(e._i);null===t?(kt(e),!1===e._isValid&&(delete e._isValid,Dt(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:f.createFromInputFallback(e)))):e._d=new Date(+t[1])}(t):o(n)?(t._a=d(n.slice(0),function(e){return parseInt(e,10)}),Yt(t)):u(n)?function(e){var t,n;e._d||(n=void 0===(t=G(e._i)).day?t.date:t.day,e._a=d([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Yt(e))}(t):h(n)?t._d=new Date(n):f.createFromInputFallback(t),g(e)||(e._d=null),e))}function xt(e,t,n,s,i){var r,a={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&l(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new k(ct(bt(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function Tt(e,t,n,s){return xt(e,t,n,s,!1)}f.createFromInputFallback=n("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),f.ISO_8601=function(){},f.RFC_2822=function(){};var Nt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:w()}),Pt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:w()});function Rt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var t=G(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||t.isoWeek||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,h=t.millisecond||0;this._isValid=function(e){var t,n,s=!1;for(t in e)if(m(e,t)&&(-1===we.call(Wt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<Wt.length;++n)if(e[Wt[n]]){if(s)return!1;parseFloat(e[Wt[n]])!==Z(e[Wt[n]])&&(s=!0)}return!0}(t),this._milliseconds=+h+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=dt(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){C(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+T(~~(e/60),2)+n+T(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ce("Z",he),ce("ZZ",he),ye(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(he,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var n,s,i=(t||"").match(e);return null===i?null:0===(s=60*(n=((i[i.length-1]||[])+"").match(Lt)||["-",0,0])[1]+Z(n[2]))?0:"+"===n[0]?s:-s}function Gt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(M(e)||a(e)?e.valueOf():Tt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),f.updateOffset(n,!1),n):Tt(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}f.updateOffset=function(){};var jt=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,It=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Zt(e,t){var n,s,i,r=e,a=null;return Ut(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:h(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(a=jt.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:Z(a[ke])*n,h:Z(a[Me])*n,m:Z(a[De])*n,s:Z(a[Se])*n,ms:Z(Ht(1e3*a[Ye]))*n}):(a=It.exec(e))?(n="-"===a[1]?-1:1,r={y:zt(a[2],n),M:zt(a[3],n),w:zt(a[4],n),d:zt(a[5],n),h:zt(a[6],n),m:zt(a[7],n),s:zt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=$t(e,t):((n=$t(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ct(r),Ut(e)&&m(e,"_locale")&&(s._locale=e._locale),Ut(e)&&m(e,"_isValid")&&(s._isValid=e._isValid),s}function zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function $t(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=t-e.clone().add(n.months,"M"),n}function qt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Y(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),Bt(this,Zt(e,t),s),this}}function Bt(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),a=Ht(t._months);e.isValid()&&(s=null==s||s,a&&Ce(e,$(e,"Month")+a*n),r&&q(e,"Date",$(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&f.updateOffset(e,r||a))}Zt.fn=Ct.prototype,Zt.invalid=function(){return Zt(NaN)};var Jt=qt(1,"add"),Qt=qt(-1,"subtract");function Xt(e){return"string"==typeof e||e instanceof String}function Kt(e){return M(e)||a(e)||Xt(e)||h(e)||function(t){var e=o(t),n=!1;e&&(n=0===t.filter(function(e){return!h(e)&&Xt(t)}).length);return e&&n}(e)||function(e){var t,n,s=u(e)&&!l(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(t=0;t<r.length;t+=1)n=r[t],i=i||m(e,n);return s&&i}(e)||null==e}function en(e,t){if(e.date()<t.date())return-en(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months"),i=t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s);return-(n+i)||0}function tn(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}f.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",f.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var nn=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function sn(){return this._locale}var rn=126227808e5;function an(e,t){return(e%t+t)%t}function on(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-rn:new Date(e,t,n).valueOf()}function un(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-rn:Date.UTC(e,t,n)}function ln(e,t){return t.erasAbbrRegex(e)}function hn(){for(var e=[],t=[],n=[],s=[],i=this.eras(),r=0,a=i.length;r<a;++r)t.push(me(i[r].name)),e.push(me(i[r].abbr)),n.push(me(i[r].narrow)),s.push(me(i[r].name)),s.push(me(i[r].abbr)),s.push(me(i[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i")}function dn(e,t){C(0,[e,e.length],0,t)}function cn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:((r=je(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ve(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}C("N",0,0,"eraAbbr"),C("NN",0,0,"eraAbbr"),C("NNN",0,0,"eraAbbr"),C("NNNN",0,0,"eraName"),C("NNNNN",0,0,"eraNarrow"),C("y",["y",1],"yo","eraYear"),C("y",["yy",2],0,"eraYear"),C("y",["yyy",3],0,"eraYear"),C("y",["yyyy",4],0,"eraYear"),ce("N",ln),ce("NN",ln),ce("NNN",ln),ce("NNNN",function(e,t){return t.erasNameRegex(e)}),ce("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),ye(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){var i=n._locale.erasParse(e,s,n._strict);i?y(n).era=i:y(n).invalidEra=e}),ce("y",oe),ce("yy",oe),ce("yyy",oe),ce("yyyy",oe),ce("yo",function(e,t){return t._eraYearOrdinalRegex||oe}),ye(["y","yy","yyy","yyyy"],pe),ye(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[pe]=n._locale.eraYearOrdinalParse(e,i):t[pe]=parseInt(e,10)}),C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),dn("gggg","weekYear"),dn("ggggg","weekYear"),dn("GGGG","isoWeekYear"),dn("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),A("weekYear",1),A("isoWeekYear",1),ce("G",ue),ce("g",ue),ce("GG",te,Q),ce("gg",te,Q),ce("GGGG",re,K),ce("gggg",re,K),ce("GGGGG",ae,ee),ce("ggggg",ae,ee),ge(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=Z(e)}),ge(["gg","GG"],function(e,t,n,s){t[s]=f.parseTwoDigitYear(e)}),C("Q",0,"Qo","quarter"),L("quarter","Q"),A("quarter",7),ce("Q",J),ye("Q",function(e,t){t[ve]=3*(Z(e)-1)}),C("D",["DD",2],"Do","date"),L("date","D"),A("date",9),ce("D",te),ce("DD",te,Q),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ye(["D","DD"],ke),ye("Do",function(e,t){t[ke]=Z(e.match(te)[0])});var fn=z("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),A("dayOfYear",4),ce("DDD",ie),ce("DDDD",X),ye(["DDD","DDDD"],function(e,t,n){n._dayOfYear=Z(e)}),C("m",["mm",2],0,"minute"),L("minute","m"),A("minute",14),ce("m",te),ce("mm",te,Q),ye(["m","mm"],De);var mn=z("Minutes",!1);C("s",["ss",2],0,"second"),L("second","s"),A("second",15),ce("s",te),ce("ss",te,Q),ye(["s","ss"],Se);var _n,yn,gn=z("Seconds",!1);for(C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),A("millisecond",16),ce("S",ie,J),ce("SS",ie,Q),ce("SSS",ie,X),_n="SSSS";_n.length<=9;_n+="S")ce(_n,oe);function wn(e,t){t[Ye]=Z(1e3*("0."+e))}for(_n="S";_n.length<=9;_n+="S")ye(_n,wn);yn=z("Milliseconds",!1),C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var pn=k.prototype;function vn(e){return e}pn.add=Jt,pn.calendar=function(e,t){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=u(e)&&!l(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||m(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var n=e||Tt(),s=Gt(n,this).startOf("day"),i=f.calendarFormat(this,s)||"sameElse",r=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,Tt(n)))},pn.clone=function(){return new k(this)},pn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=V(t)){case"year":r=en(this,s)/12;break;case"month":r=en(this,s);break;case"quarter":r=en(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:I(r)},pn.endOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-an(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-an(t,1e3)-1;break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.format=function(e){e=e||(this.isUtc()?f.defaultFormatUtc:f.defaultFormat);var t=U(this,e);return this.localeData().postformat(t)},pn.from=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.fromNow=function(e){return this.from(Tt(),e)},pn.to=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.toNow=function(e){return this.to(Tt(),e)},pn.get=function(e){return O(this[e=V(e)])?this[e]():this},pn.invalidAt=function(){return y(this).overflow},pn.isAfter=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},pn.isBefore=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},pn.isBetween=function(e,t,n,s){var i=M(e)?e:Tt(e),r=M(t)?t:Tt(t);return!!(this.isValid()&&i.isValid()&&r.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===s[1]?this.isBefore(r,n):!this.isAfter(r,n)))},pn.isSame=function(e,t){var n,s=M(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},pn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},pn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},pn.isValid=function(){return g(this)},pn.lang=nn,pn.locale=tn,pn.localeData=sn,pn.max=Pt,pn.min=Nt,pn.parsingFlags=function(){return c({},y(this))},pn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)m(e,t)&&n.push({unit:t,priority:E[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=G(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(O(this[e=V(e)]))return this[e](t);return this},pn.startOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=an(t,6e4);break;case"second":t=this._d.valueOf(),t-=an(t,1e3);break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.subtract=Qt,pn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},pn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},pn.toDate=function(){return new Date(this.valueOf())},pn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?U(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},pn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,s="moment",i="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+s+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(pn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),pn.toJSON=function(){return this.isValid()?this.toISOString():null},pn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},pn.unix=function(){return Math.floor(this.valueOf()/1e3)},pn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},pn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},pn.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},pn.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},pn.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},pn.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-f(n[s].since).year())*e+n[s].offset;return this.year()},pn.year=Le,pn.isLeapYear=function(){return j(this.year())},pn.weekYear=function(e){return cn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},pn.isoWeekYear=function(e){return cn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},pn.quarter=pn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},pn.month=Ue,pn.daysInMonth=function(){return xe(this.year(),this.month())},pn.week=pn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},pn.isoWeek=pn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},pn.weeksInYear=function(){var e=this.localeData()._week;return je(this.year(),e.dow,e.doy)},pn.weeksInWeekYear=function(){var e=this.localeData()._week;return je(this.weekYear(),e.dow,e.doy)},pn.isoWeeksInYear=function(){return je(this.year(),1,4)},pn.isoWeeksInISOWeekYear=function(){return je(this.isoWeekYear(),1,4)},pn.date=fn,pn.day=pn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},pn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},pn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,s=(t=e,n=this.localeData(),"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?s:s-7)},pn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},pn.hour=pn.hours=tt,pn.minute=pn.minutes=mn,pn.second=pn.seconds=gn,pn.millisecond=pn.milliseconds=yn,pn.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(he,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?Bt(this,Zt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,f.updateOffset(this,!0),this._changeInProgress=null)),this},pn.utc=function(e){return this.utcOffset(0,e)},pn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Et(this),"m")),this},pn.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(le,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},pn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},pn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},pn.isLocal=function(){return!!this.isValid()&&!this._isUTC},pn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},pn.isUtc=At,pn.isUTC=At,pn.zoneAbbr=function(){return this._isUTC?"UTC":""},pn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},pn.dates=n("dates accessor is deprecated. Use date instead.",fn),pn.months=n("months accessor is deprecated. Use month instead",Ue),pn.years=n("years accessor is deprecated. Use year instead",Le),pn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),pn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,t={};return v(t,this),(t=bt(t))._a?(e=(t._isUTC?_:Tt)(t._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&Z(e[a])!==Z(t[a]))&&r++;return r+i}(t._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});var kn=x.prototype;function Mn(e,t,n,s){var i=dt(),r=_().set(s,t);return i[n](r,e)}function Dn(e,t,n){if(h(e)&&(t=e,e=void 0),e=e||"",null!=t)return Mn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=Mn(e,i,n,"month");return s}function Sn(e,t,n,s){t=("boolean"==typeof e?h(t)&&(n=t,t=void 0):(t=e,e=!1,h(n=t)&&(n=t,t=void 0)),t||"");var i,r=dt(),a=e?r._week.dow:0,o=[];if(null!=n)return Mn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=Mn(t,(i+a)%7,s,"day");return o}kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return O(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=vn,kn.postformat=vn,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return O(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return O(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)m(e,n)&&(O(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.eras=function(e,t){for(var n,s=this._eras||dt("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=f(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=f(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},kn.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},kn.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?f(e.since).year():f(e.since).year()+(t-e.offset)*n},kn.erasAbbrRegex=function(e){return m(this,"_erasAbbrRegex")||hn.call(this),e?this._erasAbbrRegex:this._erasRegex},kn.erasNameRegex=function(e){return m(this,"_erasNameRegex")||hn.call(this),e?this._erasNameRegex:this._erasRegex},kn.erasNarrowRegex=function(e){return m(this,"_erasNarrowRegex")||hn.call(this),e?this._erasNarrowRegex:this._erasRegex},kn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Pe).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Pe.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=_([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))||-1!==(i=we.call(this._longMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))||-1!==(i=we.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=_([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=We),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Re),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ie(n,this._week.dow):e?n[e.day()]:n},kn.weekdaysMin=function(e){return!0===e?Ie(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return!0===e?Ie(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=_([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=_([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Be),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},lt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===Z(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),f.lang=n("moment.lang is deprecated. Use moment.locale instead.",lt),f.langData=n("moment.langData is deprecated. Use moment.localeData instead.",dt);var Yn=Math.abs;function On(e,t,n,s){var i=Zt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function bn(e){return e<0?Math.floor(e):Math.ceil(e)}function xn(e){return 4800*e/146097}function Tn(e){return 146097*e/4800}function Nn(e){return function(){return this.as(e)}}var Pn=Nn("ms"),Rn=Nn("s"),Wn=Nn("m"),Cn=Nn("h"),Un=Nn("d"),Hn=Nn("w"),Fn=Nn("M"),Ln=Nn("Q"),Vn=Nn("y");function Gn(e){return function(){return this.isValid()?this._data[e]:NaN}}var En=Gn("milliseconds"),An=Gn("seconds"),jn=Gn("minutes"),In=Gn("hours"),Zn=Gn("days"),zn=Gn("months"),$n=Gn("years");var qn=Math.round,Bn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Jn(e,t,n,s){var i=Zt(e).abs(),r=qn(i.as("s")),a=qn(i.as("m")),o=qn(i.as("h")),u=qn(i.as("d")),l=qn(i.as("M")),h=qn(i.as("w")),d=qn(i.as("y")),c=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||a<=1&&["m"]||a<n.m&&["mm",a]||o<=1&&["h"]||o<n.h&&["hh",o]||u<=1&&["d"]||u<n.d&&["dd",u];return null!=n.w&&(c=c||h<=1&&["w"]||h<n.w&&["ww",h]),(c=c||l<=1&&["M"]||l<n.M&&["MM",l]||d<=1&&["y"]||["yy",d])[2]=t,c[3]=0<+e,c[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,c)}var Qn=Math.abs;function Xn(e){return(0<e)-(e<0)||+e}function Kn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s,i,r,a,o,u=Qn(this._milliseconds)/1e3,l=Qn(this._days),h=Qn(this._months),d=this.asSeconds();return d?(e=I(u/60),t=I(e/60),u%=60,e%=60,n=I(h/12),h%=12,s=u?u.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=Xn(this._months)!==Xn(d)?"-":"",a=Xn(this._days)!==Xn(d)?"-":"",o=Xn(this._milliseconds)!==Xn(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(h?r+h+"M":"")+(l?a+l+"D":"")+(t||e||u?"T":"")+(t?o+t+"H":"")+(e?o+e+"M":"")+(u?o+s+"S":"")):"P0D"}var es=Ct.prototype;return es.isValid=function(){return this._isValid},es.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},es.add=function(e,t){return On(this,e,t,1)},es.subtract=function(e,t){return On(this,e,t,-1)},es.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=V(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+xn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Tn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},es.asMilliseconds=Pn,es.asSeconds=Rn,es.asMinutes=Wn,es.asHours=Cn,es.asDays=Un,es.asWeeks=Hn,es.asMonths=Fn,es.asQuarters=Ln,es.asYears=Vn,es.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*Z(this._months/12):NaN},es._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*bn(Tn(o)+a),o=a=0),u.milliseconds=r%1e3,e=I(r/1e3),u.seconds=e%60,t=I(e/60),u.minutes=t%60,n=I(t/60),u.hours=n%24,a+=I(n/24),o+=i=I(xn(a)),a-=bn(Tn(i)),s=I(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},es.clone=function(){return Zt(this)},es.get=function(e){return e=V(e),this.isValid()?this[e+"s"]():NaN},es.milliseconds=En,es.seconds=An,es.minutes=jn,es.hours=In,es.days=Zn,es.weeks=function(){return I(this.days()/7)},es.months=zn,es.years=$n,es.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,s,i=!1,r=Bn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},Bn,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),n=this.localeData(),s=Jn(this,!i,r,n),i&&(s=n.pastFuture(+this,s)),n.postformat(s)},es.toISOString=Kn,es.toString=Kn,es.toJSON=Kn,es.locale=tn,es.localeData=sn,es.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),es.lang=nn,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ce("x",ue),ce("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),ye("x",function(e,t,n){n._d=new Date(Z(e))}),f.version="2.29.1",e=Tt,f.fn=pn,f.min=function(){return Rt("isBefore",[].slice.call(arguments,0))},f.max=function(){return Rt("isAfter",[].slice.call(arguments,0))},f.now=function(){return Date.now?Date.now():+new Date},f.utc=_,f.unix=function(e){return Tt(1e3*e)},f.months=function(e,t){return Dn(e,t,"months")},f.isDate=a,f.locale=lt,f.invalid=w,f.duration=Zt,f.isMoment=M,f.weekdays=function(e,t,n){return Sn(e,t,n,"weekdays")},f.parseZone=function(){return Tt.apply(null,arguments).parseZone()},f.localeData=dt,f.isDuration=Ut,f.monthsShort=function(e,t){return Dn(e,t,"monthsShort")},f.weekdaysMin=function(e,t,n){return Sn(e,t,n,"weekdaysMin")},f.defineLocale=ht,f.updateLocale=function(e,t){var n,s,i;return null!=t?(i=st,null!=it[e]&&null!=it[e].parentLocale?it[e].set(b(it[e]._config,t)):(null!=(s=ut(e))&&(i=s._config),t=b(i,t),null==s&&(t.abbr=e),(n=new x(t)).parentLocale=it[e],it[e]=n),lt(e)):null!=it[e]&&(null!=it[e].parentLocale?(it[e]=it[e].parentLocale,e===lt()&<(e)):null!=it[e]&&delete it[e]),it[e]},f.locales=function(){return s(it)},f.weekdaysShort=function(e,t,n){return Sn(e,t,n,"weekdaysShort")},f.normalizeUnits=V,f.relativeTimeRounding=function(e){return void 0===e?qn:"function"==typeof e&&(qn=e,!0)},f.relativeTimeThreshold=function(e,t){return void 0!==Bn[e]&&(void 0===t?Bn[e]:(Bn[e]=t,"s"===e&&(Bn.ss=t-1),!0))},f.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},f.prototype=pn,f.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"},f}); +//# sourceMappingURL=moment.min.js.map \ No newline at end of file diff --git a/notemyprogress/js/vue.js b/notemyprogress/js/vue.js index 5632204c8494f4ae8ceada93ee28f233ee07433b..919aa1251299c4970b9860571d26c1852141e4ad 100644 --- a/notemyprogress/js/vue.js +++ b/notemyprogress/js/vue.js @@ -4,13 +4,10 @@ * Released under the MIT License. */ (function (global, factory) { - typeof exports === "object" && typeof module !== "undefined" - ? (module.exports = factory()) - : typeof define === "function" && define.amd - ? define(factory) - : ((global = global || self), (global.Vue = factory())); -})(this, function () { - "use strict"; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.Vue = factory()); +}(this, function () { 'use strict'; /* */ @@ -18,33 +15,33 @@ // These helpers produce better VM code in JS engines due to their // explicitness and function inlining. - function isUndef(v) { - return v === undefined || v === null; + function isUndef (v) { + return v === undefined || v === null } - function isDef(v) { - return v !== undefined && v !== null; + function isDef (v) { + return v !== undefined && v !== null } - function isTrue(v) { - return v === true; + function isTrue (v) { + return v === true } - function isFalse(v) { - return v === false; + function isFalse (v) { + return v === false } /** * Check if value is primitive. */ - function isPrimitive(value) { + function isPrimitive (value) { return ( - typeof value === "string" || - typeof value === "number" || + typeof value === 'string' || + typeof value === 'number' || // $flow-disable-line - typeof value === "symbol" || - typeof value === "boolean" - ); + typeof value === 'symbol' || + typeof value === 'boolean' + ) } /** @@ -52,8 +49,8 @@ * Objects from primitive values when we know the value * is a JSON-compliant type. */ - function isObject(obj) { - return obj !== null && typeof obj === "object"; + function isObject (obj) { + return obj !== null && typeof obj === 'object' } /** @@ -61,95 +58,94 @@ */ var _toString = Object.prototype.toString; - function toRawType(value) { - return _toString.call(value).slice(8, -1); + function toRawType (value) { + return _toString.call(value).slice(8, -1) } /** * Strict object type check. Only returns true * for plain JavaScript objects. */ - function isPlainObject(obj) { - return _toString.call(obj) === "[object Object]"; + function isPlainObject (obj) { + return _toString.call(obj) === '[object Object]' } - function isRegExp(v) { - return _toString.call(v) === "[object RegExp]"; + function isRegExp (v) { + return _toString.call(v) === '[object RegExp]' } /** * Check if val is a valid array index. */ - function isValidArrayIndex(val) { + function isValidArrayIndex (val) { var n = parseFloat(String(val)); - return n >= 0 && Math.floor(n) === n && isFinite(val); + return n >= 0 && Math.floor(n) === n && isFinite(val) } - function isPromise(val) { + function isPromise (val) { return ( isDef(val) && - typeof val.then === "function" && - typeof val.catch === "function" - ); + typeof val.then === 'function' && + typeof val.catch === 'function' + ) } /** * Convert a value to a string that is actually rendered. */ - function toString(val) { + function toString (val) { return val == null - ? "" + ? '' : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) - ? JSON.stringify(val, null, 2) - : String(val); + ? JSON.stringify(val, null, 2) + : String(val) } /** * Convert an input value to a number for persistence. * If the conversion fails, return original string. */ - function toNumber(val) { + function toNumber (val) { var n = parseFloat(val); - return isNaN(n) ? val : n; + return isNaN(n) ? val : n } /** * Make a map and return a function for checking if a key * is in that map. */ - function makeMap(str, expectsLowerCase) { + function makeMap ( + str, + expectsLowerCase + ) { var map = Object.create(null); - var list = str.split(","); + var list = str.split(','); for (var i = 0; i < list.length; i++) { map[list[i]] = true; } return expectsLowerCase - ? function (val) { - return map[val.toLowerCase()]; - } - : function (val) { - return map[val]; - }; + ? function (val) { return map[val.toLowerCase()]; } + : function (val) { return map[val]; } } /** * Check if a tag is a built-in tag. */ - var isBuiltInTag = makeMap("slot,component", true); + var isBuiltInTag = makeMap('slot,component', true); /** * Check if an attribute is a reserved attribute. */ - var isReservedAttribute = makeMap("key,ref,slot,slot-scope,is"); + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); /** * Remove an item from an array. */ - function remove(arr, item) { + function remove (arr, item) { if (arr.length) { var index = arr.indexOf(item); if (index > -1) { - return arr.splice(index, 1); + return arr.splice(index, 1) } } } @@ -158,19 +154,19 @@ * Check whether an object has the property. */ var hasOwnProperty = Object.prototype.hasOwnProperty; - function hasOwn(obj, key) { - return hasOwnProperty.call(obj, key); + function hasOwn (obj, key) { + return hasOwnProperty.call(obj, key) } /** * Create a cached version of a pure function. */ - function cached(fn) { + function cached (fn) { var cache = Object.create(null); - return function cachedFn(str) { + return (function cachedFn (str) { var hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; + return hit || (cache[str] = fn(str)) + }) } /** @@ -178,16 +174,14 @@ */ var camelizeRE = /-(\w)/g; var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { - return c ? c.toUpperCase() : ""; - }); + return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) }); /** * Capitalize a string. */ var capitalize = cached(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1); + return str.charAt(0).toUpperCase() + str.slice(1) }); /** @@ -195,7 +189,7 @@ */ var hyphenateRE = /\B([A-Z])/g; var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, "-$1").toLowerCase(); + return str.replace(hyphenateRE, '-$1').toLowerCase() }); /** @@ -207,60 +201,62 @@ */ /* istanbul ignore next */ - function polyfillBind(fn, ctx) { - function boundFn(a) { + function polyfillBind (fn, ctx) { + function boundFn (a) { var l = arguments.length; return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) - : fn.call(ctx); + : fn.call(ctx) } boundFn._length = fn.length; - return boundFn; + return boundFn } - function nativeBind(fn, ctx) { - return fn.bind(ctx); + function nativeBind (fn, ctx) { + return fn.bind(ctx) } - var bind = Function.prototype.bind ? nativeBind : polyfillBind; + var bind = Function.prototype.bind + ? nativeBind + : polyfillBind; /** * Convert an Array-like object to a real Array. */ - function toArray(list, start) { + function toArray (list, start) { start = start || 0; var i = list.length - start; var ret = new Array(i); while (i--) { ret[i] = list[i + start]; } - return ret; + return ret } /** * Mix properties into target object. */ - function extend(to, _from) { + function extend (to, _from) { for (var key in _from) { to[key] = _from[key]; } - return to; + return to } /** * Merge an Array of Objects into a single Object. */ - function toObject(arr) { + function toObject (arr) { var res = {}; for (var i = 0; i < arr.length; i++) { if (arr[i]) { extend(res, arr[i]); } } - return res; + return res } /* eslint-disable no-unused-vars */ @@ -270,43 +266,35 @@ * Stubbing args to make Flow happy without leaving useless transpiled code * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). */ - function noop(a, b, c) {} + function noop (a, b, c) {} /** * Always return false. */ - var no = function (a, b, c) { - return false; - }; + var no = function (a, b, c) { return false; }; /* eslint-enable no-unused-vars */ /** * Return the same value. */ - var identity = function (_) { - return _; - }; + var identity = function (_) { return _; }; /** * Generate a string containing static keys from compiler modules. */ - function genStaticKeys(modules) { - return modules - .reduce(function (keys, m) { - return keys.concat(m.staticKeys || []); - }, []) - .join(","); + function genStaticKeys (modules) { + return modules.reduce(function (keys, m) { + return keys.concat(m.staticKeys || []) + }, []).join(',') } /** * Check if two values are loosely equal - that is, * if they are plain objects, do they have the same shape? */ - function looseEqual(a, b) { - if (a === b) { - return true; - } + function looseEqual (a, b) { + if (a === b) { return true } var isObjectA = isObject(a); var isObjectB = isObject(b); if (isObjectA && isObjectB) { @@ -314,35 +302,29 @@ var isArrayA = Array.isArray(a); var isArrayB = Array.isArray(b); if (isArrayA && isArrayB) { - return ( - a.length === b.length && - a.every(function (e, i) { - return looseEqual(e, b[i]); - }) - ); + return a.length === b.length && a.every(function (e, i) { + return looseEqual(e, b[i]) + }) } else if (a instanceof Date && b instanceof Date) { - return a.getTime() === b.getTime(); + return a.getTime() === b.getTime() } else if (!isArrayA && !isArrayB) { var keysA = Object.keys(a); var keysB = Object.keys(b); - return ( - keysA.length === keysB.length && - keysA.every(function (key) { - return looseEqual(a[key], b[key]); - }) - ); + return keysA.length === keysB.length && keysA.every(function (key) { + return looseEqual(a[key], b[key]) + }) } else { /* istanbul ignore next */ - return false; + return false } } catch (e) { /* istanbul ignore next */ - return false; + return false } } else if (!isObjectA && !isObjectB) { - return String(a) === String(b); + return String(a) === String(b) } else { - return false; + return false } } @@ -351,50 +333,54 @@ * found in the array (if value is a plain object, the array must * contain an object of the same shape), or -1 if it is not present. */ - function looseIndexOf(arr, val) { + function looseIndexOf (arr, val) { for (var i = 0; i < arr.length; i++) { - if (looseEqual(arr[i], val)) { - return i; - } + if (looseEqual(arr[i], val)) { return i } } - return -1; + return -1 } /** * Ensure a function is called only once. */ - function once(fn) { + function once (fn) { var called = false; return function () { if (!called) { called = true; fn.apply(this, arguments); } - }; + } } - var SSR_ATTR = "data-server-rendered"; + var SSR_ATTR = 'data-server-rendered'; - var ASSET_TYPES = ["component", "directive", "filter"]; + var ASSET_TYPES = [ + 'component', + 'directive', + 'filter' + ]; var LIFECYCLE_HOOKS = [ - "beforeCreate", - "created", - "beforeMount", - "mounted", - "beforeUpdate", - "updated", - "beforeDestroy", - "destroyed", - "activated", - "deactivated", - "errorCaptured", - "serverPrefetch", + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch' ]; /* */ - var config = { + + + var config = ({ /** * Option merge strategies (used in core/util/options) */ @@ -409,12 +395,12 @@ /** * Show production mode tip message on boot? */ - productionTip: "development" !== "production", + productionTip: "development" !== 'production', /** * Whether to enable devtools */ - devtools: "development" !== "production", + devtools: "development" !== 'production', /** * Whether to record perf @@ -485,8 +471,8 @@ /** * Exposed for legacy reasons */ - _lifecycleHooks: LIFECYCLE_HOOKS, - }; + _lifecycleHooks: LIFECYCLE_HOOKS + }); /* */ @@ -495,83 +481,79 @@ * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname * skipping \u10000-\uEFFFF due to it freezing up PhantomJS */ - var unicodeRegExp = - /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; /** * Check if a string starts with $ or _ */ - function isReserved(str) { - var c = (str + "").charCodeAt(0); - return c === 0x24 || c === 0x5f; + function isReserved (str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5F } /** * Define a property. */ - function def(obj, key, val, enumerable) { + function def (obj, key, val, enumerable) { Object.defineProperty(obj, key, { value: val, enumerable: !!enumerable, writable: true, - configurable: true, + configurable: true }); } /** * Parse simple path. */ - var bailRE = new RegExp("[^" + unicodeRegExp.source + ".$_\\d]"); - function parsePath(path) { + var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); + function parsePath (path) { if (bailRE.test(path)) { - return; + return } - var segments = path.split("."); + var segments = path.split('.'); return function (obj) { for (var i = 0; i < segments.length; i++) { - if (!obj) { - return; - } + if (!obj) { return } obj = obj[segments[i]]; } - return obj; - }; + return obj + } } /* */ // can we use __proto__? - var hasProto = "__proto__" in {}; + var hasProto = '__proto__' in {}; // Browser environment sniffing - var inBrowser = typeof window !== "undefined"; - var inWeex = typeof WXEnvironment !== "undefined" && !!WXEnvironment.platform; + var inBrowser = typeof window !== 'undefined'; + var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); var UA = inBrowser && window.navigator.userAgent.toLowerCase(); var isIE = UA && /msie|trident/.test(UA); - var isIE9 = UA && UA.indexOf("msie 9.0") > 0; - var isEdge = UA && UA.indexOf("edge/") > 0; - var isAndroid = - (UA && UA.indexOf("android") > 0) || weexPlatform === "android"; - var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === "ios"; + var isIE9 = UA && UA.indexOf('msie 9.0') > 0; + var isEdge = UA && UA.indexOf('edge/') > 0; + var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); + var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; var isPhantomJS = UA && /phantomjs/.test(UA); var isFF = UA && UA.match(/firefox\/(\d+)/); // Firefox has a "watch" function on Object.prototype... - var nativeWatch = {}.watch; + var nativeWatch = ({}).watch; var supportsPassive = false; if (inBrowser) { try { var opts = {}; - Object.defineProperty(opts, "passive", { - get: function get() { + Object.defineProperty(opts, 'passive', ({ + get: function get () { /* istanbul ignore next */ supportsPassive = true; - }, - }); // https://github.com/facebook/flow/issues/285 - window.addEventListener("test-passive", null, opts); + } + })); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); } catch (e) {} } @@ -581,101 +563,93 @@ var isServerRendering = function () { if (_isServer === undefined) { /* istanbul ignore if */ - if (!inBrowser && !inWeex && typeof global !== "undefined") { + if (!inBrowser && !inWeex && typeof global !== 'undefined') { // detect presence of vue-server-renderer and avoid // Webpack shimming the process - _isServer = - global["process"] && global["process"].env.VUE_ENV === "server"; + _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; } else { _isServer = false; } } - return _isServer; + return _isServer }; // detect devtools var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; /* istanbul ignore next */ - function isNative(Ctor) { - return typeof Ctor === "function" && /native code/.test(Ctor.toString()); + function isNative (Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) } var hasSymbol = - typeof Symbol !== "undefined" && - isNative(Symbol) && - typeof Reflect !== "undefined" && - isNative(Reflect.ownKeys); + typeof Symbol !== 'undefined' && isNative(Symbol) && + typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); var _Set; /* istanbul ignore if */ // $flow-disable-line - if (typeof Set !== "undefined" && isNative(Set)) { + if (typeof Set !== 'undefined' && isNative(Set)) { // use native Set when available. _Set = Set; } else { // a non-standard Set polyfill that only works with primitive keys. - _Set = /*@__PURE__*/ (function () { - function Set() { + _Set = /*@__PURE__*/(function () { + function Set () { this.set = Object.create(null); } - Set.prototype.has = function has(key) { - return this.set[key] === true; + Set.prototype.has = function has (key) { + return this.set[key] === true }; - Set.prototype.add = function add(key) { + Set.prototype.add = function add (key) { this.set[key] = true; }; - Set.prototype.clear = function clear() { + Set.prototype.clear = function clear () { this.set = Object.create(null); }; return Set; - })(); + }()); } /* */ var warn = noop; var tip = noop; - var generateComponentTrace = noop; // work around flow check - var formatComponentName = noop; + var generateComponentTrace = (noop); // work around flow check + var formatComponentName = (noop); { - var hasConsole = typeof console !== "undefined"; + var hasConsole = typeof console !== 'undefined'; var classifyRE = /(?:^|[-_])(\w)/g; - var classify = function (str) { - return str - .replace(classifyRE, function (c) { - return c.toUpperCase(); - }) - .replace(/[-_]/g, ""); - }; + var classify = function (str) { return str + .replace(classifyRE, function (c) { return c.toUpperCase(); }) + .replace(/[-_]/g, ''); }; warn = function (msg, vm) { - var trace = vm ? generateComponentTrace(vm) : ""; + var trace = vm ? generateComponentTrace(vm) : ''; if (config.warnHandler) { config.warnHandler.call(null, msg, vm, trace); - } else if (hasConsole && !config.silent) { - console.error("[Vue warn]: " + msg + trace); + } else if (hasConsole && (!config.silent)) { + console.error(("[Vue warn]: " + msg + trace)); } }; tip = function (msg, vm) { - if (hasConsole && !config.silent) { - console.warn( - "[Vue tip]: " + msg + (vm ? generateComponentTrace(vm) : "") - ); + if (hasConsole && (!config.silent)) { + console.warn("[Vue tip]: " + msg + ( + vm ? generateComponentTrace(vm) : '' + )); } }; formatComponentName = function (vm, includeFile) { if (vm.$root === vm) { - return "<Root>"; + return '<Root>' } - var options = - typeof vm === "function" && vm.cid != null - ? vm.options - : vm._isVue + var options = typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue ? vm.$options || vm.constructor.options : vm; var name = options.name || options._componentTag; @@ -686,23 +660,19 @@ } return ( - (name ? "<" + classify(name) + ">" : "<Anonymous>") + - (file && includeFile !== false ? " at " + file : "") - ); + (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") + + (file && includeFile !== false ? (" at " + file) : '') + ) }; var repeat = function (str, n) { - var res = ""; + var res = ''; while (n) { - if (n % 2 === 1) { - res += str; - } - if (n > 1) { - str += str; - } + if (n % 2 === 1) { res += str; } + if (n > 1) { str += str; } n >>= 1; } - return res; + return res }; generateComponentTrace = function (vm) { @@ -715,7 +685,7 @@ if (last.constructor === vm.constructor) { currentRecursiveSequence++; vm = vm.$parent; - continue; + continue } else if (currentRecursiveSequence > 0) { tree[tree.length - 1] = [last, currentRecursiveSequence]; currentRecursiveSequence = 0; @@ -724,25 +694,13 @@ tree.push(vm); vm = vm.$parent; } - return ( - "\n\nfound in\n\n" + - tree - .map(function (vm, i) { - return ( - "" + - (i === 0 ? "---> " : repeat(" ", 5 + i * 2)) + - (Array.isArray(vm) - ? formatComponentName(vm[0]) + - "... (" + - vm[1] + - " recursive calls)" - : formatComponentName(vm)) - ); - }) - .join("\n") - ); + return '\n\nfound in\n\n' + tree + .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') } else { - return "\n\n(found in " + formatComponentName(vm) + ")"; + return ("\n\n(found in " + (formatComponentName(vm)) + ")") } }; } @@ -755,35 +713,33 @@ * A dep is an observable that can have multiple * directives subscribing to it. */ - var Dep = function Dep() { + var Dep = function Dep () { this.id = uid++; this.subs = []; }; - Dep.prototype.addSub = function addSub(sub) { + Dep.prototype.addSub = function addSub (sub) { this.subs.push(sub); }; - Dep.prototype.removeSub = function removeSub(sub) { + Dep.prototype.removeSub = function removeSub (sub) { remove(this.subs, sub); }; - Dep.prototype.depend = function depend() { + Dep.prototype.depend = function depend () { if (Dep.target) { Dep.target.addDep(this); } }; - Dep.prototype.notify = function notify() { + Dep.prototype.notify = function notify () { // stabilize the subscriber list first var subs = this.subs.slice(); if (!config.async) { // subs aren't sorted in scheduler if not running async // we need to sort them now to make sure they fire in correct // order - subs.sort(function (a, b) { - return a.id - b.id; - }); + subs.sort(function (a, b) { return a.id - b.id; }); } for (var i = 0, l = subs.length; i < l; i++) { subs[i].update(); @@ -796,19 +752,19 @@ Dep.target = null; var targetStack = []; - function pushTarget(target) { + function pushTarget (target) { targetStack.push(target); Dep.target = target; } - function popTarget() { + function popTarget () { targetStack.pop(); Dep.target = targetStack[targetStack.length - 1]; } /* */ - var VNode = function VNode( + var VNode = function VNode ( tag, data, children, @@ -848,29 +804,29 @@ // DEPRECATED: alias for componentInstance for backwards compat. /* istanbul ignore next */ prototypeAccessors.child.get = function () { - return this.componentInstance; + return this.componentInstance }; - Object.defineProperties(VNode.prototype, prototypeAccessors); + Object.defineProperties( VNode.prototype, prototypeAccessors ); var createEmptyVNode = function (text) { - if (text === void 0) text = ""; + if ( text === void 0 ) text = ''; var node = new VNode(); node.text = text; node.isComment = true; - return node; + return node }; - function createTextVNode(val) { - return new VNode(undefined, undefined, undefined, String(val)); + function createTextVNode (val) { + return new VNode(undefined, undefined, undefined, String(val)) } // optimized shallow clone // used for static nodes and slot nodes because they may be reused across // multiple renders, cloning them avoids errors when DOM manipulations rely // on their elm reference. - function cloneVNode(vnode) { + function cloneVNode (vnode) { var cloned = new VNode( vnode.tag, vnode.data, @@ -893,7 +849,7 @@ cloned.fnScopeId = vnode.fnScopeId; cloned.asyncMeta = vnode.asyncMeta; cloned.isCloned = true; - return cloned; + return cloned } /* @@ -905,13 +861,13 @@ var arrayMethods = Object.create(arrayProto); var methodsToPatch = [ - "push", - "pop", - "shift", - "unshift", - "splice", - "sort", - "reverse", + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' ]; /** @@ -920,29 +876,26 @@ methodsToPatch.forEach(function (method) { // cache original method var original = arrayProto[method]; - def(arrayMethods, method, function mutator() { - var args = [], - len = arguments.length; - while (len--) args[len] = arguments[len]; + def(arrayMethods, method, function mutator () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; var result = original.apply(this, args); var ob = this.__ob__; var inserted; switch (method) { - case "push": - case "unshift": + case 'push': + case 'unshift': inserted = args; - break; - case "splice": + break + case 'splice': inserted = args.slice(2); - break; - } - if (inserted) { - ob.observeArray(inserted); + break } + if (inserted) { ob.observeArray(inserted); } // notify change ob.dep.notify(); - return result; + return result }); }); @@ -956,7 +909,7 @@ */ var shouldObserve = true; - function toggleObserving(value) { + function toggleObserving (value) { shouldObserve = value; } @@ -966,11 +919,11 @@ * object's property keys into getter/setters that * collect dependencies and dispatch updates. */ - var Observer = function Observer(value) { + var Observer = function Observer (value) { this.value = value; this.dep = new Dep(); this.vmCount = 0; - def(value, "__ob__", this); + def(value, '__ob__', this); if (Array.isArray(value)) { if (hasProto) { protoAugment(value, arrayMethods); @@ -988,7 +941,7 @@ * getter/setters. This method should only be called when * value type is Object. */ - Observer.prototype.walk = function walk(obj) { + Observer.prototype.walk = function walk (obj) { var keys = Object.keys(obj); for (var i = 0; i < keys.length; i++) { defineReactive$$1(obj, keys[i]); @@ -998,7 +951,7 @@ /** * Observe a list of Array items. */ - Observer.prototype.observeArray = function observeArray(items) { + Observer.prototype.observeArray = function observeArray (items) { for (var i = 0, l = items.length; i < l; i++) { observe(items[i]); } @@ -1010,7 +963,7 @@ * Augment a target Object or Array by intercepting * the prototype chain using __proto__ */ - function protoAugment(target, src) { + function protoAugment (target, src) { /* eslint-disable no-proto */ target.__proto__ = src; /* eslint-enable no-proto */ @@ -1021,7 +974,7 @@ * hidden properties. */ /* istanbul ignore next */ - function copyAugment(target, src, keys) { + function copyAugment (target, src, keys) { for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i]; def(target, key, src[key]); @@ -1033,12 +986,12 @@ * returns the new observer if successfully observed, * or the existing observer if the value already has one. */ - function observe(value, asRootData) { + function observe (value, asRootData) { if (!isObject(value) || value instanceof VNode) { - return; + return } var ob; - if (hasOwn(value, "__ob__") && value.__ob__ instanceof Observer) { + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { ob = value.__ob__; } else if ( shouldObserve && @@ -1052,18 +1005,24 @@ if (asRootData && ob) { ob.vmCount++; } - return ob; + return ob } /** * Define a reactive property on an Object. */ - function defineReactive$$1(obj, key, val, customSetter, shallow) { + function defineReactive$$1 ( + obj, + key, + val, + customSetter, + shallow + ) { var dep = new Dep(); var property = Object.getOwnPropertyDescriptor(obj, key); if (property && property.configurable === false) { - return; + return } // cater for pre-defined getter/setters @@ -1077,7 +1036,7 @@ Object.defineProperty(obj, key, { enumerable: true, configurable: true, - get: function reactiveGetter() { + get: function reactiveGetter () { var value = getter ? getter.call(obj) : val; if (Dep.target) { dep.depend(); @@ -1088,22 +1047,20 @@ } } } - return value; + return value }, - set: function reactiveSetter(newVal) { + set: function reactiveSetter (newVal) { var value = getter ? getter.call(obj) : val; /* eslint-disable no-self-compare */ if (newVal === value || (newVal !== newVal && value !== value)) { - return; + return } /* eslint-enable no-self-compare */ if (customSetter) { customSetter(); } // #7981: for accessor properties without setter - if (getter && !setter) { - return; - } + if (getter && !setter) { return } if (setter) { setter.call(obj, newVal); } else { @@ -1111,7 +1068,7 @@ } childOb = !shallow && observe(newVal); dep.notify(); - }, + } }); } @@ -1120,67 +1077,63 @@ * triggers change notification if the property doesn't * already exist. */ - function set(target, key, val) { - if (isUndef(target) || isPrimitive(target)) { - warn( - "Cannot set reactive property on undefined, null, or primitive value: " + - target - ); + function set (target, key, val) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); } if (Array.isArray(target) && isValidArrayIndex(key)) { target.length = Math.max(target.length, key); target.splice(key, 1, val); - return val; + return val } if (key in target && !(key in Object.prototype)) { target[key] = val; - return val; + return val } - var ob = target.__ob__; + var ob = (target).__ob__; if (target._isVue || (ob && ob.vmCount)) { warn( - "Avoid adding reactive properties to a Vue instance or its root $data " + - "at runtime - declare it upfront in the data option." + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' ); - return val; + return val } if (!ob) { target[key] = val; - return val; + return val } defineReactive$$1(ob.value, key, val); ob.dep.notify(); - return val; + return val } /** * Delete a property and trigger change if necessary. */ - function del(target, key) { - if (isUndef(target) || isPrimitive(target)) { - warn( - "Cannot delete reactive property on undefined, null, or primitive value: " + - target - ); + function del (target, key) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); } if (Array.isArray(target) && isValidArrayIndex(key)) { target.splice(key, 1); - return; + return } - var ob = target.__ob__; + var ob = (target).__ob__; if (target._isVue || (ob && ob.vmCount)) { warn( - "Avoid deleting properties on a Vue instance or its root $data " + - "- just set it to null." + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' ); - return; + return } if (!hasOwn(target, key)) { - return; + return } delete target[key]; if (!ob) { - return; + return } ob.dep.notify(); } @@ -1189,8 +1142,8 @@ * Collect dependencies on array elements when the array is touched, since * we cannot intercept array element access like property getters. */ - function dependArray(value) { - for (var e = void 0, i = 0, l = value.length; i < l; i++) { + function dependArray (value) { + for (var e = (void 0), i = 0, l = value.length; i < l; i++) { e = value[i]; e && e.__ob__ && e.__ob__.dep.depend(); if (Array.isArray(e)) { @@ -1215,33 +1168,29 @@ strats.el = strats.propsData = function (parent, child, vm, key) { if (!vm) { warn( - 'option "' + - key + - '" can only be used during instance ' + - "creation with the `new` keyword." + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' ); } - return defaultStrat(parent, child); + return defaultStrat(parent, child) }; } /** * Helper that recursively merges two data objects together. */ - function mergeData(to, from) { - if (!from) { - return to; - } + function mergeData (to, from) { + if (!from) { return to } var key, toVal, fromVal; - var keys = hasSymbol ? Reflect.ownKeys(from) : Object.keys(from); + var keys = hasSymbol + ? Reflect.ownKeys(from) + : Object.keys(from); for (var i = 0; i < keys.length; i++) { key = keys[i]; // in case the object is already observed... - if (key === "__ob__") { - continue; - } + if (key === '__ob__') { continue } toVal = to[key]; fromVal = from[key]; if (!hasOwn(to, key)) { @@ -1254,90 +1203,103 @@ mergeData(toVal, fromVal); } } - return to; + return to } /** * Data */ - function mergeDataOrFn(parentVal, childVal, vm) { + function mergeDataOrFn ( + parentVal, + childVal, + vm + ) { if (!vm) { // in a Vue.extend merge, both should be functions if (!childVal) { - return parentVal; + return parentVal } if (!parentVal) { - return childVal; + return childVal } // when parentVal & childVal are both present, // we need to return a function that returns the // merged result of both functions... no need to // check if parentVal is a function here because // it has to be a function to pass previous merges. - return function mergedDataFn() { + return function mergedDataFn () { return mergeData( - typeof childVal === "function" ? childVal.call(this, this) : childVal, - typeof parentVal === "function" - ? parentVal.call(this, this) - : parentVal - ); - }; + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } } else { - return function mergedInstanceDataFn() { + return function mergedInstanceDataFn () { // instance merge - var instanceData = - typeof childVal === "function" ? childVal.call(vm, vm) : childVal; - var defaultData = - typeof parentVal === "function" ? parentVal.call(vm, vm) : parentVal; + var instanceData = typeof childVal === 'function' + ? childVal.call(vm, vm) + : childVal; + var defaultData = typeof parentVal === 'function' + ? parentVal.call(vm, vm) + : parentVal; if (instanceData) { - return mergeData(instanceData, defaultData); + return mergeData(instanceData, defaultData) } else { - return defaultData; + return defaultData } - }; + } } } - strats.data = function (parentVal, childVal, vm) { + strats.data = function ( + parentVal, + childVal, + vm + ) { if (!vm) { - if (childVal && typeof childVal !== "function") { + if (childVal && typeof childVal !== 'function') { warn( 'The "data" option should be a function ' + - "that returns a per-instance value in component " + - "definitions.", + 'that returns a per-instance value in component ' + + 'definitions.', vm ); - return parentVal; + return parentVal } - return mergeDataOrFn(parentVal, childVal); + return mergeDataOrFn(parentVal, childVal) } - return mergeDataOrFn(parentVal, childVal, vm); + return mergeDataOrFn(parentVal, childVal, vm) }; /** * Hooks and props are merged as arrays. */ - function mergeHook(parentVal, childVal) { + function mergeHook ( + parentVal, + childVal + ) { var res = childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) - ? childVal - : [childVal] + ? childVal + : [childVal] : parentVal; - return res ? dedupeHooks(res) : res; + return res + ? dedupeHooks(res) + : res } - function dedupeHooks(hooks) { + function dedupeHooks (hooks) { var res = []; for (var i = 0; i < hooks.length; i++) { if (res.indexOf(hooks[i]) === -1) { res.push(hooks[i]); } } - return res; + return res } LIFECYCLE_HOOKS.forEach(function (hook) { @@ -1351,18 +1313,23 @@ * a three-way merge between constructor options, instance * options and parent options. */ - function mergeAssets(parentVal, childVal, vm, key) { + function mergeAssets ( + parentVal, + childVal, + vm, + key + ) { var res = Object.create(parentVal || null); if (childVal) { assertObjectType(key, childVal, vm); - return extend(res, childVal); + return extend(res, childVal) } else { - return res; + return res } } ASSET_TYPES.forEach(function (type) { - strats[type + "s"] = mergeAssets; + strats[type + 's'] = mergeAssets; }); /** @@ -1371,24 +1338,21 @@ * Watchers hashes should not overwrite one * another, so we merge them as arrays. */ - strats.watch = function (parentVal, childVal, vm, key) { + strats.watch = function ( + parentVal, + childVal, + vm, + key + ) { // work around Firefox's Object.prototype.watch... - if (parentVal === nativeWatch) { - parentVal = undefined; - } - if (childVal === nativeWatch) { - childVal = undefined; - } + if (parentVal === nativeWatch) { parentVal = undefined; } + if (childVal === nativeWatch) { childVal = undefined; } /* istanbul ignore if */ - if (!childVal) { - return Object.create(parentVal || null); - } + if (!childVal) { return Object.create(parentVal || null) } { assertObjectType(key, childVal, vm); } - if (!parentVal) { - return childVal; - } + if (!parentVal) { return childVal } var ret = {}; extend(ret, parentVal); for (var key$1 in childVal) { @@ -1399,70 +1363,63 @@ } ret[key$1] = parent ? parent.concat(child) - : Array.isArray(child) - ? child - : [child]; + : Array.isArray(child) ? child : [child]; } - return ret; + return ret }; /** * Other object hashes. */ strats.props = - strats.methods = - strats.inject = - strats.computed = - function (parentVal, childVal, vm, key) { - if (childVal && "development" !== "production") { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { - return childVal; - } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { - extend(ret, childVal); - } - return ret; - }; + strats.methods = + strats.inject = + strats.computed = function ( + parentVal, + childVal, + vm, + key + ) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret + }; strats.provide = mergeDataOrFn; /** * Default strategy. */ var defaultStrat = function (parentVal, childVal) { - return childVal === undefined ? parentVal : childVal; + return childVal === undefined + ? parentVal + : childVal }; /** * Validate component names */ - function checkComponents(options) { + function checkComponents (options) { for (var key in options.components) { validateComponentName(key); } } - function validateComponentName(name) { - if ( - !new RegExp("^[a-zA-Z][\\-\\.0-9_" + unicodeRegExp.source + "]*$").test( - name - ) - ) { + function validateComponentName (name) { + if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { warn( - 'Invalid component name: "' + - name + - '". Component names ' + - "should conform to valid custom element name in html5 specification." + 'Invalid component name: "' + name + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' ); } if (isBuiltInTag(name) || config.isReservedTag(name)) { warn( - "Do not use built-in or reserved HTML elements as component " + - "id: " + - name + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + name ); } } @@ -1471,36 +1428,34 @@ * Ensure all props option syntax are normalized into the * Object-based format. */ - function normalizeProps(options, vm) { + function normalizeProps (options, vm) { var props = options.props; - if (!props) { - return; - } + if (!props) { return } var res = {}; var i, val, name; if (Array.isArray(props)) { i = props.length; while (i--) { val = props[i]; - if (typeof val === "string") { + if (typeof val === 'string') { name = camelize(val); res[name] = { type: null }; } else { - warn("props must be strings when using array syntax."); + warn('props must be strings when using array syntax.'); } } } else if (isPlainObject(props)) { for (var key in props) { val = props[key]; name = camelize(key); - res[name] = isPlainObject(val) ? val : { type: val }; + res[name] = isPlainObject(val) + ? val + : { type: val }; } } else { warn( - 'Invalid value for option "props": expected an Array or an Object, ' + - "but got " + - toRawType(props) + - ".", + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", vm ); } @@ -1510,12 +1465,10 @@ /** * Normalize all injections into Object-based format */ - function normalizeInject(options, vm) { + function normalizeInject (options, vm) { var inject = options.inject; - if (!inject) { - return; - } - var normalized = (options.inject = {}); + if (!inject) { return } + var normalized = options.inject = {}; if (Array.isArray(inject)) { for (var i = 0; i < inject.length; i++) { normalized[inject[i]] = { from: inject[i] }; @@ -1529,10 +1482,8 @@ } } else { warn( - 'Invalid value for option "inject": expected an Array or an Object, ' + - "but got " + - toRawType(inject) + - ".", + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", vm ); } @@ -1541,27 +1492,23 @@ /** * Normalize raw function directives into object format. */ - function normalizeDirectives(options) { + function normalizeDirectives (options) { var dirs = options.directives; if (dirs) { for (var key in dirs) { var def$$1 = dirs[key]; - if (typeof def$$1 === "function") { + if (typeof def$$1 === 'function') { dirs[key] = { bind: def$$1, update: def$$1 }; } } } } - function assertObjectType(name, value, vm) { + function assertObjectType (name, value, vm) { if (!isPlainObject(value)) { warn( - 'Invalid value for option "' + - name + - '": expected an Object, ' + - "but got " + - toRawType(value) + - ".", + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", vm ); } @@ -1571,12 +1518,16 @@ * Merge two option objects into a new one. * Core utility used in both instantiation and inheritance. */ - function mergeOptions(parent, child, vm) { + function mergeOptions ( + parent, + child, + vm + ) { { checkComponents(child); } - if (typeof child === "function") { + if (typeof child === 'function') { child = child.options; } @@ -1609,11 +1560,11 @@ mergeField(key); } } - function mergeField(key) { + function mergeField (key) { var strat = strats[key] || defaultStrat; options[key] = strat(parent[key], child[key], vm, key); } - return options; + return options } /** @@ -1621,44 +1572,53 @@ * This function is used because child instances need access * to assets defined in its ancestor chain. */ - function resolveAsset(options, type, id, warnMissing) { + function resolveAsset ( + options, + type, + id, + warnMissing + ) { /* istanbul ignore if */ - if (typeof id !== "string") { - return; + if (typeof id !== 'string') { + return } var assets = options[type]; // check local registration variations first - if (hasOwn(assets, id)) { - return assets[id]; - } + if (hasOwn(assets, id)) { return assets[id] } var camelizedId = camelize(id); - if (hasOwn(assets, camelizedId)) { - return assets[camelizedId]; - } + if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } var PascalCaseId = capitalize(camelizedId); - if (hasOwn(assets, PascalCaseId)) { - return assets[PascalCaseId]; - } + if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } // fallback to prototype chain var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; if (warnMissing && !res) { - warn("Failed to resolve " + type.slice(0, -1) + ": " + id, options); + warn( + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options + ); } - return res; + return res } /* */ - function validateProp(key, propOptions, propsData, vm) { + + + function validateProp ( + key, + propOptions, + propsData, + vm + ) { var prop = propOptions[key]; var absent = !hasOwn(propsData, key); var value = propsData[key]; // boolean casting var booleanIndex = getTypeIndex(Boolean, prop.type); if (booleanIndex > -1) { - if (absent && !hasOwn(prop, "default")) { + if (absent && !hasOwn(prop, 'default')) { value = false; - } else if (value === "" || value === hyphenate(key)) { + } else if (value === '' || value === hyphenate(key)) { // only cast empty string / same name to boolean if // boolean has higher priority var stringIndex = getTypeIndex(String, prop.type); @@ -1680,56 +1640,61 @@ { assertProp(prop, key, value, vm, absent); } - return value; + return value } /** * Get the default value of a prop. */ - function getPropDefaultValue(vm, prop, key) { + function getPropDefaultValue (vm, prop, key) { // no default, return undefined - if (!hasOwn(prop, "default")) { - return undefined; + if (!hasOwn(prop, 'default')) { + return undefined } var def = prop.default; // warn against non-factory defaults for Object & Array if (isObject(def)) { warn( - 'Invalid default value for prop "' + - key + - '": ' + - "Props with type Object/Array must use a factory function " + - "to return the default value.", + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', vm ); } // the raw prop value was also undefined from previous render, // return previous default value to avoid unnecessary watcher trigger - if ( - vm && - vm.$options.propsData && + if (vm && vm.$options.propsData && vm.$options.propsData[key] === undefined && vm._props[key] !== undefined ) { - return vm._props[key]; + return vm._props[key] } // call factory function for non-Function types // a value is Function if its prototype is function even across different execution context - return typeof def === "function" && getType(prop.type) !== "Function" + return typeof def === 'function' && getType(prop.type) !== 'Function' ? def.call(vm) - : def; + : def } /** * Assert whether a prop is valid. */ - function assertProp(prop, name, value, vm, absent) { + function assertProp ( + prop, + name, + value, + vm, + absent + ) { if (prop.required && absent) { - warn('Missing required prop: "' + name + '"', vm); - return; + warn( + 'Missing required prop: "' + name + '"', + vm + ); + return } if (value == null && !prop.required) { - return; + return } var type = prop.type; var valid = !type || type === true; @@ -1740,22 +1705,23 @@ } for (var i = 0; i < type.length && !valid; i++) { var assertedType = assertType(value, type[i]); - expectedTypes.push(assertedType.expectedType || ""); + expectedTypes.push(assertedType.expectedType || ''); valid = assertedType.valid; } } if (!valid) { - warn(getInvalidTypeMessage(name, value, expectedTypes), vm); - return; + warn( + getInvalidTypeMessage(name, value, expectedTypes), + vm + ); + return } var validator = prop.validator; if (validator) { if (!validator(value)) { warn( - 'Invalid prop: custom validator check failed for prop "' + - name + - '".', + 'Invalid prop: custom validator check failed for prop "' + name + '".', vm ); } @@ -1764,27 +1730,27 @@ var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; - function assertType(value, type) { + function assertType (value, type) { var valid; var expectedType = getType(type); if (simpleCheckRE.test(expectedType)) { var t = typeof value; valid = t === expectedType.toLowerCase(); // for primitive wrapper objects - if (!valid && t === "object") { + if (!valid && t === 'object') { valid = value instanceof type; } - } else if (expectedType === "Object") { + } else if (expectedType === 'Object') { valid = isPlainObject(value); - } else if (expectedType === "Array") { + } else if (expectedType === 'Array') { valid = Array.isArray(value); } else { valid = value instanceof type; } return { valid: valid, - expectedType: expectedType, - }; + expectedType: expectedType + } } /** @@ -1792,44 +1758,38 @@ * because a simple equality check will fail when running * across different vms / iframes. */ - function getType(fn) { + function getType (fn) { var match = fn && fn.toString().match(/^\s*function (\w+)/); - return match ? match[1] : ""; + return match ? match[1] : '' } - function isSameType(a, b) { - return getType(a) === getType(b); + function isSameType (a, b) { + return getType(a) === getType(b) } - function getTypeIndex(type, expectedTypes) { + function getTypeIndex (type, expectedTypes) { if (!Array.isArray(expectedTypes)) { - return isSameType(expectedTypes, type) ? 0 : -1; + return isSameType(expectedTypes, type) ? 0 : -1 } for (var i = 0, len = expectedTypes.length; i < len; i++) { if (isSameType(expectedTypes[i], type)) { - return i; + return i } } - return -1; + return -1 } - function getInvalidTypeMessage(name, value, expectedTypes) { - var message = - 'Invalid prop: type check failed for prop "' + - name + - '".' + - " Expected " + - expectedTypes.map(capitalize).join(", "); + function getInvalidTypeMessage (name, value, expectedTypes) { + var message = "Invalid prop: type check failed for prop \"" + name + "\"." + + " Expected " + (expectedTypes.map(capitalize).join(', ')); var expectedType = expectedTypes[0]; var receivedType = toRawType(value); var expectedValue = styleValue(value, expectedType); var receivedValue = styleValue(value, receivedType); // check if we need to specify expected value - if ( - expectedTypes.length === 1 && - isExplicable(expectedType) && - !isBoolean(expectedType, receivedType) - ) { + if (expectedTypes.length === 1 && + isExplicable(expectedType) && + !isBoolean(expectedType, receivedType)) { message += " with value " + expectedValue; } message += ", got " + receivedType + " "; @@ -1837,39 +1797,34 @@ if (isExplicable(receivedType)) { message += "with value " + receivedValue + "."; } - return message; + return message } - function styleValue(value, type) { - if (type === "String") { - return '"' + value + '"'; - } else if (type === "Number") { - return "" + Number(value); + function styleValue (value, type) { + if (type === 'String') { + return ("\"" + value + "\"") + } else if (type === 'Number') { + return ("" + (Number(value))) } else { - return "" + value; + return ("" + value) } } - function isExplicable(value) { - var explicitTypes = ["string", "number", "boolean"]; - return explicitTypes.some(function (elem) { - return value.toLowerCase() === elem; - }); + function isExplicable (value) { + var explicitTypes = ['string', 'number', 'boolean']; + return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) } - function isBoolean() { - var args = [], - len = arguments.length; - while (len--) args[len] = arguments[len]; + function isBoolean () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; - return args.some(function (elem) { - return elem.toLowerCase() === "boolean"; - }); + return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) } /* */ - function handleError(err, vm, info) { + function handleError (err, vm, info) { // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. // See: https://github.com/vuejs/vuex/issues/1505 pushTarget(); @@ -1882,11 +1837,9 @@ for (var i = 0; i < hooks.length; i++) { try { var capture = hooks[i].call(cur, err, vm, info) === false; - if (capture) { - return; - } + if (capture) { return } } catch (e) { - globalHandleError(e, cur, "errorCaptured hook"); + globalHandleError(e, cur, 'errorCaptured hook'); } } } @@ -1898,14 +1851,18 @@ } } - function invokeWithErrorHandling(handler, context, args, vm, info) { + function invokeWithErrorHandling ( + handler, + context, + args, + vm, + info + ) { var res; try { res = args ? handler.apply(context, args) : handler.call(context); if (res && !res._isVue && isPromise(res) && !res._handled) { - res.catch(function (e) { - return handleError(e, vm, info + " (Promise/async)"); - }); + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); // issue #9511 // avoid catch triggering multiple times when nested calls res._handled = true; @@ -1913,33 +1870,33 @@ } catch (e) { handleError(e, vm, info); } - return res; + return res } - function globalHandleError(err, vm, info) { + function globalHandleError (err, vm, info) { if (config.errorHandler) { try { - return config.errorHandler.call(null, err, vm, info); + return config.errorHandler.call(null, err, vm, info) } catch (e) { // if the user intentionally throws the original error in the handler, // do not log it twice if (e !== err) { - logError(e, null, "config.errorHandler"); + logError(e, null, 'config.errorHandler'); } } } logError(err, vm, info); } - function logError(err, vm, info) { + function logError (err, vm, info) { { - warn("Error in " + info + ': "' + err.toString() + '"', vm); + warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); } /* istanbul ignore else */ - if ((inBrowser || inWeex) && typeof console !== "undefined") { + if ((inBrowser || inWeex) && typeof console !== 'undefined') { console.error(err); } else { - throw err; + throw err } } @@ -1950,7 +1907,7 @@ var callbacks = []; var pending = false; - function flushCallbacks() { + function flushCallbacks () { pending = false; var copies = callbacks.slice(0); callbacks.length = 0; @@ -1979,7 +1936,7 @@ // completely stops working after triggering a few times... so, if native // Promise is available, we will use it: /* istanbul ignore next, $flow-disable-line */ - if (typeof Promise !== "undefined" && isNative(Promise)) { + if (typeof Promise !== 'undefined' && isNative(Promise)) { var p = Promise.resolve(); timerFunc = function () { p.then(flushCallbacks); @@ -1988,18 +1945,14 @@ // microtask queue but the queue isn't being flushed, until the browser // needs to do some other work, e.g. handle a timer. Therefore we can // "force" the microtask queue to be flushed by adding an empty timer. - if (isIOS) { - setTimeout(noop); - } + if (isIOS) { setTimeout(noop); } }; isUsingMicroTask = true; - } else if ( - !isIE && - typeof MutationObserver !== "undefined" && - (isNative(MutationObserver) || - // PhantomJS and iOS 7.x - MutationObserver.toString() === "[object MutationObserverConstructor]") - ) { + } else if (!isIE && typeof MutationObserver !== 'undefined' && ( + isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]' + )) { // Use MutationObserver where native Promise is not available, // e.g. PhantomJS, iOS7, Android 4.4 // (#6466 MutationObserver is unreliable in IE11) @@ -2007,14 +1960,14 @@ var observer = new MutationObserver(flushCallbacks); var textNode = document.createTextNode(String(counter)); observer.observe(textNode, { - characterData: true, + characterData: true }); timerFunc = function () { counter = (counter + 1) % 2; textNode.data = String(counter); }; isUsingMicroTask = true; - } else if (typeof setImmediate !== "undefined" && isNative(setImmediate)) { + } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { // Fallback to setImmediate. // Technically it leverages the (macro) task queue, // but it is still a better choice than setTimeout. @@ -2028,14 +1981,14 @@ }; } - function nextTick(cb, ctx) { + function nextTick (cb, ctx) { var _resolve; callbacks.push(function () { if (cb) { try { cb.call(ctx); } catch (e) { - handleError(e, ctx, "nextTick"); + handleError(e, ctx, 'nextTick'); } } else if (_resolve) { _resolve(ctx); @@ -2046,10 +1999,10 @@ timerFunc(); } // $flow-disable-line - if (!cb && typeof Promise !== "undefined") { + if (!cb && typeof Promise !== 'undefined') { return new Promise(function (resolve) { _resolve = resolve; - }); + }) } } @@ -2068,9 +2021,7 @@ perf.clearMarks && perf.clearMeasures ) { - mark = function (tag) { - return perf.mark(tag); - }; + mark = function (tag) { return perf.mark(tag); }; measure = function (name, startTag, endTag) { perf.measure(name, startTag, endTag); perf.clearMarks(startTag); @@ -2086,100 +2037,81 @@ { var allowedGlobals = makeMap( - "Infinity,undefined,NaN,isFinite,isNaN," + - "parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent," + - "Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl," + - "require" // for Webpack/Browserify + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify ); var warnNonPresent = function (target, key) { warn( - 'Property or method "' + - key + - '" is not defined on the instance but ' + - "referenced during render. Make sure that this property is reactive, " + - "either in the data option, or for class-based components, by " + - "initializing the property. " + - "See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.", + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target ); }; var warnReservedPrefix = function (target, key) { warn( - 'Property "' + - key + - '" must be accessed with "$data.' + - key + - '" because ' + - 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + - "prevent conflicts with Vue internals. " + - "See: https://vuejs.org/v2/api/#data", + "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals. ' + + 'See: https://vuejs.org/v2/api/#data', target ); }; - var hasProxy = typeof Proxy !== "undefined" && isNative(Proxy); + var hasProxy = + typeof Proxy !== 'undefined' && isNative(Proxy); if (hasProxy) { - var isBuiltInModifier = makeMap( - "stop,prevent,self,ctrl,shift,alt,meta,exact" - ); + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); config.keyCodes = new Proxy(config.keyCodes, { - set: function set(target, key, value) { + set: function set (target, key, value) { if (isBuiltInModifier(key)) { - warn( - "Avoid overwriting built-in modifier in config.keyCodes: ." + key - ); - return false; + warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); + return false } else { target[key] = value; - return true; + return true } - }, + } }); } var hasHandler = { - has: function has(target, key) { + has: function has (target, key) { var has = key in target; - var isAllowed = - allowedGlobals(key) || - (typeof key === "string" && - key.charAt(0) === "_" && - !(key in target.$data)); + var isAllowed = allowedGlobals(key) || + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); if (!has && !isAllowed) { - if (key in target.$data) { - warnReservedPrefix(target, key); - } else { - warnNonPresent(target, key); - } + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } } - return has || !isAllowed; - }, + return has || !isAllowed + } }; var getHandler = { - get: function get(target, key) { - if (typeof key === "string" && !(key in target)) { - if (key in target.$data) { - warnReservedPrefix(target, key); - } else { - warnNonPresent(target, key); - } + get: function get (target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } } - return target[key]; - }, + return target[key] + } }; - initProxy = function initProxy(vm) { + initProxy = function initProxy (vm) { if (hasProxy) { // determine which proxy handler to use var options = vm.$options; - var handlers = - options.render && options.render._withStripped - ? getHandler - : hasHandler; + var handlers = options.render && options.render._withStripped + ? getHandler + : hasHandler; vm._renderProxy = new Proxy(vm, handlers); } else { vm._renderProxy = vm; @@ -2196,91 +2128,78 @@ * getters, so that every nested property inside the object * is collected as a "deep" dependency. */ - function traverse(val) { + function traverse (val) { _traverse(val, seenObjects); seenObjects.clear(); } - function _traverse(val, seen) { + function _traverse (val, seen) { var i, keys; var isA = Array.isArray(val); - if ( - (!isA && !isObject(val)) || - Object.isFrozen(val) || - val instanceof VNode - ) { - return; + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return } if (val.__ob__) { var depId = val.__ob__.dep.id; if (seen.has(depId)) { - return; + return } seen.add(depId); } if (isA) { i = val.length; - while (i--) { - _traverse(val[i], seen); - } + while (i--) { _traverse(val[i], seen); } } else { keys = Object.keys(val); i = keys.length; - while (i--) { - _traverse(val[keys[i]], seen); - } + while (i--) { _traverse(val[keys[i]], seen); } } } /* */ var normalizeEvent = cached(function (name) { - var passive = name.charAt(0) === "&"; + var passive = name.charAt(0) === '&'; name = passive ? name.slice(1) : name; - var once$$1 = name.charAt(0) === "~"; // Prefixed last, checked first + var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first name = once$$1 ? name.slice(1) : name; - var capture = name.charAt(0) === "!"; + var capture = name.charAt(0) === '!'; name = capture ? name.slice(1) : name; return { name: name, once: once$$1, capture: capture, - passive: passive, - }; + passive: passive + } }); - function createFnInvoker(fns, vm) { - function invoker() { + function createFnInvoker (fns, vm) { + function invoker () { var arguments$1 = arguments; var fns = invoker.fns; if (Array.isArray(fns)) { var cloned = fns.slice(); for (var i = 0; i < cloned.length; i++) { - invokeWithErrorHandling( - cloned[i], - null, - arguments$1, - vm, - "v-on handler" - ); + invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); } } else { // return handler return value for single handlers - return invokeWithErrorHandling( - fns, - null, - arguments, - vm, - "v-on handler" - ); + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") } } invoker.fns = fns; - return invoker; + return invoker } - function updateListeners(on, oldOn, add, remove$$1, createOnceHandler, vm) { + function updateListeners ( + on, + oldOn, + add, + remove$$1, + createOnceHandler, + vm + ) { var name, def$$1, cur, old, event; for (name in on) { def$$1 = cur = on[name]; @@ -2288,7 +2207,7 @@ event = normalizeEvent(name); if (isUndef(cur)) { warn( - 'Invalid handler for event "' + event.name + '": got ' + String(cur), + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), vm ); } else if (isUndef(old)) { @@ -2314,14 +2233,14 @@ /* */ - function mergeVNodeHook(def, hookKey, hook) { + function mergeVNodeHook (def, hookKey, hook) { if (def instanceof VNode) { def = def.data.hook || (def.data.hook = {}); } var invoker; var oldHook = def[hookKey]; - function wrappedHook() { + function wrappedHook () { hook.apply(this, arguments); // important: remove merged hook to ensure it's called only once // and prevent memory leak @@ -2349,13 +2268,17 @@ /* */ - function extractPropsFromVNodeData(data, Ctor, tag) { + function extractPropsFromVNodeData ( + data, + Ctor, + tag + ) { // we are only extracting raw values here. // validation and default values are handled in the child // component itself. var propOptions = Ctor.options.props; if (isUndef(propOptions)) { - return; + return } var res = {}; var attrs = data.attrs; @@ -2367,52 +2290,48 @@ var keyInLowerCase = key.toLowerCase(); if ( key !== keyInLowerCase && - attrs && - hasOwn(attrs, keyInLowerCase) + attrs && hasOwn(attrs, keyInLowerCase) ) { tip( - 'Prop "' + - keyInLowerCase + - '" is passed to component ' + - formatComponentName(tag || Ctor) + - ", but the declared prop name is" + - ' "' + - key + - '". ' + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - 'templates. You should probably use "' + - altKey + - '" instead of "' + - key + - '".' + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." ); } } checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); + checkProp(res, attrs, key, altKey, false); } } - return res; + return res } - function checkProp(res, hash, key, altKey, preserve) { + function checkProp ( + res, + hash, + key, + altKey, + preserve + ) { if (isDef(hash)) { if (hasOwn(hash, key)) { res[key] = hash[key]; if (!preserve) { delete hash[key]; } - return true; + return true } else if (hasOwn(hash, altKey)) { res[key] = hash[altKey]; if (!preserve) { delete hash[altKey]; } - return true; + return true } } - return false; + return false } /* */ @@ -2429,48 +2348,46 @@ // normalization is needed - if any child is an Array, we flatten the whole // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep // because functional components already normalize their own children. - function simpleNormalizeChildren(children) { + function simpleNormalizeChildren (children) { for (var i = 0; i < children.length; i++) { if (Array.isArray(children[i])) { - return Array.prototype.concat.apply([], children); + return Array.prototype.concat.apply([], children) } } - return children; + return children } // 2. When the children contains constructs that always generated nested Arrays, // e.g. <template>, <slot>, v-for, or when the children is provided by user // with hand-written render functions / JSX. In such cases a full normalization // is needed to cater to all possible types of children values. - function normalizeChildren(children) { + function normalizeChildren (children) { return isPrimitive(children) ? [createTextVNode(children)] : Array.isArray(children) - ? normalizeArrayChildren(children) - : undefined; + ? normalizeArrayChildren(children) + : undefined } - function isTextNode(node) { - return isDef(node) && isDef(node.text) && isFalse(node.isComment); + function isTextNode (node) { + return isDef(node) && isDef(node.text) && isFalse(node.isComment) } - function normalizeArrayChildren(children, nestedIndex) { + function normalizeArrayChildren (children, nestedIndex) { var res = []; var i, c, lastIndex, last; for (i = 0; i < children.length; i++) { c = children[i]; - if (isUndef(c) || typeof c === "boolean") { - continue; - } + if (isUndef(c) || typeof c === 'boolean') { continue } lastIndex = res.length - 1; last = res[lastIndex]; // nested if (Array.isArray(c)) { if (c.length > 0) { - c = normalizeArrayChildren(c, (nestedIndex || "") + "_" + i); + c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)); // merge adjacent text nodes if (isTextNode(c[0]) && isTextNode(last)) { - res[lastIndex] = createTextVNode(last.text + c[0].text); + res[lastIndex] = createTextVNode(last.text + (c[0]).text); c.shift(); } res.push.apply(res, c); @@ -2481,7 +2398,7 @@ // this is necessary for SSR hydration because text nodes are // essentially merged when rendered to HTML strings res[lastIndex] = createTextVNode(last.text + c); - } else if (c !== "") { + } else if (c !== '') { // convert primitive to vnode res.push(createTextVNode(c)); } @@ -2491,31 +2408,31 @@ res[lastIndex] = createTextVNode(last.text + c.text); } else { // default key for nested array children (likely generated by v-for) - if ( - isTrue(children._isVList) && + if (isTrue(children._isVList) && isDef(c.tag) && isUndef(c.key) && - isDef(nestedIndex) - ) { + isDef(nestedIndex)) { c.key = "__vlist" + nestedIndex + "_" + i + "__"; } res.push(c); } } } - return res; + return res } /* */ - function initProvide(vm) { + function initProvide (vm) { var provide = vm.$options.provide; if (provide) { - vm._provided = typeof provide === "function" ? provide.call(vm) : provide; + vm._provided = typeof provide === 'function' + ? provide.call(vm) + : provide; } } - function initInjections(vm) { + function initInjections (vm) { var result = resolveInject(vm.$options.inject, vm); if (result) { toggleObserving(false); @@ -2525,10 +2442,8 @@ defineReactive$$1(vm, key, result[key], function () { warn( "Avoid mutating an injected value directly since the changes will be " + - "overwritten whenever the provided component re-renders. " + - 'injection being mutated: "' + - key + - '"', + "overwritten whenever the provided component re-renders. " + + "injection being mutated: \"" + key + "\"", vm ); }); @@ -2538,51 +2453,55 @@ } } - function resolveInject(inject, vm) { + function resolveInject (inject, vm) { if (inject) { // inject is :any because flow is not smart enough to figure out cached var result = Object.create(null); - var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject); + var keys = hasSymbol + ? Reflect.ownKeys(inject) + : Object.keys(inject); for (var i = 0; i < keys.length; i++) { var key = keys[i]; // #6574 in case the inject object is observed... - if (key === "__ob__") { - continue; - } + if (key === '__ob__') { continue } var provideKey = inject[key].from; var source = vm; while (source) { if (source._provided && hasOwn(source._provided, provideKey)) { result[key] = source._provided[provideKey]; - break; + break } source = source.$parent; } if (!source) { - if ("default" in inject[key]) { + if ('default' in inject[key]) { var provideDefault = inject[key].default; - result[key] = - typeof provideDefault === "function" - ? provideDefault.call(vm) - : provideDefault; + result[key] = typeof provideDefault === 'function' + ? provideDefault.call(vm) + : provideDefault; } else { - warn('Injection "' + key + '" not found', vm); + warn(("Injection \"" + key + "\" not found"), vm); } } } - return result; + return result } } /* */ + + /** * Runtime helper for resolving raw children VNodes into a slot object. */ - function resolveSlots(children, context) { + function resolveSlots ( + children, + context + ) { if (!children || !children.length) { - return {}; + return {} } var slots = {}; for (var i = 0, l = children.length; i < l; i++) { @@ -2594,14 +2513,12 @@ } // named slots should only be respected if the vnode was rendered in the // same context. - if ( - (child.context === context || child.fnContext === context) && - data && - data.slot != null + if ((child.context === context || child.fnContext === context) && + data && data.slot != null ) { var name = data.slot; - var slot = slots[name] || (slots[name] = []); - if (child.tag === "template") { + var slot = (slots[name] || (slots[name] = [])); + if (child.tag === 'template') { slot.push.apply(slot, child.children || []); } else { slot.push(child); @@ -2616,16 +2533,20 @@ delete slots[name$1]; } } - return slots; + return slots } - function isWhitespace(node) { - return (node.isComment && !node.asyncFactory) || node.text === " "; + function isWhitespace (node) { + return (node.isComment && !node.asyncFactory) || node.text === ' ' } /* */ - function normalizeScopedSlots(slots, normalSlots, prevSlots) { + function normalizeScopedSlots ( + slots, + normalSlots, + prevSlots + ) { var res; var hasNormalSlots = Object.keys(normalSlots).length > 0; var isStable = slots ? !!slots.$stable : !hasNormalSlots; @@ -2634,7 +2555,7 @@ res = {}; } else if (slots._normalized) { // fast path 1: child component re-render only, parent did not change - return slots._normalized; + return slots._normalized } else if ( isStable && prevSlots && @@ -2645,11 +2566,11 @@ ) { // fast path 2: stable scoped slots w/ no normal slots to proxy, // only need to normalize once - return prevSlots; + return prevSlots } else { res = {}; for (var key$1 in slots) { - if (slots[key$1] && key$1[0] !== "$") { + if (slots[key$1] && key$1[0] !== '$') { res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]); } } @@ -2663,25 +2584,25 @@ // avoriaz seems to mock a non-extensible $scopedSlots object // and when that is passed down this would cause an error if (slots && Object.isExtensible(slots)) { - slots._normalized = res; + (slots)._normalized = res; } - def(res, "$stable", isStable); - def(res, "$key", key); - def(res, "$hasNormal", hasNormalSlots); - return res; + def(res, '$stable', isStable); + def(res, '$key', key); + def(res, '$hasNormal', hasNormalSlots); + return res } function normalizeScopedSlot(normalSlots, key, fn) { var normalized = function () { var res = arguments.length ? fn.apply(null, arguments) : fn({}); - res = - res && typeof res === "object" && !Array.isArray(res) - ? [res] // single vnode - : normalizeChildren(res); - return res && - (res.length === 0 || (res.length === 1 && res[0].isComment)) // #9658 - ? undefined - : res; + res = res && typeof res === 'object' && !Array.isArray(res) + ? [res] // single vnode + : normalizeChildren(res); + return res && ( + res.length === 0 || + (res.length === 1 && res[0].isComment) // #9658 + ) ? undefined + : res }; // this is a slot using the new v-slot syntax without scope. although it is // compiled as a scoped slot, render fn users would expect it to be present @@ -2690,16 +2611,14 @@ Object.defineProperty(normalSlots, key, { get: normalized, enumerable: true, - configurable: true, + configurable: true }); } - return normalized; + return normalized } function proxyNormalSlot(slots, key) { - return function () { - return slots[key]; - }; + return function () { return slots[key]; } } /* */ @@ -2707,14 +2626,17 @@ /** * Runtime helper for rendering v-for lists. */ - function renderList(val, render) { + function renderList ( + val, + render + ) { var ret, i, l, keys, key; - if (Array.isArray(val) || typeof val === "string") { + if (Array.isArray(val) || typeof val === 'string') { ret = new Array(val.length); for (i = 0, l = val.length; i < l; i++) { ret[i] = render(val[i], i); } - } else if (typeof val === "number") { + } else if (typeof val === 'number') { ret = new Array(val); for (i = 0; i < val; i++) { ret[i] = render(i + 1, i); @@ -2740,8 +2662,8 @@ if (!isDef(ret)) { ret = []; } - ret._isVList = true; - return ret; + (ret)._isVList = true; + return ret } /* */ @@ -2749,15 +2671,22 @@ /** * Runtime helper for rendering <slot> */ - function renderSlot(name, fallback, props, bindObject) { + function renderSlot ( + name, + fallback, + props, + bindObject + ) { var scopedSlotFn = this.$scopedSlots[name]; var nodes; - if (scopedSlotFn) { - // scoped slot + if (scopedSlotFn) { // scoped slot props = props || {}; if (bindObject) { if (!isObject(bindObject)) { - warn("slot v-bind without argument expects an Object", this); + warn( + 'slot v-bind without argument expects an Object', + this + ); } props = extend(extend({}, bindObject), props); } @@ -2768,9 +2697,9 @@ var target = props && props.slot; if (target) { - return this.$createElement("template", { slot: target }, nodes); + return this.$createElement('template', { slot: target }, nodes) } else { - return nodes; + return nodes } } @@ -2779,17 +2708,17 @@ /** * Runtime helper for resolving filters */ - function resolveFilter(id) { - return resolveAsset(this.$options, "filters", id, true) || identity; + function resolveFilter (id) { + return resolveAsset(this.$options, 'filters', id, true) || identity } /* */ - function isKeyNotMatch(expect, actual) { + function isKeyNotMatch (expect, actual) { if (Array.isArray(expect)) { - return expect.indexOf(actual) === -1; + return expect.indexOf(actual) === -1 } else { - return expect !== actual; + return expect !== actual } } @@ -2798,7 +2727,7 @@ * exposed as Vue.prototype._k * passing in eventKeyName as last argument separately for backwards compat */ - function checkKeyCodes( + function checkKeyCodes ( eventKeyCode, key, builtInKeyCode, @@ -2807,11 +2736,11 @@ ) { var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { - return isKeyNotMatch(builtInKeyName, eventKeyName); + return isKeyNotMatch(builtInKeyName, eventKeyName) } else if (mappedKeyCode) { - return isKeyNotMatch(mappedKeyCode, eventKeyCode); + return isKeyNotMatch(mappedKeyCode, eventKeyCode) } else if (eventKeyName) { - return hyphenate(eventKeyName) !== key; + return hyphenate(eventKeyName) !== key } } @@ -2820,24 +2749,36 @@ /** * Runtime helper for merging v-bind="object" into a VNode's data. */ - function bindObjectProps(data, tag, value, asProp, isSync) { + function bindObjectProps ( + data, + tag, + value, + asProp, + isSync + ) { if (value) { if (!isObject(value)) { - warn("v-bind without argument expects an Object or Array value", this); + warn( + 'v-bind without argument expects an Object or Array value', + this + ); } else { if (Array.isArray(value)) { value = toObject(value); } var hash; - var loop = function (key) { - if (key === "class" || key === "style" || isReservedAttribute(key)) { + var loop = function ( key ) { + if ( + key === 'class' || + key === 'style' || + isReservedAttribute(key) + ) { hash = data; } else { var type = data.attrs && data.attrs.type; - hash = - asProp || config.mustUseProp(tag, type, key) - ? data.domProps || (data.domProps = {}) - : data.attrs || (data.attrs = {}); + hash = asProp || config.mustUseProp(tag, type, key) + ? data.domProps || (data.domProps = {}) + : data.attrs || (data.attrs = {}); } var camelizedKey = camelize(key); var hyphenatedKey = hyphenate(key); @@ -2846,17 +2787,17 @@ if (isSync) { var on = data.on || (data.on = {}); - on["update:" + key] = function ($event) { + on[("update:" + key)] = function ($event) { value[key] = $event; }; } } }; - for (var key in value) loop(key); + for (var key in value) loop( key ); } } - return data; + return data } /* */ @@ -2864,13 +2805,16 @@ /** * Runtime helper for rendering static trees. */ - function renderStatic(index, isInFor) { + function renderStatic ( + index, + isInFor + ) { var cached = this._staticTrees || (this._staticTrees = []); var tree = cached[index]; // if has already-rendered static tree and not inside v-for, // we can reuse the same tree. if (tree && !isInFor) { - return tree; + return tree } // otherwise, render a fresh tree. tree = cached[index] = this.$options.staticRenderFns[index].call( @@ -2878,24 +2822,32 @@ null, this // for render fns generated for functional component templates ); - markStatic(tree, "__static__" + index, false); - return tree; + markStatic(tree, ("__static__" + index), false); + return tree } /** * Runtime helper for v-once. * Effectively it means marking the node as static with a unique key. */ - function markOnce(tree, index, key) { - markStatic(tree, "__once__" + index + (key ? "_" + key : ""), true); - return tree; + function markOnce ( + tree, + index, + key + ) { + markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true); + return tree } - function markStatic(tree, key, isOnce) { + function markStatic ( + tree, + key, + isOnce + ) { if (Array.isArray(tree)) { for (var i = 0; i < tree.length; i++) { - if (tree[i] && typeof tree[i] !== "string") { - markStaticNode(tree[i], key + "_" + i, isOnce); + if (tree[i] && typeof tree[i] !== 'string') { + markStaticNode(tree[i], (key + "_" + i), isOnce); } } } else { @@ -2903,7 +2855,7 @@ } } - function markStaticNode(node, key, isOnce) { + function markStaticNode (node, key, isOnce) { node.isStatic = true; node.key = key; node.isOnce = isOnce; @@ -2911,12 +2863,15 @@ /* */ - function bindObjectListeners(data, value) { + function bindObjectListeners (data, value) { if (value) { if (!isPlainObject(value)) { - warn("v-on without argument expects an Object value", this); + warn( + 'v-on without argument expects an Object value', + this + ); } else { - var on = (data.on = data.on ? extend({}, data.on) : {}); + var on = data.on = data.on ? extend({}, data.on) : {}; for (var key in value) { var existing = on[key]; var ours = value[key]; @@ -2924,12 +2879,12 @@ } } } - return data; + return data } /* */ - function resolveScopedSlots( + function resolveScopedSlots ( fns, // see flow/vnode res, // the following are added in 2.6 @@ -2950,40 +2905,39 @@ } } if (contentHashKey) { - res.$key = contentHashKey; + (res).$key = contentHashKey; } - return res; + return res } /* */ - function bindDynamicKeys(baseObj, values) { + function bindDynamicKeys (baseObj, values) { for (var i = 0; i < values.length; i += 2) { var key = values[i]; - if (typeof key === "string" && key) { + if (typeof key === 'string' && key) { baseObj[values[i]] = values[i + 1]; - } else if (key !== "" && key !== null) { + } else if (key !== '' && key !== null) { // null is a special value for explicitly removing a binding warn( - "Invalid value for dynamic directive argument (expected string or null): " + - key, + ("Invalid value for dynamic directive argument (expected string or null): " + key), this ); } } - return baseObj; + return baseObj } // helper to dynamically append modifier runtime markers to event names. // ensure only append when value is already string, otherwise it will be cast // to string and cause the type check to miss. - function prependModifier(value, symbol) { - return typeof value === "string" ? symbol + value : value; + function prependModifier (value, symbol) { + return typeof value === 'string' ? symbol + value : value } /* */ - function installRenderHelpers(target) { + function installRenderHelpers (target) { target._o = markOnce; target._n = toNumber; target._s = toString; @@ -3005,14 +2959,20 @@ /* */ - function FunctionalRenderContext(data, props, children, parent, Ctor) { + function FunctionalRenderContext ( + data, + props, + children, + parent, + Ctor + ) { var this$1 = this; var options = Ctor.options; // ensure the createElement function in functional components // gets a unique context - this is necessary for correct named slot check var contextVm; - if (hasOwn(parent, "_uid")) { + if (hasOwn(parent, '_uid')) { contextVm = Object.create(parent); // $flow-disable-line contextVm._original = parent; @@ -3037,18 +2997,18 @@ if (!this$1.$slots) { normalizeScopedSlots( data.scopedSlots, - (this$1.$slots = resolveSlots(children, parent)) + this$1.$slots = resolveSlots(children, parent) ); } - return this$1.$slots; + return this$1.$slots }; - Object.defineProperty(this, "scopedSlots", { + Object.defineProperty(this, 'scopedSlots', ({ enumerable: true, - get: function get() { - return normalizeScopedSlots(data.scopedSlots, this.slots()); - }, - }); + get: function get () { + return normalizeScopedSlots(data.scopedSlots, this.slots()) + } + })); // support for compiled functional template if (isCompiled) { @@ -3066,18 +3026,16 @@ vnode.fnScopeId = options._scopeId; vnode.fnContext = parent; } - return vnode; + return vnode }; } else { - this._c = function (a, b, c, d) { - return createElement(contextVm, a, b, c, d, needNormalization); - }; + this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); }; } } installRenderHelpers(FunctionalRenderContext.prototype); - function createFunctionalComponent( + function createFunctionalComponent ( Ctor, propsData, data, @@ -3092,12 +3050,8 @@ props[key] = validateProp(key, propOptions, propsData || emptyObject); } } else { - if (isDef(data.attrs)) { - mergeProps(props, data.attrs); - } - if (isDef(data.props)) { - mergeProps(props, data.props); - } + if (isDef(data.attrs)) { mergeProps(props, data.attrs); } + if (isDef(data.props)) { mergeProps(props, data.props); } } var renderContext = new FunctionalRenderContext( @@ -3111,36 +3065,18 @@ var vnode = options.render.call(null, renderContext._c, renderContext); if (vnode instanceof VNode) { - return cloneAndMarkFunctionalResult( - vnode, - data, - renderContext.parent, - options, - renderContext - ); + return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext) } else if (Array.isArray(vnode)) { var vnodes = normalizeChildren(vnode) || []; var res = new Array(vnodes.length); for (var i = 0; i < vnodes.length; i++) { - res[i] = cloneAndMarkFunctionalResult( - vnodes[i], - data, - renderContext.parent, - options, - renderContext - ); + res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); } - return res; + return res } } - function cloneAndMarkFunctionalResult( - vnode, - data, - contextVm, - options, - renderContext - ) { + function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) { // #7817 clone node before setting fnContext, otherwise if the node is reused // (e.g. it was from a cached normal slot) the fnContext causes named slots // that should not be matched to match. @@ -3148,16 +3084,15 @@ clone.fnContext = contextVm; clone.fnOptions = options; { - (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = - renderContext; + (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext; } if (data.slot) { (clone.data || (clone.data = {})).slot = data.slot; } - return clone; + return clone } - function mergeProps(to, from) { + function mergeProps (to, from) { for (var key in from) { to[camelize(key)] = from[key]; } @@ -3173,7 +3108,7 @@ // inline hooks to be invoked on component VNodes during patch var componentVNodeHooks = { - init: function init(vnode, hydrating) { + init: function init (vnode, hydrating) { if ( vnode.componentInstance && !vnode.componentInstance._isDestroyed && @@ -3183,17 +3118,17 @@ var mountedNode = vnode; // work around flow componentVNodeHooks.prepatch(mountedNode, mountedNode); } else { - var child = (vnode.componentInstance = createComponentInstanceForVnode( + var child = vnode.componentInstance = createComponentInstanceForVnode( vnode, activeInstance - )); + ); child.$mount(hydrating ? vnode.elm : undefined, hydrating); } }, - prepatch: function prepatch(oldVnode, vnode) { + prepatch: function prepatch (oldVnode, vnode) { var options = vnode.componentOptions; - var child = (vnode.componentInstance = oldVnode.componentInstance); + var child = vnode.componentInstance = oldVnode.componentInstance; updateChildComponent( child, options.propsData, // updated props @@ -3203,12 +3138,12 @@ ); }, - insert: function insert(vnode) { + insert: function insert (vnode) { var context = vnode.context; var componentInstance = vnode.componentInstance; if (!componentInstance._isMounted) { componentInstance._isMounted = true; - callHook(componentInstance, "mounted"); + callHook(componentInstance, 'mounted'); } if (vnode.data.keepAlive) { if (context._isMounted) { @@ -3224,7 +3159,7 @@ } }, - destroy: function destroy(vnode) { + destroy: function destroy (vnode) { var componentInstance = vnode.componentInstance; if (!componentInstance._isDestroyed) { if (!vnode.data.keepAlive) { @@ -3233,14 +3168,20 @@ deactivateChildComponent(componentInstance, true /* direct */); } } - }, + } }; var hooksToMerge = Object.keys(componentVNodeHooks); - function createComponent(Ctor, data, context, children, tag) { + function createComponent ( + Ctor, + data, + context, + children, + tag + ) { if (isUndef(Ctor)) { - return; + return } var baseCtor = context.$options._base; @@ -3252,11 +3193,11 @@ // if at this stage it's not a constructor or an async component factory, // reject. - if (typeof Ctor !== "function") { + if (typeof Ctor !== 'function') { { - warn("Invalid Component definition: " + String(Ctor), context); + warn(("Invalid Component definition: " + (String(Ctor))), context); } - return; + return } // async component @@ -3274,7 +3215,7 @@ context, children, tag - ); + ) } } @@ -3294,13 +3235,7 @@ // functional component if (isTrue(Ctor.options.functional)) { - return createFunctionalComponent( - Ctor, - propsData, - data, - context, - children - ); + return createFunctionalComponent(Ctor, propsData, data, context, children) } // extract listeners, since these needs to be treated as @@ -3328,33 +3263,23 @@ // return a placeholder vnode var name = Ctor.options.name || tag; var vnode = new VNode( - "vue-component-" + Ctor.cid + (name ? "-" + name : ""), - data, - undefined, - undefined, - undefined, - context, - { - Ctor: Ctor, - propsData: propsData, - listeners: listeners, - tag: tag, - children: children, - }, + ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), + data, undefined, undefined, undefined, context, + { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory ); - return vnode; + return vnode } - function createComponentInstanceForVnode( + function createComponentInstanceForVnode ( vnode, // we know it's MountedComponentVNode but flow doesn't parent // activeInstance in lifecycle state ) { var options = { _isComponent: true, _parentVnode: vnode, - parent: parent, + parent: parent }; // check inline-template render functions var inlineTemplate = vnode.data.inlineTemplate; @@ -3362,10 +3287,10 @@ options.render = inlineTemplate.render; options.staticRenderFns = inlineTemplate.staticRenderFns; } - return new vnode.componentOptions.Ctor(options); + return new vnode.componentOptions.Ctor(options) } - function installComponentHooks(data) { + function installComponentHooks (data) { var hooks = data.hook || (data.hook = {}); for (var i = 0; i < hooksToMerge.length; i++) { var key = hooksToMerge[i]; @@ -3377,22 +3302,22 @@ } } - function mergeHook$1(f1, f2) { + function mergeHook$1 (f1, f2) { var merged = function (a, b) { // flow complains about extra args which is why we use any f1(a, b); f2(a, b); }; merged._merged = true; - return merged; + return merged } // transform component v-model info (value and callback) into // prop and event handler respectively. - function transformModel(options, data) { - var prop = (options.model && options.model.prop) || "value"; - var event = (options.model && options.model.event) || "input"; - (data.attrs || (data.attrs = {}))[prop] = data.model.value; + function transformModel (options, data) { + var prop = (options.model && options.model.prop) || 'value'; + var event = (options.model && options.model.event) || 'input' + ;(data.attrs || (data.attrs = {}))[prop] = data.model.value; var on = data.on || (data.on = {}); var existing = on[event]; var callback = data.model.callback; @@ -3416,7 +3341,7 @@ // wrapper function for providing a more flexible interface // without getting yelled at by flow - function createElement( + function createElement ( context, tag, data, @@ -3432,19 +3357,23 @@ if (isTrue(alwaysNormalize)) { normalizationType = ALWAYS_NORMALIZE; } - return _createElement(context, tag, data, children, normalizationType); + return _createElement(context, tag, data, children, normalizationType) } - function _createElement(context, tag, data, children, normalizationType) { - if (isDef(data) && isDef(data.__ob__)) { + function _createElement ( + context, + tag, + data, + children, + normalizationType + ) { + if (isDef(data) && isDef((data).__ob__)) { warn( - "Avoid using observed data object as vnode data: " + - JSON.stringify(data) + - "\n" + - "Always create fresh vnode data objects in each render!", + "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + + 'Always create fresh vnode data objects in each render!', context ); - return createEmptyVNode(); + return createEmptyVNode() } // object syntax in v-bind if (isDef(data) && isDef(data.is)) { @@ -3452,20 +3381,23 @@ } if (!tag) { // in case of component :is set to falsy value - return createEmptyVNode(); + return createEmptyVNode() } // warn against non-primitive key - if (isDef(data) && isDef(data.key) && !isPrimitive(data.key)) { + if (isDef(data) && isDef(data.key) && !isPrimitive(data.key) + ) { { warn( - "Avoid using non-primitive value as key, " + - "use string/number value instead.", + 'Avoid using non-primitive value as key, ' + + 'use string/number value instead.', context ); } } // support single function children as default scoped slot - if (Array.isArray(children) && typeof children[0] === "function") { + if (Array.isArray(children) && + typeof children[0] === 'function' + ) { data = data || {}; data.scopedSlots = { default: children[0] }; children.length = 0; @@ -3476,61 +3408,51 @@ children = simpleNormalizeChildren(children); } var vnode, ns; - if (typeof tag === "string") { + if (typeof tag === 'string') { var Ctor; ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); if (config.isReservedTag(tag)) { // platform built-in elements if (isDef(data) && isDef(data.nativeOn)) { warn( - "The .native modifier for v-on is only valid on components but it was used on <" + - tag + - ">.", + ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."), context ); } vnode = new VNode( - config.parsePlatformTagName(tag), - data, - children, - undefined, - undefined, - context + config.parsePlatformTagName(tag), data, children, + undefined, undefined, context ); - } else if ( - (!data || !data.pre) && - isDef((Ctor = resolveAsset(context.$options, "components", tag))) - ) { + } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) { // component vnode = createComponent(Ctor, data, context, children, tag); } else { // unknown or unlisted namespaced elements // check at runtime because it may get assigned a namespace when its // parent normalizes children - vnode = new VNode(tag, data, children, undefined, undefined, context); + vnode = new VNode( + tag, data, children, + undefined, undefined, context + ); } } else { // direct component options / constructor vnode = createComponent(tag, data, context, children); } if (Array.isArray(vnode)) { - return vnode; + return vnode } else if (isDef(vnode)) { - if (isDef(ns)) { - applyNS(vnode, ns); - } - if (isDef(data)) { - registerDeepBindings(data); - } - return vnode; + if (isDef(ns)) { applyNS(vnode, ns); } + if (isDef(data)) { registerDeepBindings(data); } + return vnode } else { - return createEmptyVNode(); + return createEmptyVNode() } } - function applyNS(vnode, ns, force) { + function applyNS (vnode, ns, force) { vnode.ns = ns; - if (vnode.tag === "foreignObject") { + if (vnode.tag === 'foreignObject') { // use default namespace inside foreignObject ns = undefined; force = true; @@ -3538,10 +3460,8 @@ if (isDef(vnode.children)) { for (var i = 0, l = vnode.children.length; i < l; i++) { var child = vnode.children[i]; - if ( - isDef(child.tag) && - (isUndef(child.ns) || (isTrue(force) && child.tag !== "svg")) - ) { + if (isDef(child.tag) && ( + isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { applyNS(child, ns, force); } } @@ -3551,7 +3471,7 @@ // ref #5318 // necessary to ensure parent re-render when deep bindings like :style and // :class are used on slot nodes - function registerDeepBindings(data) { + function registerDeepBindings (data) { if (isObject(data.style)) { traverse(data.style); } @@ -3562,11 +3482,11 @@ /* */ - function initRender(vm) { + function initRender (vm) { vm._vnode = null; // the root of the child tree vm._staticTrees = null; // v-once cached trees var options = vm.$options; - var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree + var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree var renderContext = parentVnode && parentVnode.context; vm.$slots = resolveSlots(options._renderChildren, renderContext); vm.$scopedSlots = emptyObject; @@ -3574,14 +3494,10 @@ // so that we get proper render context inside it. // args order: tag, data, children, normalizationType, alwaysNormalize // internal version is used by render functions compiled from templates - vm._c = function (a, b, c, d) { - return createElement(vm, a, b, c, d, false); - }; + vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); }; // normalization is always applied for the public version, used in // user-written render functions. - vm.$createElement = function (a, b, c, d) { - return createElement(vm, a, b, c, d, true); - }; + vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }; // $attrs & $listeners are exposed for easier HOC creation. // they need to be reactive so that HOCs using them are always updated @@ -3589,35 +3505,23 @@ /* istanbul ignore else */ { - defineReactive$$1( - vm, - "$attrs", - (parentData && parentData.attrs) || emptyObject, - function () { - !isUpdatingChildComponent && warn("$attrs is readonly.", vm); - }, - true - ); - defineReactive$$1( - vm, - "$listeners", - options._parentListeners || emptyObject, - function () { - !isUpdatingChildComponent && warn("$listeners is readonly.", vm); - }, - true - ); + defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () { + !isUpdatingChildComponent && warn("$attrs is readonly.", vm); + }, true); + defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () { + !isUpdatingChildComponent && warn("$listeners is readonly.", vm); + }, true); } } var currentRenderingInstance = null; - function renderMixin(Vue) { + function renderMixin (Vue) { // install runtime convenience helpers installRenderHelpers(Vue.prototype); Vue.prototype.$nextTick = function (fn) { - return nextTick(fn, this); + return nextTick(fn, this) }; Vue.prototype._render = function () { @@ -3652,11 +3556,7 @@ /* istanbul ignore else */ if (vm.$options.renderError) { try { - vnode = vm.$options.renderError.call( - vm._renderProxy, - vm.$createElement, - e - ); + vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); } catch (e) { handleError(e, vm, "renderError"); vnode = vm._vnode; @@ -3675,8 +3575,8 @@ if (!(vnode instanceof VNode)) { if (Array.isArray(vnode)) { warn( - "Multiple root nodes returned from render function. Render function " + - "should return a single root node.", + 'Multiple root nodes returned from render function. Render function ' + + 'should return a single root node.', vm ); } @@ -3684,70 +3584,70 @@ } // set parent vnode.parent = _parentVnode; - return vnode; + return vnode }; } /* */ - function ensureCtor(comp, base) { + function ensureCtor (comp, base) { if ( comp.__esModule || - (hasSymbol && comp[Symbol.toStringTag] === "Module") + (hasSymbol && comp[Symbol.toStringTag] === 'Module') ) { comp = comp.default; } - return isObject(comp) ? base.extend(comp) : comp; + return isObject(comp) + ? base.extend(comp) + : comp } - function createAsyncPlaceholder(factory, data, context, children, tag) { + function createAsyncPlaceholder ( + factory, + data, + context, + children, + tag + ) { var node = createEmptyVNode(); node.asyncFactory = factory; - node.asyncMeta = { - data: data, - context: context, - children: children, - tag: tag, - }; - return node; + node.asyncMeta = { data: data, context: context, children: children, tag: tag }; + return node } - function resolveAsyncComponent(factory, baseCtor) { + function resolveAsyncComponent ( + factory, + baseCtor + ) { if (isTrue(factory.error) && isDef(factory.errorComp)) { - return factory.errorComp; + return factory.errorComp } if (isDef(factory.resolved)) { - return factory.resolved; + return factory.resolved } var owner = currentRenderingInstance; - if ( - owner && - isDef(factory.owners) && - factory.owners.indexOf(owner) === -1 - ) { + if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { // already pending factory.owners.push(owner); } if (isTrue(factory.loading) && isDef(factory.loadingComp)) { - return factory.loadingComp; + return factory.loadingComp } if (owner && !isDef(factory.owners)) { - var owners = (factory.owners = [owner]); + var owners = factory.owners = [owner]; var sync = true; var timerLoading = null; - var timerTimeout = null; + var timerTimeout = null - owner.$on("hook:destroyed", function () { - return remove(owners, owner); - }); + ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); }); var forceRender = function (renderCompleted) { for (var i = 0, l = owners.length; i < l; i++) { - owners[i].$forceUpdate(); + (owners[i]).$forceUpdate(); } if (renderCompleted) { @@ -3777,9 +3677,8 @@ var reject = once(function (reason) { warn( - "Failed to resolve async component: " + - String(factory) + - (reason ? "\nReason: " + reason : "") + "Failed to resolve async component: " + (String(factory)) + + (reason ? ("\nReason: " + reason) : '') ); if (isDef(factory.errorComp)) { factory.error = true; @@ -3821,7 +3720,9 @@ timerTimeout = setTimeout(function () { timerTimeout = null; if (isUndef(factory.resolved)) { - reject("timeout (" + res.timeout + "ms)"); + reject( + "timeout (" + (res.timeout) + "ms)" + ); } }, res.timeout); } @@ -3830,24 +3731,26 @@ sync = false; // return in case resolved synchronously - return factory.loading ? factory.loadingComp : factory.resolved; + return factory.loading + ? factory.loadingComp + : factory.resolved } } /* */ - function isAsyncPlaceholder(node) { - return node.isComment && node.asyncFactory; + function isAsyncPlaceholder (node) { + return node.isComment && node.asyncFactory } /* */ - function getFirstComponentChild(children) { + function getFirstComponentChild (children) { if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { var c = children[i]; if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { - return c; + return c } } } @@ -3857,7 +3760,7 @@ /* */ - function initEvents(vm) { + function initEvents (vm) { vm._events = Object.create(null); vm._hasHookEvent = false; // init parent attached events @@ -3869,38 +3772,35 @@ var target; - function add(event, fn) { + function add (event, fn) { target.$on(event, fn); } - function remove$1(event, fn) { + function remove$1 (event, fn) { target.$off(event, fn); } - function createOnceHandler(event, fn) { + function createOnceHandler (event, fn) { var _target = target; - return function onceHandler() { + return function onceHandler () { var res = fn.apply(null, arguments); if (res !== null) { _target.$off(event, onceHandler); } - }; + } } - function updateComponentListeners(vm, listeners, oldListeners) { + function updateComponentListeners ( + vm, + listeners, + oldListeners + ) { target = vm; - updateListeners( - listeners, - oldListeners || {}, - add, - remove$1, - createOnceHandler, - vm - ); + updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm); target = undefined; } - function eventsMixin(Vue) { + function eventsMixin (Vue) { var hookRE = /^hook:/; Vue.prototype.$on = function (event, fn) { var vm = this; @@ -3916,18 +3816,18 @@ vm._hasHookEvent = true; } } - return vm; + return vm }; Vue.prototype.$once = function (event, fn) { var vm = this; - function on() { + function on () { vm.$off(event, on); fn.apply(vm, arguments); } on.fn = fn; vm.$on(event, on); - return vm; + return vm }; Vue.prototype.$off = function (event, fn) { @@ -3935,23 +3835,23 @@ // all if (!arguments.length) { vm._events = Object.create(null); - return vm; + return vm } // array of events if (Array.isArray(event)) { for (var i$1 = 0, l = event.length; i$1 < l; i$1++) { vm.$off(event[i$1], fn); } - return vm; + return vm } // specific event var cbs = vm._events[event]; if (!cbs) { - return vm; + return vm } if (!fn) { vm._events[event] = null; - return vm; + return vm } // specific handler var cb; @@ -3960,10 +3860,10 @@ cb = cbs[i]; if (cb === fn || cb.fn === fn) { cbs.splice(i, 1); - break; + break } } - return vm; + return vm }; Vue.prototype.$emit = function (event) { @@ -3972,20 +3872,11 @@ var lowerCaseEvent = event.toLowerCase(); if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { tip( - 'Event "' + - lowerCaseEvent + - '" is emitted in component ' + - formatComponentName(vm) + - ' but the handler is registered for "' + - event + - '". ' + - "Note that HTML attributes are case-insensitive and you cannot use " + - "v-on to listen to camelCase events when using in-DOM templates. " + - 'You should probably use "' + - hyphenate(event) + - '" instead of "' + - event + - '".' + "Event \"" + lowerCaseEvent + "\" is emitted in component " + + (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + + "Note that HTML attributes are case-insensitive and you cannot use " + + "v-on to listen to camelCase events when using in-DOM templates. " + + "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." ); } } @@ -3993,12 +3884,12 @@ if (cbs) { cbs = cbs.length > 1 ? toArray(cbs) : cbs; var args = toArray(arguments, 1); - var info = 'event handler for "' + event + '"'; + var info = "event handler for \"" + event + "\""; for (var i = 0, l = cbs.length; i < l; i++) { invokeWithErrorHandling(cbs[i], vm, args, vm, info); } } - return vm; + return vm }; } @@ -4012,10 +3903,10 @@ activeInstance = vm; return function () { activeInstance = prevActiveInstance; - }; + } } - function initLifecycle(vm) { + function initLifecycle (vm) { var options = vm.$options; // locate first non-abstract parent @@ -4041,7 +3932,7 @@ vm._isBeingDestroyed = false; } - function lifecycleMixin(Vue) { + function lifecycleMixin (Vue) { Vue.prototype._update = function (vnode, hydrating) { var vm = this; var prevEl = vm.$el; @@ -4083,9 +3974,9 @@ Vue.prototype.$destroy = function () { var vm = this; if (vm._isBeingDestroyed) { - return; + return } - callHook(vm, "beforeDestroy"); + callHook(vm, 'beforeDestroy'); vm._isBeingDestroyed = true; // remove self from parent var parent = vm.$parent; @@ -4110,7 +4001,7 @@ // invoke destroy hooks on current rendered tree vm.__patch__(vm._vnode, null); // fire destroyed hook - callHook(vm, "destroyed"); + callHook(vm, 'destroyed'); // turn off all instance listeners. vm.$off(); // remove __vue__ reference @@ -4124,32 +4015,33 @@ }; } - function mountComponent(vm, el, hydrating) { + function mountComponent ( + vm, + el, + hydrating + ) { vm.$el = el; if (!vm.$options.render) { vm.$options.render = createEmptyVNode; { /* istanbul ignore if */ - if ( - (vm.$options.template && vm.$options.template.charAt(0) !== "#") || - vm.$options.el || - el - ) { + if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || + vm.$options.el || el) { warn( - "You are using the runtime-only build of Vue where the template " + - "compiler is not available. Either pre-compile the templates into " + - "render functions, or use the compiler-included build.", + 'You are using the runtime-only build of Vue where the template ' + + 'compiler is not available. Either pre-compile the templates into ' + + 'render functions, or use the compiler-included build.', vm ); } else { warn( - "Failed to mount component: template or render function not defined.", + 'Failed to mount component: template or render function not defined.', vm ); } } } - callHook(vm, "beforeMount"); + callHook(vm, 'beforeMount'); var updateComponent; /* istanbul ignore if */ @@ -4163,12 +4055,12 @@ mark(startTag); var vnode = vm._render(); mark(endTag); - measure("vue " + name + " render", startTag, endTag); + measure(("vue " + name + " render"), startTag, endTag); mark(startTag); vm._update(vnode, hydrating); mark(endTag); - measure("vue " + name + " patch", startTag, endTag); + measure(("vue " + name + " patch"), startTag, endTag); }; } else { updateComponent = function () { @@ -4179,31 +4071,25 @@ // we set this to vm._watcher inside the watcher's constructor // since the watcher's initial patch may call $forceUpdate (e.g. inside child // component's mounted hook), which relies on vm._watcher being already defined - new Watcher( - vm, - updateComponent, - noop, - { - before: function before() { - if (vm._isMounted && !vm._isDestroyed) { - callHook(vm, "beforeUpdate"); - } - }, - }, - true /* isRenderWatcher */ - ); + new Watcher(vm, updateComponent, noop, { + before: function before () { + if (vm._isMounted && !vm._isDestroyed) { + callHook(vm, 'beforeUpdate'); + } + } + }, true /* isRenderWatcher */); hydrating = false; // manually mounted instance, call mounted on self // mounted is called for render-created child components in its inserted hook if (vm.$vnode == null) { vm._isMounted = true; - callHook(vm, "mounted"); + callHook(vm, 'mounted'); } - return vm; + return vm } - function updateChildComponent( + function updateChildComponent ( vm, propsData, listeners, @@ -4232,16 +4118,15 @@ // update. Dynamic scoped slots may also have changed. In such cases, a forced // update is necessary to ensure correctness. var needsForceUpdate = !!( - renderChildren || // has new static slots - vm.$options._renderChildren || // has old static slots + renderChildren || // has new static slots + vm.$options._renderChildren || // has old static slots hasDynamicScopedSlot ); vm.$options._parentVnode = parentVnode; vm.$vnode = parentVnode; // update vm's placeholder node without re-render - if (vm._vnode) { - // update child tree's parent + if (vm._vnode) { // update child tree's parent vm._vnode.parent = parentVnode; } vm.$options._renderChildren = renderChildren; @@ -4284,38 +4169,36 @@ } } - function isInInactiveTree(vm) { + function isInInactiveTree (vm) { while (vm && (vm = vm.$parent)) { - if (vm._inactive) { - return true; - } + if (vm._inactive) { return true } } - return false; + return false } - function activateChildComponent(vm, direct) { + function activateChildComponent (vm, direct) { if (direct) { vm._directInactive = false; if (isInInactiveTree(vm)) { - return; + return } } else if (vm._directInactive) { - return; + return } if (vm._inactive || vm._inactive === null) { vm._inactive = false; for (var i = 0; i < vm.$children.length; i++) { activateChildComponent(vm.$children[i]); } - callHook(vm, "activated"); + callHook(vm, 'activated'); } } - function deactivateChildComponent(vm, direct) { + function deactivateChildComponent (vm, direct) { if (direct) { vm._directInactive = true; if (isInInactiveTree(vm)) { - return; + return } } if (!vm._inactive) { @@ -4323,11 +4206,11 @@ for (var i = 0; i < vm.$children.length; i++) { deactivateChildComponent(vm.$children[i]); } - callHook(vm, "deactivated"); + callHook(vm, 'deactivated'); } } - function callHook(vm, hook) { + function callHook (vm, hook) { // #7573 disable dep collection when invoking lifecycle hooks pushTarget(); var handlers = vm.$options[hook]; @@ -4338,7 +4221,7 @@ } } if (vm._hasHookEvent) { - vm.$emit("hook:" + hook); + vm.$emit('hook:' + hook); } popTarget(); } @@ -4358,7 +4241,7 @@ /** * Reset the scheduler's state. */ - function resetSchedulerState() { + function resetSchedulerState () { index = queue.length = activatedChildren.length = 0; has = {}; { @@ -4387,23 +4270,21 @@ var performance = window.performance; if ( performance && - typeof performance.now === "function" && - getNow() > document.createEvent("Event").timeStamp + typeof performance.now === 'function' && + getNow() > document.createEvent('Event').timeStamp ) { // if the event timestamp, although evaluated AFTER the Date.now(), is // smaller than it, it means the event is using a hi-res timestamp, // and we need to use the hi-res version for event listener timestamps as // well. - getNow = function () { - return performance.now(); - }; + getNow = function () { return performance.now(); }; } } /** * Flush both queues and run the watchers. */ - function flushSchedulerQueue() { + function flushSchedulerQueue () { currentFlushTimestamp = getNow(); flushing = true; var watcher, id; @@ -4416,9 +4297,7 @@ // user watchers are created before the render watcher) // 3. If a component is destroyed during a parent component's watcher run, // its watchers can be skipped. - queue.sort(function (a, b) { - return a.id - b.id; - }); + queue.sort(function (a, b) { return a.id - b.id; }); // do not cache length because more watchers might be pushed // as we run existing watchers @@ -4435,13 +4314,14 @@ circular[id] = (circular[id] || 0) + 1; if (circular[id] > MAX_UPDATE_COUNT) { warn( - "You may have an infinite update loop " + - (watcher.user - ? 'in watcher with expression "' + watcher.expression + '"' - : "in a component render function."), + 'You may have an infinite update loop ' + ( + watcher.user + ? ("in watcher with expression \"" + (watcher.expression) + "\"") + : "in a component render function." + ), watcher.vm ); - break; + break } } } @@ -4459,17 +4339,17 @@ // devtool hook /* istanbul ignore if */ if (devtools && config.devtools) { - devtools.emit("flush"); + devtools.emit('flush'); } } - function callUpdatedHooks(queue) { + function callUpdatedHooks (queue) { var i = queue.length; while (i--) { var watcher = queue[i]; var vm = watcher.vm; if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { - callHook(vm, "updated"); + callHook(vm, 'updated'); } } } @@ -4478,14 +4358,14 @@ * Queue a kept-alive component that was activated during patch. * The queue will be processed after the entire tree has been patched. */ - function queueActivatedComponent(vm) { + function queueActivatedComponent (vm) { // setting _inactive to false here so that a render function can // rely on checking whether it's in an inactive tree (e.g. router-view) vm._inactive = false; activatedChildren.push(vm); } - function callActivatedHooks(queue) { + function callActivatedHooks (queue) { for (var i = 0; i < queue.length; i++) { queue[i]._inactive = true; activateChildComponent(queue[i], true /* true */); @@ -4497,7 +4377,7 @@ * Jobs with duplicate IDs will be skipped unless it's * pushed when the queue is being flushed. */ - function queueWatcher(watcher) { + function queueWatcher (watcher) { var id = watcher.id; if (has[id] == null) { has[id] = true; @@ -4518,7 +4398,7 @@ if (!config.async) { flushSchedulerQueue(); - return; + return } nextTick(flushSchedulerQueue); } @@ -4527,6 +4407,8 @@ /* */ + + var uid$2 = 0; /** @@ -4534,7 +4416,13 @@ * and fires callback when the expression value changes. * This is used for both the $watch() api and directives. */ - var Watcher = function Watcher(vm, expOrFn, cb, options, isRenderWatcher) { + var Watcher = function Watcher ( + vm, + expOrFn, + cb, + options, + isRenderWatcher + ) { this.vm = vm; if (isRenderWatcher) { vm._watcher = this; @@ -4560,29 +4448,29 @@ this.newDepIds = new _Set(); this.expression = expOrFn.toString(); // parse expression for getter - if (typeof expOrFn === "function") { + if (typeof expOrFn === 'function') { this.getter = expOrFn; } else { this.getter = parsePath(expOrFn); if (!this.getter) { this.getter = noop; warn( - 'Failed watching path: "' + - expOrFn + - '" ' + - "Watcher only accepts simple dot-delimited paths. " + - "For full control, use a function instead.", + "Failed watching path: \"" + expOrFn + "\" " + + 'Watcher only accepts simple dot-delimited paths. ' + + 'For full control, use a function instead.', vm ); } } - this.value = this.lazy ? undefined : this.get(); + this.value = this.lazy + ? undefined + : this.get(); }; /** * Evaluate the getter, and re-collect dependencies. */ - Watcher.prototype.get = function get() { + Watcher.prototype.get = function get () { pushTarget(this); var value; var vm = this.vm; @@ -4590,9 +4478,9 @@ value = this.getter.call(vm, vm); } catch (e) { if (this.user) { - handleError(e, vm, 'getter for watcher "' + this.expression + '"'); + handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\"")); } else { - throw e; + throw e } } finally { // "touch" every property so they are all tracked as @@ -4603,13 +4491,13 @@ popTarget(); this.cleanupDeps(); } - return value; + return value }; /** * Add a dependency to this directive. */ - Watcher.prototype.addDep = function addDep(dep) { + Watcher.prototype.addDep = function addDep (dep) { var id = dep.id; if (!this.newDepIds.has(id)) { this.newDepIds.add(id); @@ -4623,7 +4511,7 @@ /** * Clean up for dependency collection. */ - Watcher.prototype.cleanupDeps = function cleanupDeps() { + Watcher.prototype.cleanupDeps = function cleanupDeps () { var i = this.deps.length; while (i--) { var dep = this.deps[i]; @@ -4645,7 +4533,7 @@ * Subscriber interface. * Will be called when a dependency changes. */ - Watcher.prototype.update = function update() { + Watcher.prototype.update = function update () { /* istanbul ignore else */ if (this.lazy) { this.dirty = true; @@ -4660,7 +4548,7 @@ * Scheduler job interface. * Will be called by the scheduler. */ - Watcher.prototype.run = function run() { + Watcher.prototype.run = function run () { if (this.active) { var value = this.get(); if ( @@ -4678,11 +4566,7 @@ try { this.cb.call(this.vm, value, oldValue); } catch (e) { - handleError( - e, - this.vm, - 'callback for watcher "' + this.expression + '"' - ); + handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\"")); } } else { this.cb.call(this.vm, value, oldValue); @@ -4695,7 +4579,7 @@ * Evaluate the value of the watcher. * This only gets called for lazy watchers. */ - Watcher.prototype.evaluate = function evaluate() { + Watcher.prototype.evaluate = function evaluate () { this.value = this.get(); this.dirty = false; }; @@ -4703,7 +4587,7 @@ /** * Depend on all deps collected by this watcher. */ - Watcher.prototype.depend = function depend() { + Watcher.prototype.depend = function depend () { var i = this.deps.length; while (i--) { this.deps[i].depend(); @@ -4713,7 +4597,7 @@ /** * Remove self from all dependencies' subscriber list. */ - Watcher.prototype.teardown = function teardown() { + Watcher.prototype.teardown = function teardown () { if (this.active) { // remove self from vm's watcher list // this is a somewhat expensive operation so we skip it @@ -4735,66 +4619,56 @@ enumerable: true, configurable: true, get: noop, - set: noop, + set: noop }; - function proxy(target, sourceKey, key) { - sharedPropertyDefinition.get = function proxyGetter() { - return this[sourceKey][key]; + function proxy (target, sourceKey, key) { + sharedPropertyDefinition.get = function proxyGetter () { + return this[sourceKey][key] }; - sharedPropertyDefinition.set = function proxySetter(val) { + sharedPropertyDefinition.set = function proxySetter (val) { this[sourceKey][key] = val; }; Object.defineProperty(target, key, sharedPropertyDefinition); } - function initState(vm) { + function initState (vm) { vm._watchers = []; var opts = vm.$options; - if (opts.props) { - initProps(vm, opts.props); - } - if (opts.methods) { - initMethods(vm, opts.methods); - } + if (opts.props) { initProps(vm, opts.props); } + if (opts.methods) { initMethods(vm, opts.methods); } if (opts.data) { initData(vm); } else { - observe((vm._data = {}), true /* asRootData */); - } - if (opts.computed) { - initComputed(vm, opts.computed); + observe(vm._data = {}, true /* asRootData */); } + if (opts.computed) { initComputed(vm, opts.computed); } if (opts.watch && opts.watch !== nativeWatch) { initWatch(vm, opts.watch); } } - function initProps(vm, propsOptions) { + function initProps (vm, propsOptions) { var propsData = vm.$options.propsData || {}; - var props = (vm._props = {}); + var props = vm._props = {}; // cache prop keys so that future props updates can iterate using Array // instead of dynamic object key enumeration. - var keys = (vm.$options._propKeys = []); + var keys = vm.$options._propKeys = []; var isRoot = !vm.$parent; // root instance props should be converted if (!isRoot) { toggleObserving(false); } - var loop = function (key) { + var loop = function ( key ) { keys.push(key); var value = validateProp(key, propsOptions, propsData, vm); /* istanbul ignore else */ { var hyphenatedKey = hyphenate(key); - if ( - isReservedAttribute(hyphenatedKey) || - config.isReservedAttr(hyphenatedKey) - ) { + if (isReservedAttribute(hyphenatedKey) || + config.isReservedAttr(hyphenatedKey)) { warn( - '"' + - hyphenatedKey + - '" is a reserved attribute and cannot be used as component prop.', + ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), vm ); } @@ -4802,11 +4676,9 @@ if (!isRoot && !isUpdatingChildComponent) { warn( "Avoid mutating a prop directly since the value will be " + - "overwritten whenever the parent component re-renders. " + - "Instead, use a data or computed property based on the prop's " + - 'value. Prop being mutated: "' + - key + - '"', + "overwritten whenever the parent component re-renders. " + + "Instead, use a data or computed property based on the prop's " + + "value. Prop being mutated: \"" + key + "\"", vm ); } @@ -4820,19 +4692,20 @@ } }; - for (var key in propsOptions) loop(key); + for (var key in propsOptions) loop( key ); toggleObserving(true); } - function initData(vm) { + function initData (vm) { var data = vm.$options.data; - data = vm._data = - typeof data === "function" ? getData(data, vm) : data || {}; + data = vm._data = typeof data === 'function' + ? getData(data, vm) + : data || {}; if (!isPlainObject(data)) { data = {}; warn( - "data functions should return an object:\n" + - "https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function", + 'data functions should return an object:\n' + + 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm ); } @@ -4846,17 +4719,15 @@ { if (methods && hasOwn(methods, key)) { warn( - 'Method "' + key + '" has already been defined as a data property.', + ("Method \"" + key + "\" has already been defined as a data property."), vm ); } } if (props && hasOwn(props, key)) { warn( - 'The data property "' + - key + - '" is already declared as a prop. ' + - "Use prop default value instead.", + "The data property \"" + key + "\" is already declared as a prop. " + + "Use prop default value instead.", vm ); } else if (!isReserved(key)) { @@ -4867,14 +4738,14 @@ observe(data, true /* asRootData */); } - function getData(data, vm) { + function getData (data, vm) { // #7573 disable dep collection when invoking data getters pushTarget(); try { - return data.call(vm, vm); + return data.call(vm, vm) } catch (e) { handleError(e, vm, "data()"); - return {}; + return {} } finally { popTarget(); } @@ -4882,17 +4753,20 @@ var computedWatcherOptions = { lazy: true }; - function initComputed(vm, computed) { + function initComputed (vm, computed) { // $flow-disable-line - var watchers = (vm._computedWatchers = Object.create(null)); + var watchers = vm._computedWatchers = Object.create(null); // computed properties are just getters during SSR var isSSR = isServerRendering(); for (var key in computed) { var userDef = computed[key]; - var getter = typeof userDef === "function" ? userDef : userDef.get; + var getter = typeof userDef === 'function' ? userDef : userDef.get; if (getter == null) { - warn('Getter is missing for computed property "' + key + '".', vm); + warn( + ("Getter is missing for computed property \"" + key + "\"."), + vm + ); } if (!isSSR) { @@ -4912,23 +4786,21 @@ defineComputed(vm, key, userDef); } else { if (key in vm.$data) { - warn( - 'The computed property "' + key + '" is already defined in data.', - vm - ); + warn(("The computed property \"" + key + "\" is already defined in data."), vm); } else if (vm.$options.props && key in vm.$options.props) { - warn( - 'The computed property "' + key + '" is already defined as a prop.', - vm - ); + warn(("The computed property \"" + key + "\" is already defined as a prop."), vm); } } } } - function defineComputed(target, key, userDef) { + function defineComputed ( + target, + key, + userDef + ) { var shouldCache = !isServerRendering(); - if (typeof userDef === "function") { + if (typeof userDef === 'function') { sharedPropertyDefinition.get = shouldCache ? createComputedGetter(key) : createGetterInvoker(userDef); @@ -4944,9 +4816,7 @@ if (sharedPropertyDefinition.set === noop) { sharedPropertyDefinition.set = function () { warn( - 'Computed property "' + - key + - '" was assigned to but it has no setter.', + ("Computed property \"" + key + "\" was assigned to but it has no setter."), this ); }; @@ -4954,8 +4824,8 @@ Object.defineProperty(target, key, sharedPropertyDefinition); } - function createComputedGetter(key) { - return function computedGetter() { + function createComputedGetter (key) { + return function computedGetter () { var watcher = this._computedWatchers && this._computedWatchers[key]; if (watcher) { if (watcher.dirty) { @@ -4964,50 +4834,46 @@ if (Dep.target) { watcher.depend(); } - return watcher.value; + return watcher.value } - }; + } } function createGetterInvoker(fn) { - return function computedGetter() { - return fn.call(this, this); - }; + return function computedGetter () { + return fn.call(this, this) + } } - function initMethods(vm, methods) { + function initMethods (vm, methods) { var props = vm.$options.props; for (var key in methods) { { - if (typeof methods[key] !== "function") { + if (typeof methods[key] !== 'function') { warn( - 'Method "' + - key + - '" has type "' + - typeof methods[key] + - '" in the component definition. ' + - "Did you reference the function correctly?", + "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " + + "Did you reference the function correctly?", vm ); } if (props && hasOwn(props, key)) { - warn('Method "' + key + '" has already been defined as a prop.', vm); + warn( + ("Method \"" + key + "\" has already been defined as a prop."), + vm + ); } - if (key in vm && isReserved(key)) { + if ((key in vm) && isReserved(key)) { warn( - 'Method "' + - key + - '" conflicts with an existing Vue instance method. ' + - "Avoid defining component methods that start with _ or $." + "Method \"" + key + "\" conflicts with an existing Vue instance method. " + + "Avoid defining component methods that start with _ or $." ); } } - vm[key] = - typeof methods[key] !== "function" ? noop : bind(methods[key], vm); + vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm); } } - function initWatch(vm, watch) { + function initWatch (vm, watch) { for (var key in watch) { var handler = watch[key]; if (Array.isArray(handler)) { @@ -5020,34 +4886,35 @@ } } - function createWatcher(vm, expOrFn, handler, options) { + function createWatcher ( + vm, + expOrFn, + handler, + options + ) { if (isPlainObject(handler)) { options = handler; handler = handler.handler; } - if (typeof handler === "string") { + if (typeof handler === 'string') { handler = vm[handler]; } - return vm.$watch(expOrFn, handler, options); + return vm.$watch(expOrFn, handler, options) } - function stateMixin(Vue) { + function stateMixin (Vue) { // flow somehow has problems with directly declared definition object // when using Object.defineProperty, so we have to procedurally build up // the object here. var dataDef = {}; - dataDef.get = function () { - return this._data; - }; + dataDef.get = function () { return this._data }; var propsDef = {}; - propsDef.get = function () { - return this._props; - }; + propsDef.get = function () { return this._props }; { dataDef.set = function () { warn( - "Avoid replacing instance root $data. " + - "Use nested data properties instead.", + 'Avoid replacing instance root $data. ' + + 'Use nested data properties instead.', this ); }; @@ -5055,16 +4922,20 @@ warn("$props is readonly.", this); }; } - Object.defineProperty(Vue.prototype, "$data", dataDef); - Object.defineProperty(Vue.prototype, "$props", propsDef); + Object.defineProperty(Vue.prototype, '$data', dataDef); + Object.defineProperty(Vue.prototype, '$props', propsDef); Vue.prototype.$set = set; Vue.prototype.$delete = del; - Vue.prototype.$watch = function (expOrFn, cb, options) { + Vue.prototype.$watch = function ( + expOrFn, + cb, + options + ) { var vm = this; if (isPlainObject(cb)) { - return createWatcher(vm, expOrFn, cb, options); + return createWatcher(vm, expOrFn, cb, options) } options = options || {}; options.user = true; @@ -5073,16 +4944,12 @@ try { cb.call(vm, watcher.value); } catch (error) { - handleError( - error, - vm, - 'callback for immediate watcher "' + watcher.expression + '"' - ); + handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\"")); } } - return function unwatchFn() { + return function unwatchFn () { watcher.teardown(); - }; + } }; } @@ -5090,7 +4957,7 @@ var uid$3 = 0; - function initMixin(Vue) { + function initMixin (Vue) { Vue.prototype._init = function (options) { var vm = this; // a uid @@ -5099,8 +4966,8 @@ var startTag, endTag; /* istanbul ignore if */ if (config.performance && mark) { - startTag = "vue-perf-start:" + vm._uid; - endTag = "vue-perf-end:" + vm._uid; + startTag = "vue-perf-start:" + (vm._uid); + endTag = "vue-perf-end:" + (vm._uid); mark(startTag); } @@ -5128,17 +4995,17 @@ initLifecycle(vm); initEvents(vm); initRender(vm); - callHook(vm, "beforeCreate"); + callHook(vm, 'beforeCreate'); initInjections(vm); // resolve injections before data/props initState(vm); initProvide(vm); // resolve provide after data/props - callHook(vm, "created"); + callHook(vm, 'created'); /* istanbul ignore if */ if (config.performance && mark) { vm._name = formatComponentName(vm, false); mark(endTag); - measure("vue " + vm._name + " init", startTag, endTag); + measure(("vue " + (vm._name) + " init"), startTag, endTag); } if (vm.$options.el) { @@ -5147,8 +5014,8 @@ }; } - function initInternalComponent(vm, options) { - var opts = (vm.$options = Object.create(vm.constructor.options)); + function initInternalComponent (vm, options) { + var opts = vm.$options = Object.create(vm.constructor.options); // doing this because it's faster than dynamic enumeration. var parentVnode = options._parentVnode; opts.parent = options.parent; @@ -5166,7 +5033,7 @@ } } - function resolveConstructorOptions(Ctor) { + function resolveConstructorOptions (Ctor) { var options = Ctor.options; if (Ctor.super) { var superOptions = resolveConstructorOptions(Ctor.super); @@ -5187,27 +5054,26 @@ } } } - return options; + return options } - function resolveModifiedOptions(Ctor) { + function resolveModifiedOptions (Ctor) { var modified; var latest = Ctor.options; var sealed = Ctor.sealedOptions; for (var key in latest) { if (latest[key] !== sealed[key]) { - if (!modified) { - modified = {}; - } + if (!modified) { modified = {}; } modified[key] = latest[key]; } } - return modified; + return modified } - function Vue(options) { - if (!(this instanceof Vue)) { - warn("Vue is a constructor and should be called with the `new` keyword"); + function Vue (options) { + if (!(this instanceof Vue) + ) { + warn('Vue is a constructor and should be called with the `new` keyword'); } this._init(options); } @@ -5220,39 +5086,38 @@ /* */ - function initUse(Vue) { + function initUse (Vue) { Vue.use = function (plugin) { - var installedPlugins = - this._installedPlugins || (this._installedPlugins = []); + var installedPlugins = (this._installedPlugins || (this._installedPlugins = [])); if (installedPlugins.indexOf(plugin) > -1) { - return this; + return this } // additional parameters var args = toArray(arguments, 1); args.unshift(this); - if (typeof plugin.install === "function") { + if (typeof plugin.install === 'function') { plugin.install.apply(plugin, args); - } else if (typeof plugin === "function") { + } else if (typeof plugin === 'function') { plugin.apply(null, args); } installedPlugins.push(plugin); - return this; + return this }; } /* */ - function initMixin$1(Vue) { + function initMixin$1 (Vue) { Vue.mixin = function (mixin) { this.options = mergeOptions(this.options, mixin); - return this; + return this }; } /* */ - function initExtend(Vue) { + function initExtend (Vue) { /** * Each instance constructor, including Vue, has a unique * cid. This enables us to create wrapped "child @@ -5270,7 +5135,7 @@ var SuperId = Super.cid; var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); if (cachedCtors[SuperId]) { - return cachedCtors[SuperId]; + return cachedCtors[SuperId] } var name = extendOptions.name || Super.options.name; @@ -5278,14 +5143,17 @@ validateComponentName(name); } - var Sub = function VueComponent(options) { + var Sub = function VueComponent (options) { this._init(options); }; Sub.prototype = Object.create(Super.prototype); Sub.prototype.constructor = Sub; Sub.cid = cid++; - Sub.options = mergeOptions(Super.options, extendOptions); - Sub["super"] = Super; + Sub.options = mergeOptions( + Super.options, + extendOptions + ); + Sub['super'] = Super; // For props and computed properties, we define the proxy getters on // the Vue instances at extension time, on the extended prototype. This @@ -5321,18 +5189,18 @@ // cache constructor cachedCtors[SuperId] = Sub; - return Sub; + return Sub }; } - function initProps$1(Comp) { + function initProps$1 (Comp) { var props = Comp.options.props; for (var key in props) { proxy(Comp.prototype, "_props", key); } } - function initComputed$1(Comp) { + function initComputed$1 (Comp) { var computed = Comp.options.computed; for (var key in computed) { defineComputed(Comp.prototype, key, computed[key]); @@ -5341,28 +5209,31 @@ /* */ - function initAssetRegisters(Vue) { + function initAssetRegisters (Vue) { /** * Create asset registration methods. */ ASSET_TYPES.forEach(function (type) { - Vue[type] = function (id, definition) { + Vue[type] = function ( + id, + definition + ) { if (!definition) { - return this.options[type + "s"][id]; + return this.options[type + 's'][id] } else { /* istanbul ignore if */ - if (type === "component") { + if (type === 'component') { validateComponentName(id); } - if (type === "component" && isPlainObject(definition)) { + if (type === 'component' && isPlainObject(definition)) { definition.name = definition.name || id; definition = this.options._base.extend(definition); } - if (type === "directive" && typeof definition === "function") { + if (type === 'directive' && typeof definition === 'function') { definition = { bind: definition, update: definition }; } - this.options[type + "s"][id] = definition; - return definition; + this.options[type + 's'][id] = definition; + return definition } }; }); @@ -5370,23 +5241,25 @@ /* */ - function getComponentName(opts) { - return opts && (opts.Ctor.options.name || opts.tag); + + + function getComponentName (opts) { + return opts && (opts.Ctor.options.name || opts.tag) } - function matches(pattern, name) { + function matches (pattern, name) { if (Array.isArray(pattern)) { - return pattern.indexOf(name) > -1; - } else if (typeof pattern === "string") { - return pattern.split(",").indexOf(name) > -1; + return pattern.indexOf(name) > -1 + } else if (typeof pattern === 'string') { + return pattern.split(',').indexOf(name) > -1 } else if (isRegExp(pattern)) { - return pattern.test(name); + return pattern.test(name) } /* istanbul ignore next */ - return false; + return false } - function pruneCache(keepAliveInstance, filter) { + function pruneCache (keepAliveInstance, filter) { var cache = keepAliveInstance.cache; var keys = keepAliveInstance.keys; var _vnode = keepAliveInstance._vnode; @@ -5401,7 +5274,12 @@ } } - function pruneCacheEntry(cache, key, keys, current) { + function pruneCacheEntry ( + cache, + key, + keys, + current + ) { var cached$$1 = cache[key]; if (cached$$1 && (!current || cached$$1.tag !== current.tag)) { cached$$1.componentInstance.$destroy(); @@ -5413,42 +5291,38 @@ var patternTypes = [String, RegExp, Array]; var KeepAlive = { - name: "keep-alive", + name: 'keep-alive', abstract: true, props: { include: patternTypes, exclude: patternTypes, - max: [String, Number], + max: [String, Number] }, - created: function created() { + created: function created () { this.cache = Object.create(null); this.keys = []; }, - destroyed: function destroyed() { + destroyed: function destroyed () { for (var key in this.cache) { pruneCacheEntry(this.cache, key, this.keys); } }, - mounted: function mounted() { + mounted: function mounted () { var this$1 = this; - this.$watch("include", function (val) { - pruneCache(this$1, function (name) { - return matches(val, name); - }); + this.$watch('include', function (val) { + pruneCache(this$1, function (name) { return matches(val, name); }); }); - this.$watch("exclude", function (val) { - pruneCache(this$1, function (name) { - return !matches(val, name); - }); + this.$watch('exclude', function (val) { + pruneCache(this$1, function (name) { return !matches(val, name); }); }); }, - render: function render() { + render: function render () { var slot = this.$slots.default; var vnode = getFirstComponentChild(slot); var componentOptions = vnode && vnode.componentOptions; @@ -5464,19 +5338,17 @@ // excluded (exclude && name && matches(exclude, name)) ) { - return vnode; + return vnode } var ref$1 = this; var cache = ref$1.cache; var keys = ref$1.keys; - var key = - vnode.key == null - ? // same constructor may get registered as different local components - // so cid alone is not enough (#3269) - componentOptions.Ctor.cid + - (componentOptions.tag ? "::" + componentOptions.tag : "") - : vnode.key; + var key = vnode.key == null + // same constructor may get registered as different local components + // so cid alone is not enough (#3269) + ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') + : vnode.key; if (cache[key]) { vnode.componentInstance = cache[key].componentInstance; // make current key freshest @@ -5493,30 +5365,28 @@ vnode.data.keepAlive = true; } - return vnode || (slot && slot[0]); - }, + return vnode || (slot && slot[0]) + } }; var builtInComponents = { - KeepAlive: KeepAlive, + KeepAlive: KeepAlive }; /* */ - function initGlobalAPI(Vue) { + function initGlobalAPI (Vue) { // config var configDef = {}; - configDef.get = function () { - return config; - }; + configDef.get = function () { return config; }; { configDef.set = function () { warn( - "Do not replace the Vue.config object, set individual fields instead." + 'Do not replace the Vue.config object, set individual fields instead.' ); }; } - Object.defineProperty(Vue, "config", configDef); + Object.defineProperty(Vue, 'config', configDef); // exposed util methods. // NOTE: these are not considered part of the public API - avoid relying on @@ -5525,7 +5395,7 @@ warn: warn, extend: extend, mergeOptions: mergeOptions, - defineReactive: defineReactive$$1, + defineReactive: defineReactive$$1 }; Vue.set = set; @@ -5535,12 +5405,12 @@ // 2.6 explicit observable API Vue.observable = function (obj) { observe(obj); - return obj; + return obj }; Vue.options = Object.create(null); ASSET_TYPES.forEach(function (type) { - Vue.options[type + "s"] = Object.create(null); + Vue.options[type + 's'] = Object.create(null); }); // this is used to identify the "base" constructor to extend all plain-object @@ -5557,82 +5427,80 @@ initGlobalAPI(Vue); - Object.defineProperty(Vue.prototype, "$isServer", { - get: isServerRendering, + Object.defineProperty(Vue.prototype, '$isServer', { + get: isServerRendering }); - Object.defineProperty(Vue.prototype, "$ssrContext", { - get: function get() { + Object.defineProperty(Vue.prototype, '$ssrContext', { + get: function get () { /* istanbul ignore next */ - return this.$vnode && this.$vnode.ssrContext; - }, + return this.$vnode && this.$vnode.ssrContext + } }); // expose FunctionalRenderContext for ssr runtime helper installation - Object.defineProperty(Vue, "FunctionalRenderContext", { - value: FunctionalRenderContext, + Object.defineProperty(Vue, 'FunctionalRenderContext', { + value: FunctionalRenderContext }); - Vue.version = "2.6.12"; + Vue.version = '2.6.12'; /* */ // these are reserved for web because they are directly compiled away // during template compilation - var isReservedAttr = makeMap("style,class"); + var isReservedAttr = makeMap('style,class'); // attributes that should be using props for binding - var acceptValue = makeMap("input,textarea,option,select,progress"); + var acceptValue = makeMap('input,textarea,option,select,progress'); var mustUseProp = function (tag, type, attr) { return ( - (attr === "value" && acceptValue(tag) && type !== "button") || - (attr === "selected" && tag === "option") || - (attr === "checked" && tag === "input") || - (attr === "muted" && tag === "video") - ); + (attr === 'value' && acceptValue(tag)) && type !== 'button' || + (attr === 'selected' && tag === 'option') || + (attr === 'checked' && tag === 'input') || + (attr === 'muted' && tag === 'video') + ) }; - var isEnumeratedAttr = makeMap("contenteditable,draggable,spellcheck"); + var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck'); - var isValidContentEditableValue = makeMap( - "events,caret,typing,plaintext-only" - ); + var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only'); var convertEnumeratedValue = function (key, value) { - return isFalsyAttrValue(value) || value === "false" - ? "false" - : // allow arbitrary string value for contenteditable - key === "contenteditable" && isValidContentEditableValue(value) - ? value - : "true"; + return isFalsyAttrValue(value) || value === 'false' + ? 'false' + // allow arbitrary string value for contenteditable + : key === 'contenteditable' && isValidContentEditableValue(value) + ? value + : 'true' }; var isBooleanAttr = makeMap( - "allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare," + - "default,defaultchecked,defaultmuted,defaultselected,defer,disabled," + - "enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple," + - "muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly," + - "required,reversed,scoped,seamless,selected,sortable,translate," + - "truespeed,typemustmatch,visible" + 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + + 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + + 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + + 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + + 'required,reversed,scoped,seamless,selected,sortable,translate,' + + 'truespeed,typemustmatch,visible' ); - var xlinkNS = "http://www.w3.org/1999/xlink"; + var xlinkNS = 'http://www.w3.org/1999/xlink'; var isXlink = function (name) { - return name.charAt(5) === ":" && name.slice(0, 5) === "xlink"; + return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink' }; var getXlinkProp = function (name) { - return isXlink(name) ? name.slice(6, name.length) : ""; + return isXlink(name) ? name.slice(6, name.length) : '' }; var isFalsyAttrValue = function (val) { - return val == null || val === false; + return val == null || val === false }; /* */ - function genClassForVnode(vnode) { + function genClassForVnode (vnode) { var data = vnode.data; var parentNode = vnode; var childNode = vnode; @@ -5642,236 +5510,229 @@ data = mergeClassData(childNode.data, data); } } - while (isDef((parentNode = parentNode.parent))) { + while (isDef(parentNode = parentNode.parent)) { if (parentNode && parentNode.data) { data = mergeClassData(data, parentNode.data); } } - return renderClass(data.staticClass, data.class); + return renderClass(data.staticClass, data.class) } - function mergeClassData(child, parent) { + function mergeClassData (child, parent) { return { staticClass: concat(child.staticClass, parent.staticClass), - class: isDef(child.class) ? [child.class, parent.class] : parent.class, - }; + class: isDef(child.class) + ? [child.class, parent.class] + : parent.class + } } - function renderClass(staticClass, dynamicClass) { + function renderClass ( + staticClass, + dynamicClass + ) { if (isDef(staticClass) || isDef(dynamicClass)) { - return concat(staticClass, stringifyClass(dynamicClass)); + return concat(staticClass, stringifyClass(dynamicClass)) } /* istanbul ignore next */ - return ""; + return '' } - function concat(a, b) { - return a ? (b ? a + " " + b : a) : b || ""; + function concat (a, b) { + return a ? b ? (a + ' ' + b) : a : (b || '') } - function stringifyClass(value) { + function stringifyClass (value) { if (Array.isArray(value)) { - return stringifyArray(value); + return stringifyArray(value) } if (isObject(value)) { - return stringifyObject(value); + return stringifyObject(value) } - if (typeof value === "string") { - return value; + if (typeof value === 'string') { + return value } /* istanbul ignore next */ - return ""; + return '' } - function stringifyArray(value) { - var res = ""; + function stringifyArray (value) { + var res = ''; var stringified; for (var i = 0, l = value.length; i < l; i++) { - if ( - isDef((stringified = stringifyClass(value[i]))) && - stringified !== "" - ) { - if (res) { - res += " "; - } + if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') { + if (res) { res += ' '; } res += stringified; } } - return res; + return res } - function stringifyObject(value) { - var res = ""; + function stringifyObject (value) { + var res = ''; for (var key in value) { if (value[key]) { - if (res) { - res += " "; - } + if (res) { res += ' '; } res += key; } } - return res; + return res } /* */ var namespaceMap = { - svg: "http://www.w3.org/2000/svg", - math: "http://www.w3.org/1998/Math/MathML", + svg: 'http://www.w3.org/2000/svg', + math: 'http://www.w3.org/1998/Math/MathML' }; var isHTMLTag = makeMap( - "html,body,base,head,link,meta,style,title," + - "address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section," + - "div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul," + - "a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby," + - "s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video," + - "embed,object,param,source,canvas,script,noscript,del,ins," + - "caption,col,colgroup,table,thead,tbody,td,th,tr," + - "button,datalist,fieldset,form,input,label,legend,meter,optgroup,option," + - "output,progress,select,textarea," + - "details,dialog,menu,menuitem,summary," + - "content,element,shadow,template,blockquote,iframe,tfoot" + 'html,body,base,head,link,meta,style,title,' + + 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + + 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + + 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + + 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + + 'embed,object,param,source,canvas,script,noscript,del,ins,' + + 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + + 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + + 'output,progress,select,textarea,' + + 'details,dialog,menu,menuitem,summary,' + + 'content,element,shadow,template,blockquote,iframe,tfoot' ); // this map is intentionally selective, only covering SVG elements that may // contain child elements. var isSVG = makeMap( - "svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face," + - "foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern," + - "polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", + 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + + 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + + 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true ); - var isPreTag = function (tag) { - return tag === "pre"; - }; + var isPreTag = function (tag) { return tag === 'pre'; }; var isReservedTag = function (tag) { - return isHTMLTag(tag) || isSVG(tag); + return isHTMLTag(tag) || isSVG(tag) }; - function getTagNamespace(tag) { + function getTagNamespace (tag) { if (isSVG(tag)) { - return "svg"; + return 'svg' } // basic support for MathML // note it doesn't support other MathML elements being component roots - if (tag === "math") { - return "math"; + if (tag === 'math') { + return 'math' } } var unknownElementCache = Object.create(null); - function isUnknownElement(tag) { + function isUnknownElement (tag) { /* istanbul ignore if */ if (!inBrowser) { - return true; + return true } if (isReservedTag(tag)) { - return false; + return false } tag = tag.toLowerCase(); /* istanbul ignore if */ if (unknownElementCache[tag] != null) { - return unknownElementCache[tag]; + return unknownElementCache[tag] } var el = document.createElement(tag); - if (tag.indexOf("-") > -1) { + if (tag.indexOf('-') > -1) { // http://stackoverflow.com/a/28210364/1070244 - return (unknownElementCache[tag] = + return (unknownElementCache[tag] = ( el.constructor === window.HTMLUnknownElement || - el.constructor === window.HTMLElement); + el.constructor === window.HTMLElement + )) } else { - return (unknownElementCache[tag] = /HTMLUnknownElement/.test( - el.toString() - )); + return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())) } } - var isTextInputType = makeMap("text,number,password,search,email,tel,url"); + var isTextInputType = makeMap('text,number,password,search,email,tel,url'); /* */ /** * Query an element selector if it's not an element already. */ - function query(el) { - if (typeof el === "string") { + function query (el) { + if (typeof el === 'string') { var selected = document.querySelector(el); if (!selected) { - warn("Cannot find element: " + el); - return document.createElement("div"); + warn( + 'Cannot find element: ' + el + ); + return document.createElement('div') } - return selected; + return selected } else { - return el; + return el } } /* */ - function createElement$1(tagName, vnode) { + function createElement$1 (tagName, vnode) { var elm = document.createElement(tagName); - if (tagName !== "select") { - return elm; + if (tagName !== 'select') { + return elm } // false or null will remove the attribute but undefined will not - if ( - vnode.data && - vnode.data.attrs && - vnode.data.attrs.multiple !== undefined - ) { - elm.setAttribute("multiple", "multiple"); + if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) { + elm.setAttribute('multiple', 'multiple'); } - return elm; + return elm } - function createElementNS(namespace, tagName) { - return document.createElementNS(namespaceMap[namespace], tagName); + function createElementNS (namespace, tagName) { + return document.createElementNS(namespaceMap[namespace], tagName) } - function createTextNode(text) { - return document.createTextNode(text); + function createTextNode (text) { + return document.createTextNode(text) } - function createComment(text) { - return document.createComment(text); + function createComment (text) { + return document.createComment(text) } - function insertBefore(parentNode, newNode, referenceNode) { + function insertBefore (parentNode, newNode, referenceNode) { parentNode.insertBefore(newNode, referenceNode); } - function removeChild(node, child) { + function removeChild (node, child) { node.removeChild(child); } - function appendChild(node, child) { + function appendChild (node, child) { node.appendChild(child); } - function parentNode(node) { - return node.parentNode; + function parentNode (node) { + return node.parentNode } - function nextSibling(node) { - return node.nextSibling; + function nextSibling (node) { + return node.nextSibling } - function tagName(node) { - return node.tagName; + function tagName (node) { + return node.tagName } - function setTextContent(node, text) { + function setTextContent (node, text) { node.textContent = text; } - function setStyleScope(node, scopeId) { - node.setAttribute(scopeId, ""); + function setStyleScope (node, scopeId) { + node.setAttribute(scopeId, ''); } - var nodeOps = /*#__PURE__*/ Object.freeze({ + var nodeOps = /*#__PURE__*/Object.freeze({ createElement: createElement$1, createElementNS: createElementNS, createTextNode: createTextNode, @@ -5883,31 +5744,29 @@ nextSibling: nextSibling, tagName: tagName, setTextContent: setTextContent, - setStyleScope: setStyleScope, + setStyleScope: setStyleScope }); /* */ var ref = { - create: function create(_, vnode) { + create: function create (_, vnode) { registerRef(vnode); }, - update: function update(oldVnode, vnode) { + update: function update (oldVnode, vnode) { if (oldVnode.data.ref !== vnode.data.ref) { registerRef(oldVnode, true); registerRef(vnode); } }, - destroy: function destroy(vnode) { + destroy: function destroy (vnode) { registerRef(vnode, true); - }, + } }; - function registerRef(vnode, isRemoval) { + function registerRef (vnode, isRemoval) { var key = vnode.data.ref; - if (!isDef(key)) { - return; - } + if (!isDef(key)) { return } var vm = vnode.context; var ref = vnode.componentInstance || vnode.elm; @@ -5944,48 +5803,46 @@ * of making flow understand it is not worth it. */ - var emptyNode = new VNode("", {}, []); + var emptyNode = new VNode('', {}, []); - var hooks = ["create", "activate", "update", "remove", "destroy"]; + var hooks = ['create', 'activate', 'update', 'remove', 'destroy']; - function sameVnode(a, b) { + function sameVnode (a, b) { return ( - a.key === b.key && - ((a.tag === b.tag && - a.isComment === b.isComment && - isDef(a.data) === isDef(b.data) && - sameInputType(a, b)) || - (isTrue(a.isAsyncPlaceholder) && + a.key === b.key && ( + ( + a.tag === b.tag && + a.isComment === b.isComment && + isDef(a.data) === isDef(b.data) && + sameInputType(a, b) + ) || ( + isTrue(a.isAsyncPlaceholder) && a.asyncFactory === b.asyncFactory && - isUndef(b.asyncFactory.error))) - ); + isUndef(b.asyncFactory.error) + ) + ) + ) } - function sameInputType(a, b) { - if (a.tag !== "input") { - return true; - } + function sameInputType (a, b) { + if (a.tag !== 'input') { return true } var i; - var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type; - var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type; - return ( - typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB)) - ); + var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type; + var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type; + return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB) } - function createKeyToOldIdx(children, beginIdx, endIdx) { + function createKeyToOldIdx (children, beginIdx, endIdx) { var i, key; var map = {}; for (i = beginIdx; i <= endIdx; ++i) { key = children[i].key; - if (isDef(key)) { - map[key] = i; - } + if (isDef(key)) { map[key] = i; } } - return map; + return map } - function createPatchFunction(backend) { + function createPatchFunction (backend) { var i, j; var cbs = {}; @@ -6001,27 +5858,21 @@ } } - function emptyNodeAt(elm) { - return new VNode( - nodeOps.tagName(elm).toLowerCase(), - {}, - [], - undefined, - elm - ); + function emptyNodeAt (elm) { + return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm) } - function createRmCb(childElm, listeners) { - function remove$$1() { + function createRmCb (childElm, listeners) { + function remove$$1 () { if (--remove$$1.listeners === 0) { removeNode(childElm); } } remove$$1.listeners = listeners; - return remove$$1; + return remove$$1 } - function removeNode(el) { + function removeNode (el) { var parent = nodeOps.parentNode(el); // element may have already been removed due to v-html / v-text if (isDef(parent)) { @@ -6029,7 +5880,7 @@ } } - function isUnknownElement$$1(vnode, inVPre) { + function isUnknownElement$$1 (vnode, inVPre) { return ( !inVPre && !vnode.ns && @@ -6038,16 +5889,16 @@ config.ignoredElements.some(function (ignore) { return isRegExp(ignore) ? ignore.test(vnode.tag) - : ignore === vnode.tag; + : ignore === vnode.tag }) ) && config.isUnknownElement(vnode.tag) - ); + ) } var creatingElmInVPre = 0; - function createElm( + function createElm ( vnode, insertedVnodeQueue, parentElm, @@ -6067,7 +5918,7 @@ vnode.isRootInsert = !nested; // for transition enter check if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) { - return; + return } var data = vnode.data; @@ -6080,11 +5931,9 @@ } if (isUnknownElement$$1(vnode, creatingElmInVPre)) { warn( - "Unknown custom element: <" + - tag + - "> - did you " + - "register the component correctly? For recursive components, " + - 'make sure to provide the "name" option.', + 'Unknown custom element: <' + tag + '> - did you ' + + 'register the component correctly? For recursive components, ' + + 'make sure to provide the "name" option.', vnode.context ); } @@ -6116,11 +5965,11 @@ } } - function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) { var i = vnode.data; if (isDef(i)) { var isReactivated = isDef(vnode.componentInstance) && i.keepAlive; - if (isDef((i = i.hook)) && isDef((i = i.init))) { + if (isDef(i = i.hook) && isDef(i = i.init)) { i(vnode, false /* hydrating */); } // after calling the init hook, if the vnode is a child component @@ -6133,17 +5982,14 @@ if (isTrue(isReactivated)) { reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm); } - return true; + return true } } } - function initComponent(vnode, insertedVnodeQueue) { + function initComponent (vnode, insertedVnodeQueue) { if (isDef(vnode.data.pendingInsert)) { - insertedVnodeQueue.push.apply( - insertedVnodeQueue, - vnode.data.pendingInsert - ); + insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert); vnode.data.pendingInsert = null; } vnode.elm = vnode.componentInstance.$el; @@ -6159,7 +6005,7 @@ } } - function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) { var i; // hack for #4339: a reactivated component with inner transition // does not trigger because the inner node's created hooks are not called @@ -6168,12 +6014,12 @@ var innerNode = vnode; while (innerNode.componentInstance) { innerNode = innerNode.componentInstance._vnode; - if (isDef((i = innerNode.data)) && isDef((i = i.transition))) { + if (isDef(i = innerNode.data) && isDef(i = i.transition)) { for (i = 0; i < cbs.activate.length; ++i) { cbs.activate[i](emptyNode, innerNode); } insertedVnodeQueue.push(innerNode); - break; + break } } // unlike a newly created component, @@ -6181,7 +6027,7 @@ insert(parentElm, vnode.elm, refElm); } - function insert(parent, elm, ref$$1) { + function insert (parent, elm, ref$$1) { if (isDef(parent)) { if (isDef(ref$$1)) { if (nodeOps.parentNode(ref$$1) === parent) { @@ -6193,137 +6039,98 @@ } } - function createChildren(vnode, children, insertedVnodeQueue) { + function createChildren (vnode, children, insertedVnodeQueue) { if (Array.isArray(children)) { { checkDuplicateKeys(children); } for (var i = 0; i < children.length; ++i) { - createElm( - children[i], - insertedVnodeQueue, - vnode.elm, - null, - true, - children, - i - ); + createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i); } } else if (isPrimitive(vnode.text)) { - nodeOps.appendChild( - vnode.elm, - nodeOps.createTextNode(String(vnode.text)) - ); + nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text))); } } - function isPatchable(vnode) { + function isPatchable (vnode) { while (vnode.componentInstance) { vnode = vnode.componentInstance._vnode; } - return isDef(vnode.tag); + return isDef(vnode.tag) } - function invokeCreateHooks(vnode, insertedVnodeQueue) { + function invokeCreateHooks (vnode, insertedVnodeQueue) { for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) { cbs.create[i$1](emptyNode, vnode); } i = vnode.data.hook; // Reuse variable if (isDef(i)) { - if (isDef(i.create)) { - i.create(emptyNode, vnode); - } - if (isDef(i.insert)) { - insertedVnodeQueue.push(vnode); - } + if (isDef(i.create)) { i.create(emptyNode, vnode); } + if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); } } } // set scope id attribute for scoped CSS. // this is implemented as a special case to avoid the overhead // of going through the normal attribute patching process. - function setScope(vnode) { + function setScope (vnode) { var i; - if (isDef((i = vnode.fnScopeId))) { + if (isDef(i = vnode.fnScopeId)) { nodeOps.setStyleScope(vnode.elm, i); } else { var ancestor = vnode; while (ancestor) { - if ( - isDef((i = ancestor.context)) && - isDef((i = i.$options._scopeId)) - ) { + if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) { nodeOps.setStyleScope(vnode.elm, i); } ancestor = ancestor.parent; } } // for slot content they should also get the scopeId from the host instance. - if ( - isDef((i = activeInstance)) && + if (isDef(i = activeInstance) && i !== vnode.context && i !== vnode.fnContext && - isDef((i = i.$options._scopeId)) + isDef(i = i.$options._scopeId) ) { nodeOps.setStyleScope(vnode.elm, i); } } - function addVnodes( - parentElm, - refElm, - vnodes, - startIdx, - endIdx, - insertedVnodeQueue - ) { + function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) { for (; startIdx <= endIdx; ++startIdx) { - createElm( - vnodes[startIdx], - insertedVnodeQueue, - parentElm, - refElm, - false, - vnodes, - startIdx - ); + createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx); } } - function invokeDestroyHook(vnode) { + function invokeDestroyHook (vnode) { var i, j; var data = vnode.data; if (isDef(data)) { - if (isDef((i = data.hook)) && isDef((i = i.destroy))) { - i(vnode); - } - for (i = 0; i < cbs.destroy.length; ++i) { - cbs.destroy[i](vnode); - } + if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); } + for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); } } - if (isDef((i = vnode.children))) { + if (isDef(i = vnode.children)) { for (j = 0; j < vnode.children.length; ++j) { invokeDestroyHook(vnode.children[j]); } } } - function removeVnodes(vnodes, startIdx, endIdx) { + function removeVnodes (vnodes, startIdx, endIdx) { for (; startIdx <= endIdx; ++startIdx) { var ch = vnodes[startIdx]; if (isDef(ch)) { if (isDef(ch.tag)) { removeAndInvokeRemoveHook(ch); invokeDestroyHook(ch); - } else { - // Text node + } else { // Text node removeNode(ch.elm); } } } } - function removeAndInvokeRemoveHook(vnode, rm) { + function removeAndInvokeRemoveHook (vnode, rm) { if (isDef(rm) || isDef(vnode.data)) { var i; var listeners = cbs.remove.length + 1; @@ -6336,17 +6143,13 @@ rm = createRmCb(vnode.elm, listeners); } // recursively invoke hooks on child component root node - if ( - isDef((i = vnode.componentInstance)) && - isDef((i = i._vnode)) && - isDef(i.data) - ) { + if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) { removeAndInvokeRemoveHook(i, rm); } for (i = 0; i < cbs.remove.length; ++i) { cbs.remove[i](vnode, rm); } - if (isDef((i = vnode.data.hook)) && isDef((i = i.remove))) { + if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) { i(vnode, rm); } else { rm(); @@ -6356,13 +6159,7 @@ } } - function updateChildren( - parentElm, - oldCh, - newCh, - insertedVnodeQueue, - removeOnly - ) { + function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { var oldStartIdx = 0; var newStartIdx = 0; var oldEndIdx = oldCh.length - 1; @@ -6388,124 +6185,53 @@ } else if (isUndef(oldEndVnode)) { oldEndVnode = oldCh[--oldEndIdx]; } else if (sameVnode(oldStartVnode, newStartVnode)) { - patchVnode( - oldStartVnode, - newStartVnode, - insertedVnodeQueue, - newCh, - newStartIdx - ); + patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); oldStartVnode = oldCh[++oldStartIdx]; newStartVnode = newCh[++newStartIdx]; } else if (sameVnode(oldEndVnode, newEndVnode)) { - patchVnode( - oldEndVnode, - newEndVnode, - insertedVnodeQueue, - newCh, - newEndIdx - ); + patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); oldEndVnode = oldCh[--oldEndIdx]; newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldStartVnode, newEndVnode)) { - // Vnode moved right - patchVnode( - oldStartVnode, - newEndVnode, - insertedVnodeQueue, - newCh, - newEndIdx - ); - canMove && - nodeOps.insertBefore( - parentElm, - oldStartVnode.elm, - nodeOps.nextSibling(oldEndVnode.elm) - ); + } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right + patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); + canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm)); oldStartVnode = oldCh[++oldStartIdx]; newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldEndVnode, newStartVnode)) { - // Vnode moved left - patchVnode( - oldEndVnode, - newStartVnode, - insertedVnodeQueue, - newCh, - newStartIdx - ); - canMove && - nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); + } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left + patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); oldEndVnode = oldCh[--oldEndIdx]; newStartVnode = newCh[++newStartIdx]; } else { - if (isUndef(oldKeyToIdx)) { - oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); - } + if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); } idxInOld = isDef(newStartVnode.key) ? oldKeyToIdx[newStartVnode.key] : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); - if (isUndef(idxInOld)) { - // New element - createElm( - newStartVnode, - insertedVnodeQueue, - parentElm, - oldStartVnode.elm, - false, - newCh, - newStartIdx - ); + if (isUndef(idxInOld)) { // New element + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); } else { vnodeToMove = oldCh[idxInOld]; if (sameVnode(vnodeToMove, newStartVnode)) { - patchVnode( - vnodeToMove, - newStartVnode, - insertedVnodeQueue, - newCh, - newStartIdx - ); + patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); oldCh[idxInOld] = undefined; - canMove && - nodeOps.insertBefore( - parentElm, - vnodeToMove.elm, - oldStartVnode.elm - ); + canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm); } else { // same key but different element. treat as new element - createElm( - newStartVnode, - insertedVnodeQueue, - parentElm, - oldStartVnode.elm, - false, - newCh, - newStartIdx - ); + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); } } newStartVnode = newCh[++newStartIdx]; } } if (oldStartIdx > oldEndIdx) { - refElm = isUndef(newCh[newEndIdx + 1]) - ? null - : newCh[newEndIdx + 1].elm; - addVnodes( - parentElm, - refElm, - newCh, - newStartIdx, - newEndIdx, - insertedVnodeQueue - ); + refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; + addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); } else if (newStartIdx > newEndIdx) { removeVnodes(oldCh, oldStartIdx, oldEndIdx); } } - function checkDuplicateKeys(children) { + function checkDuplicateKeys (children) { var seenKeys = {}; for (var i = 0; i < children.length; i++) { var vnode = children[i]; @@ -6513,9 +6239,7 @@ if (isDef(key)) { if (seenKeys[key]) { warn( - "Duplicate keys detected: '" + - key + - "'. This may cause an update error.", + ("Duplicate keys detected: '" + key + "'. This may cause an update error."), vnode.context ); } else { @@ -6525,16 +6249,14 @@ } } - function findIdxInOld(node, oldCh, start, end) { + function findIdxInOld (node, oldCh, start, end) { for (var i = start; i < end; i++) { var c = oldCh[i]; - if (isDef(c) && sameVnode(node, c)) { - return i; - } + if (isDef(c) && sameVnode(node, c)) { return i } } } - function patchVnode( + function patchVnode ( oldVnode, vnode, insertedVnodeQueue, @@ -6543,7 +6265,7 @@ removeOnly ) { if (oldVnode === vnode) { - return; + return } if (isDef(vnode.elm) && isDef(ownerArray)) { @@ -6551,7 +6273,7 @@ vnode = ownerArray[index] = cloneVNode(vnode); } - var elm = (vnode.elm = oldVnode.elm); + var elm = vnode.elm = oldVnode.elm; if (isTrue(oldVnode.isAsyncPlaceholder)) { if (isDef(vnode.asyncFactory.resolved)) { @@ -6559,68 +6281,57 @@ } else { vnode.isAsyncPlaceholder = true; } - return; + return } // reuse element for static trees. // note we only do this if the vnode is cloned - // if the new node is not cloned it means the render functions have been // reset by the hot-reload-api and we need to do a proper re-render. - if ( - isTrue(vnode.isStatic) && + if (isTrue(vnode.isStatic) && isTrue(oldVnode.isStatic) && vnode.key === oldVnode.key && (isTrue(vnode.isCloned) || isTrue(vnode.isOnce)) ) { vnode.componentInstance = oldVnode.componentInstance; - return; + return } var i; var data = vnode.data; - if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) { + if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) { i(oldVnode, vnode); } var oldCh = oldVnode.children; var ch = vnode.children; if (isDef(data) && isPatchable(vnode)) { - for (i = 0; i < cbs.update.length; ++i) { - cbs.update[i](oldVnode, vnode); - } - if (isDef((i = data.hook)) && isDef((i = i.update))) { - i(oldVnode, vnode); - } + for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); } + if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); } } if (isUndef(vnode.text)) { if (isDef(oldCh) && isDef(ch)) { - if (oldCh !== ch) { - updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); - } + if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); } } else if (isDef(ch)) { { checkDuplicateKeys(ch); } - if (isDef(oldVnode.text)) { - nodeOps.setTextContent(elm, ""); - } + if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); } addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); } else if (isDef(oldCh)) { removeVnodes(oldCh, 0, oldCh.length - 1); } else if (isDef(oldVnode.text)) { - nodeOps.setTextContent(elm, ""); + nodeOps.setTextContent(elm, ''); } } else if (oldVnode.text !== vnode.text) { nodeOps.setTextContent(elm, vnode.text); } if (isDef(data)) { - if (isDef((i = data.hook)) && isDef((i = i.postpatch))) { - i(oldVnode, vnode); - } + if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); } } } - function invokeInsertHook(vnode, queue, initial) { + function invokeInsertHook (vnode, queue, initial) { // delay insert hooks for component root nodes, invoke them after the // element is really inserted if (isTrue(initial) && isDef(vnode.parent)) { @@ -6637,10 +6348,10 @@ // are already rendered on the client or has no need for initialization // Note: style is excluded because it relies on initial clone for future // deep updates (#7063). - var isRenderedModule = makeMap("attrs,class,staticClass,staticStyle,key"); + var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key'); // Note: this is a browser-only function so we can assume elms are DOM nodes. - function hydrate(elm, vnode, insertedVnodeQueue, inVPre) { + function hydrate (elm, vnode, insertedVnodeQueue, inVPre) { var i; var tag = vnode.tag; var data = vnode.data; @@ -6650,22 +6361,20 @@ if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) { vnode.isAsyncPlaceholder = true; - return true; + return true } // assert node match { if (!assertNodeMatch(elm, vnode, inVPre)) { - return false; + return false } } if (isDef(data)) { - if (isDef((i = data.hook)) && isDef((i = i.init))) { - i(vnode, true /* hydrating */); - } - if (isDef((i = vnode.componentInstance))) { + if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); } + if (isDef(i = vnode.componentInstance)) { // child component. it should have hydrated its own tree. initComponent(vnode, insertedVnodeQueue); - return true; + return true } } if (isDef(tag)) { @@ -6675,32 +6384,27 @@ createChildren(vnode, children, insertedVnodeQueue); } else { // v-html and domProps: innerHTML - if ( - isDef((i = data)) && - isDef((i = i.domProps)) && - isDef((i = i.innerHTML)) - ) { + if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) { if (i !== elm.innerHTML) { /* istanbul ignore if */ - if (typeof console !== "undefined" && !hydrationBailed) { + if (typeof console !== 'undefined' && + !hydrationBailed + ) { hydrationBailed = true; - console.warn("Parent: ", elm); - console.warn("server innerHTML: ", i); - console.warn("client innerHTML: ", elm.innerHTML); + console.warn('Parent: ', elm); + console.warn('server innerHTML: ', i); + console.warn('client innerHTML: ', elm.innerHTML); } - return false; + return false } } else { // iterate and compare children lists var childrenMatch = true; var childNode = elm.firstChild; for (var i$1 = 0; i$1 < children.length; i$1++) { - if ( - !childNode || - !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre) - ) { + if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) { childrenMatch = false; - break; + break } childNode = childNode.nextSibling; } @@ -6708,16 +6412,14 @@ // longer than the virtual children list. if (!childrenMatch || childNode) { /* istanbul ignore if */ - if (typeof console !== "undefined" && !hydrationBailed) { + if (typeof console !== 'undefined' && + !hydrationBailed + ) { hydrationBailed = true; - console.warn("Parent: ", elm); - console.warn( - "Mismatching childNodes vs. VNodes: ", - elm.childNodes, - children - ); + console.warn('Parent: ', elm); + console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children); } - return false; + return false } } } @@ -6728,39 +6430,35 @@ if (!isRenderedModule(key)) { fullInvoke = true; invokeCreateHooks(vnode, insertedVnodeQueue); - break; + break } } - if (!fullInvoke && data["class"]) { + if (!fullInvoke && data['class']) { // ensure collecting deps for deep class bindings for future updates - traverse(data["class"]); + traverse(data['class']); } } } else if (elm.data !== vnode.text) { elm.data = vnode.text; } - return true; + return true } - function assertNodeMatch(node, vnode, inVPre) { + function assertNodeMatch (node, vnode, inVPre) { if (isDef(vnode.tag)) { - return ( - vnode.tag.indexOf("vue-component") === 0 || - (!isUnknownElement$$1(vnode, inVPre) && - vnode.tag.toLowerCase() === - (node.tagName && node.tagName.toLowerCase())) - ); + return vnode.tag.indexOf('vue-component') === 0 || ( + !isUnknownElement$$1(vnode, inVPre) && + vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase()) + ) } else { - return node.nodeType === (vnode.isComment ? 8 : 3); + return node.nodeType === (vnode.isComment ? 8 : 3) } } - return function patch(oldVnode, vnode, hydrating, removeOnly) { + return function patch (oldVnode, vnode, hydrating, removeOnly) { if (isUndef(vnode)) { - if (isDef(oldVnode)) { - invokeDestroyHook(oldVnode); - } - return; + if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); } + return } var isInitialPatch = false; @@ -6774,14 +6472,7 @@ var isRealElement = isDef(oldVnode.nodeType); if (!isRealElement && sameVnode(oldVnode, vnode)) { // patch existing root node - patchVnode( - oldVnode, - vnode, - insertedVnodeQueue, - null, - null, - removeOnly - ); + patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly); } else { if (isRealElement) { // mounting to a real element @@ -6794,14 +6485,14 @@ if (isTrue(hydrating)) { if (hydrate(oldVnode, vnode, insertedVnodeQueue)) { invokeInsertHook(vnode, insertedVnodeQueue, true); - return oldVnode; + return oldVnode } else { warn( - "The client-side rendered virtual DOM tree is not matching " + - "server-rendered content. This is likely caused by incorrect " + - "HTML markup, for example nesting block-level elements inside " + - "<p>, or missing <tbody>. Bailing hydration and performing " + - "full client-side render." + 'The client-side rendered virtual DOM tree is not matching ' + + 'server-rendered content. This is likely caused by incorrect ' + + 'HTML markup, for example nesting block-level elements inside ' + + '<p>, or missing <tbody>. Bailing hydration and performing ' + + 'full client-side render.' ); } } @@ -6865,8 +6556,8 @@ } invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); - return vnode.elm; - }; + return vnode.elm + } } /* */ @@ -6874,24 +6565,21 @@ var directives = { create: updateDirectives, update: updateDirectives, - destroy: function unbindDirectives(vnode) { + destroy: function unbindDirectives (vnode) { updateDirectives(vnode, emptyNode); - }, + } }; - function updateDirectives(oldVnode, vnode) { + function updateDirectives (oldVnode, vnode) { if (oldVnode.data.directives || vnode.data.directives) { _update(oldVnode, vnode); } } - function _update(oldVnode, vnode) { + function _update (oldVnode, vnode) { var isCreate = oldVnode === emptyNode; var isDestroy = vnode === emptyNode; - var oldDirs = normalizeDirectives$1( - oldVnode.data.directives, - oldVnode.context - ); + var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context); var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context); var dirsWithInsert = []; @@ -6903,7 +6591,7 @@ dir = newDirs[key]; if (!oldDir) { // new directive, bind - callHook$1(dir, "bind", vnode, oldVnode); + callHook$1(dir, 'bind', vnode, oldVnode); if (dir.def && dir.def.inserted) { dirsWithInsert.push(dir); } @@ -6911,7 +6599,7 @@ // existing directive, update dir.oldValue = oldDir.value; dir.oldArg = oldDir.arg; - callHook$1(dir, "update", vnode, oldVnode); + callHook$1(dir, 'update', vnode, oldVnode); if (dir.def && dir.def.componentUpdated) { dirsWithPostpatch.push(dir); } @@ -6921,20 +6609,20 @@ if (dirsWithInsert.length) { var callInsert = function () { for (var i = 0; i < dirsWithInsert.length; i++) { - callHook$1(dirsWithInsert[i], "inserted", vnode, oldVnode); + callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode); } }; if (isCreate) { - mergeVNodeHook(vnode, "insert", callInsert); + mergeVNodeHook(vnode, 'insert', callInsert); } else { callInsert(); } } if (dirsWithPostpatch.length) { - mergeVNodeHook(vnode, "postpatch", function () { + mergeVNodeHook(vnode, 'postpatch', function () { for (var i = 0; i < dirsWithPostpatch.length; i++) { - callHook$1(dirsWithPostpatch[i], "componentUpdated", vnode, oldVnode); + callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode); } }); } @@ -6943,7 +6631,7 @@ for (key in oldDirs) { if (!newDirs[key]) { // no longer present, unbind - callHook$1(oldDirs[key], "unbind", oldVnode, oldVnode, isDestroy); + callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy); } } } @@ -6951,11 +6639,14 @@ var emptyModifiers = Object.create(null); - function normalizeDirectives$1(dirs, vm) { + function normalizeDirectives$1 ( + dirs, + vm + ) { var res = Object.create(null); if (!dirs) { // $flow-disable-line - return res; + return res } var i, dir; for (i = 0; i < dirs.length; i++) { @@ -6965,44 +6656,41 @@ dir.modifiers = emptyModifiers; } res[getRawDirName(dir)] = dir; - dir.def = resolveAsset(vm.$options, "directives", dir.name, true); + dir.def = resolveAsset(vm.$options, 'directives', dir.name, true); } // $flow-disable-line - return res; + return res } - function getRawDirName(dir) { - return ( - dir.rawName || dir.name + "." + Object.keys(dir.modifiers || {}).join(".") - ); + function getRawDirName (dir) { + return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.'))) } - function callHook$1(dir, hook, vnode, oldVnode, isDestroy) { + function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) { var fn = dir.def && dir.def[hook]; if (fn) { try { fn(vnode.elm, dir, vnode, oldVnode, isDestroy); } catch (e) { - handleError( - e, - vnode.context, - "directive " + dir.name + " " + hook + " hook" - ); + handleError(e, vnode.context, ("directive " + (dir.name) + " " + hook + " hook")); } } } - var baseModules = [ref, directives]; + var baseModules = [ + ref, + directives + ]; /* */ - function updateAttrs(oldVnode, vnode) { + function updateAttrs (oldVnode, vnode) { var opts = vnode.componentOptions; if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { - return; + return } if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { - return; + return } var key, cur, old; var elm = vnode.elm; @@ -7024,7 +6712,7 @@ // #6666: IE/Edge forces progress value down to 1 before setting a max /* istanbul ignore if */ if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { - setAttr(elm, "value", attrs.value); + setAttr(elm, 'value', attrs.value); } for (key in oldAttrs) { if (isUndef(attrs[key])) { @@ -7037,8 +6725,8 @@ } } - function setAttr(el, key, value) { - if (el.tagName.indexOf("-") > -1) { + function setAttr (el, key, value) { + if (el.tagName.indexOf('-') > -1) { baseSetAttr(el, key, value); } else if (isBooleanAttr(key)) { // set attribute for blank value @@ -7048,8 +6736,9 @@ } else { // technically allowfullscreen is a boolean attribute for <iframe>, // but Flash expects a value of "true" when used on <embed> tag - value = - key === "allowfullscreen" && el.tagName === "EMBED" ? "true" : key; + value = key === 'allowfullscreen' && el.tagName === 'EMBED' + ? 'true' + : key; el.setAttribute(key, value); } } else if (isEnumeratedAttr(key)) { @@ -7065,7 +6754,7 @@ } } - function baseSetAttr(el, key, value) { + function baseSetAttr (el, key, value) { if (isFalsyAttrValue(value)) { el.removeAttribute(key); } else { @@ -7074,18 +6763,15 @@ // immediately. /* istanbul ignore if */ if ( - isIE && - !isIE9 && - el.tagName === "TEXTAREA" && - key === "placeholder" && - value !== "" && - !el.__ieph + isIE && !isIE9 && + el.tagName === 'TEXTAREA' && + key === 'placeholder' && value !== '' && !el.__ieph ) { var blocker = function (e) { e.stopImmediatePropagation(); - el.removeEventListener("input", blocker); + el.removeEventListener('input', blocker); }; - el.addEventListener("input", blocker); + el.addEventListener('input', blocker); // $flow-disable-line el.__ieph = true; /* IE placeholder patched */ } @@ -7095,22 +6781,25 @@ var attrs = { create: updateAttrs, - update: updateAttrs, + update: updateAttrs }; /* */ - function updateClass(oldVnode, vnode) { + function updateClass (oldVnode, vnode) { var el = vnode.elm; var data = vnode.data; var oldData = oldVnode.data; if ( isUndef(data.staticClass) && - isUndef(data.class) && - (isUndef(oldData) || - (isUndef(oldData.staticClass) && isUndef(oldData.class))) + isUndef(data.class) && ( + isUndef(oldData) || ( + isUndef(oldData.staticClass) && + isUndef(oldData.class) + ) + ) ) { - return; + return } var cls = genClassForVnode(vnode); @@ -7123,21 +6812,21 @@ // set the class if (cls !== el._prevClass) { - el.setAttribute("class", cls); + el.setAttribute('class', cls); el._prevClass = cls; } } var klass = { create: updateClass, - update: updateClass, + update: updateClass }; /* */ var validDivisionCharRE = /[\w).+\-_$\]]/; - function parseFilters(exp) { + function parseFilters (exp) { var inSingle = false; var inDouble = false; var inTemplateString = false; @@ -7152,28 +6841,18 @@ prev = c; c = exp.charCodeAt(i); if (inSingle) { - if (c === 0x27 && prev !== 0x5c) { - inSingle = false; - } + if (c === 0x27 && prev !== 0x5C) { inSingle = false; } } else if (inDouble) { - if (c === 0x22 && prev !== 0x5c) { - inDouble = false; - } + if (c === 0x22 && prev !== 0x5C) { inDouble = false; } } else if (inTemplateString) { - if (c === 0x60 && prev !== 0x5c) { - inTemplateString = false; - } + if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; } } else if (inRegex) { - if (c === 0x2f && prev !== 0x5c) { - inRegex = false; - } + if (c === 0x2f && prev !== 0x5C) { inRegex = false; } } else if ( - c === 0x7c && // pipe - exp.charCodeAt(i + 1) !== 0x7c && - exp.charCodeAt(i - 1) !== 0x7c && - !curly && - !square && - !paren + c === 0x7C && // pipe + exp.charCodeAt(i + 1) !== 0x7C && + exp.charCodeAt(i - 1) !== 0x7C && + !curly && !square && !paren ) { if (expression === undefined) { // first filter, end of expression @@ -7184,44 +6863,23 @@ } } else { switch (c) { - case 0x22: - inDouble = true; - break; // " - case 0x27: - inSingle = true; - break; // ' - case 0x60: - inTemplateString = true; - break; // ` - case 0x28: - paren++; - break; // ( - case 0x29: - paren--; - break; // ) - case 0x5b: - square++; - break; // [ - case 0x5d: - square--; - break; // ] - case 0x7b: - curly++; - break; // { - case 0x7d: - curly--; - break; // } - } - if (c === 0x2f) { - // / + case 0x22: inDouble = true; break // " + case 0x27: inSingle = true; break // ' + case 0x60: inTemplateString = true; break // ` + case 0x28: paren++; break // ( + case 0x29: paren--; break // ) + case 0x5B: square++; break // [ + case 0x5D: square--; break // ] + case 0x7B: curly++; break // { + case 0x7D: curly--; break // } + } + if (c === 0x2f) { // / var j = i - 1; - var p = void 0; + var p = (void 0); // find first non-whitespace prev char for (; j >= 0; j--) { p = exp.charAt(j); - if (p !== " ") { - break; - } + if (p !== ' ') { break } } if (!p || !validDivisionCharRE.test(p)) { inRegex = true; @@ -7236,7 +6894,7 @@ pushFilter(); } - function pushFilter() { + function pushFilter () { (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim()); lastFilterIndex = i + 1; } @@ -7247,65 +6905,60 @@ } } - return expression; + return expression } - function wrapFilter(exp, filter) { - var i = filter.indexOf("("); + function wrapFilter (exp, filter) { + var i = filter.indexOf('('); if (i < 0) { // _f: resolveFilter - return '_f("' + filter + '")(' + exp + ")"; + return ("_f(\"" + filter + "\")(" + exp + ")") } else { var name = filter.slice(0, i); var args = filter.slice(i + 1); - return '_f("' + name + '")(' + exp + (args !== ")" ? "," + args : args); + return ("_f(\"" + name + "\")(" + exp + (args !== ')' ? ',' + args : args)) } } /* */ + + /* eslint-disable no-unused-vars */ - function baseWarn(msg, range) { - console.error("[Vue compiler]: " + msg); + function baseWarn (msg, range) { + console.error(("[Vue compiler]: " + msg)); } /* eslint-enable no-unused-vars */ - function pluckModuleFunction(modules, key) { + function pluckModuleFunction ( + modules, + key + ) { return modules - ? modules - .map(function (m) { - return m[key]; - }) - .filter(function (_) { - return _; - }) - : []; + ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) + : [] } - function addProp(el, name, value, range, dynamic) { - (el.props || (el.props = [])).push( - rangeSetItem({ name: name, value: value, dynamic: dynamic }, range) - ); + function addProp (el, name, value, range, dynamic) { + (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); el.plain = false; } - function addAttr(el, name, value, range, dynamic) { + function addAttr (el, name, value, range, dynamic) { var attrs = dynamic - ? el.dynamicAttrs || (el.dynamicAttrs = []) - : el.attrs || (el.attrs = []); - attrs.push( - rangeSetItem({ name: name, value: value, dynamic: dynamic }, range) - ); + ? (el.dynamicAttrs || (el.dynamicAttrs = [])) + : (el.attrs || (el.attrs = [])); + attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); el.plain = false; } // add a raw attr (use this in preTransforms) - function addRawAttr(el, name, value, range) { + function addRawAttr (el, name, value, range) { el.attrsMap[name] = value; el.attrsList.push(rangeSetItem({ name: name, value: value }, range)); } - function addDirective( + function addDirective ( el, name, rawName, @@ -7315,27 +6968,24 @@ modifiers, range ) { - (el.directives || (el.directives = [])).push( - rangeSetItem( - { - name: name, - rawName: rawName, - value: value, - arg: arg, - isDynamicArg: isDynamicArg, - modifiers: modifiers, - }, - range - ) - ); + (el.directives || (el.directives = [])).push(rangeSetItem({ + name: name, + rawName: rawName, + value: value, + arg: arg, + isDynamicArg: isDynamicArg, + modifiers: modifiers + }, range)); el.plain = false; } - function prependModifierMarker(symbol, name, dynamic) { - return dynamic ? "_p(" + name + ',"' + symbol + '")' : symbol + name; // mark the event as captured + function prependModifierMarker (symbol, name, dynamic) { + return dynamic + ? ("_p(" + name + ",\"" + symbol + "\")") + : symbol + name // mark the event as captured } - function addHandler( + function addHandler ( el, name, value, @@ -7348,10 +6998,13 @@ modifiers = modifiers || emptyObject; // warn prevent and passive modifier /* istanbul ignore if */ - if (warn && modifiers.prevent && modifiers.passive) { + if ( + warn && + modifiers.prevent && modifiers.passive + ) { warn( - "passive and prevent can't be used together. " + - "Passive handler can't prevent default event.", + 'passive and prevent can\'t be used together. ' + + 'Passive handler can\'t prevent default event.', range ); } @@ -7362,31 +7015,31 @@ if (modifiers.right) { if (dynamic) { name = "(" + name + ")==='click'?'contextmenu':(" + name + ")"; - } else if (name === "click") { - name = "contextmenu"; + } else if (name === 'click') { + name = 'contextmenu'; delete modifiers.right; } } else if (modifiers.middle) { if (dynamic) { name = "(" + name + ")==='click'?'mouseup':(" + name + ")"; - } else if (name === "click") { - name = "mouseup"; + } else if (name === 'click') { + name = 'mouseup'; } } // check capture modifier if (modifiers.capture) { delete modifiers.capture; - name = prependModifierMarker("!", name, dynamic); + name = prependModifierMarker('!', name, dynamic); } if (modifiers.once) { delete modifiers.once; - name = prependModifierMarker("~", name, dynamic); + name = prependModifierMarker('~', name, dynamic); } /* istanbul ignore if */ if (modifiers.passive) { delete modifiers.passive; - name = prependModifierMarker("&", name, dynamic); + name = prependModifierMarker('&', name, dynamic); } var events; @@ -7397,10 +7050,7 @@ events = el.events || (el.events = {}); } - var newHandler = rangeSetItem( - { value: value.trim(), dynamic: dynamic }, - range - ); + var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range); if (modifiers !== emptyObject) { newHandler.modifiers = modifiers; } @@ -7410,9 +7060,7 @@ if (Array.isArray(handlers)) { important ? handlers.unshift(newHandler) : handlers.push(newHandler); } else if (handlers) { - events[name] = important - ? [newHandler, handlers] - : [handlers, newHandler]; + events[name] = important ? [newHandler, handlers] : [handlers, newHandler]; } else { events[name] = newHandler; } @@ -7420,24 +7068,29 @@ el.plain = false; } - function getRawBindingAttr(el, name) { - return ( - el.rawAttrsMap[":" + name] || - el.rawAttrsMap["v-bind:" + name] || + function getRawBindingAttr ( + el, + name + ) { + return el.rawAttrsMap[':' + name] || + el.rawAttrsMap['v-bind:' + name] || el.rawAttrsMap[name] - ); } - function getBindingAttr(el, name, getStatic) { + function getBindingAttr ( + el, + name, + getStatic + ) { var dynamicValue = - getAndRemoveAttr(el, ":" + name) || - getAndRemoveAttr(el, "v-bind:" + name); + getAndRemoveAttr(el, ':' + name) || + getAndRemoveAttr(el, 'v-bind:' + name); if (dynamicValue != null) { - return parseFilters(dynamicValue); + return parseFilters(dynamicValue) } else if (getStatic !== false) { var staticValue = getAndRemoveAttr(el, name); if (staticValue != null) { - return JSON.stringify(staticValue); + return JSON.stringify(staticValue) } } } @@ -7446,35 +7099,45 @@ // doesn't get processed by processAttrs. // By default it does NOT remove it from the map (attrsMap) because the map is // needed during codegen. - function getAndRemoveAttr(el, name, removeFromMap) { + function getAndRemoveAttr ( + el, + name, + removeFromMap + ) { var val; if ((val = el.attrsMap[name]) != null) { var list = el.attrsList; for (var i = 0, l = list.length; i < l; i++) { if (list[i].name === name) { list.splice(i, 1); - break; + break } } } if (removeFromMap) { delete el.attrsMap[name]; } - return val; + return val } - function getAndRemoveAttrByRegex(el, name) { + function getAndRemoveAttrByRegex ( + el, + name + ) { var list = el.attrsList; for (var i = 0, l = list.length; i < l; i++) { var attr = list[i]; if (name.test(attr.name)) { list.splice(i, 1); - return attr; + return attr } } } - function rangeSetItem(item, range) { + function rangeSetItem ( + item, + range + ) { if (range) { if (range.start != null) { item.start = range.start; @@ -7483,7 +7146,7 @@ item.end = range.end; } } - return item; + return item } /* */ @@ -7491,24 +7154,22 @@ /** * Cross-platform code generation for component v-model */ - function genComponentModel(el, value, modifiers) { + function genComponentModel ( + el, + value, + modifiers + ) { var ref = modifiers || {}; var number = ref.number; var trim = ref.trim; - var baseValueExpression = "$$v"; + var baseValueExpression = '$$v'; var valueExpression = baseValueExpression; if (trim) { valueExpression = - "(typeof " + - baseValueExpression + - " === 'string'" + - "? " + - baseValueExpression + - ".trim()" + - ": " + - baseValueExpression + - ")"; + "(typeof " + baseValueExpression + " === 'string'" + + "? " + baseValueExpression + ".trim()" + + ": " + baseValueExpression + ")"; } if (number) { valueExpression = "_n(" + valueExpression + ")"; @@ -7516,21 +7177,24 @@ var assignment = genAssignmentCode(value, valueExpression); el.model = { - value: "(" + value + ")", + value: ("(" + value + ")"), expression: JSON.stringify(value), - callback: "function (" + baseValueExpression + ") {" + assignment + "}", + callback: ("function (" + baseValueExpression + ") {" + assignment + "}") }; } /** * Cross-platform codegen helper for generating v-model value assignment code. */ - function genAssignmentCode(value, assignment) { + function genAssignmentCode ( + value, + assignment + ) { var res = parseModel(value); if (res.key === null) { - return value + "=" + assignment; + return (value + "=" + assignment) } else { - return "$set(" + res.exp + ", " + res.key + ", " + assignment + ")"; + return ("$set(" + (res.exp) + ", " + (res.key) + ", " + assignment + ")") } } @@ -7551,24 +7215,26 @@ var len, str, chr, index$1, expressionPos, expressionEndPos; - function parseModel(val) { + + + function parseModel (val) { // Fix https://github.com/vuejs/vue/pull/7730 // allow v-model="obj.val " (trailing whitespace) val = val.trim(); len = val.length; - if (val.indexOf("[") < 0 || val.lastIndexOf("]") < len - 1) { - index$1 = val.lastIndexOf("."); + if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) { + index$1 = val.lastIndexOf('.'); if (index$1 > -1) { return { exp: val.slice(0, index$1), - key: '"' + val.slice(index$1 + 1) + '"', - }; + key: '"' + val.slice(index$1 + 1) + '"' + } } else { return { exp: val, - key: null, - }; + key: null + } } } @@ -7580,57 +7246,53 @@ /* istanbul ignore if */ if (isStringStart(chr)) { parseString(chr); - } else if (chr === 0x5b) { + } else if (chr === 0x5B) { parseBracket(chr); } } return { exp: val.slice(0, expressionPos), - key: val.slice(expressionPos + 1, expressionEndPos), - }; + key: val.slice(expressionPos + 1, expressionEndPos) + } } - function next() { - return str.charCodeAt(++index$1); + function next () { + return str.charCodeAt(++index$1) } - function eof() { - return index$1 >= len; + function eof () { + return index$1 >= len } - function isStringStart(chr) { - return chr === 0x22 || chr === 0x27; + function isStringStart (chr) { + return chr === 0x22 || chr === 0x27 } - function parseBracket(chr) { + function parseBracket (chr) { var inBracket = 1; expressionPos = index$1; while (!eof()) { chr = next(); if (isStringStart(chr)) { parseString(chr); - continue; - } - if (chr === 0x5b) { - inBracket++; - } - if (chr === 0x5d) { - inBracket--; + continue } + if (chr === 0x5B) { inBracket++; } + if (chr === 0x5D) { inBracket--; } if (inBracket === 0) { expressionEndPos = index$1; - break; + break } } } - function parseString(chr) { + function parseString (chr) { var stringQuote = chr; while (!eof()) { chr = next(); if (chr === stringQuote) { - break; + break } } } @@ -7641,10 +7303,14 @@ // in some cases, the event used has to be determined at runtime // so we used some reserved tokens during compile. - var RANGE_TOKEN = "__r"; - var CHECKBOX_RADIO_TOKEN = "__c"; + var RANGE_TOKEN = '__r'; + var CHECKBOX_RADIO_TOKEN = '__c'; - function model(el, dir, _warn) { + function model ( + el, + dir, + _warn + ) { warn$1 = _warn; var value = dir.value; var modifiers = dir.modifiers; @@ -7654,15 +7320,11 @@ { // inputs with type="file" are read only and setting the input's // value will throw an error. - if (tag === "input" && type === "file") { + if (tag === 'input' && type === 'file') { warn$1( - "<" + - el.tag + - ' v-model="' + - value + - '" type="file">:\n' + - "File inputs are read only. Use a v-on:change listener instead.", - el.rawAttrsMap["v-model"] + "<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" + + "File inputs are read only. Use a v-on:change listener instead.", + el.rawAttrsMap['v-model'] ); } } @@ -7670,135 +7332,110 @@ if (el.component) { genComponentModel(el, value, modifiers); // component v-model doesn't need extra runtime - return false; - } else if (tag === "select") { + return false + } else if (tag === 'select') { genSelect(el, value, modifiers); - } else if (tag === "input" && type === "checkbox") { + } else if (tag === 'input' && type === 'checkbox') { genCheckboxModel(el, value, modifiers); - } else if (tag === "input" && type === "radio") { + } else if (tag === 'input' && type === 'radio') { genRadioModel(el, value, modifiers); - } else if (tag === "input" || tag === "textarea") { + } else if (tag === 'input' || tag === 'textarea') { genDefaultModel(el, value, modifiers); } else if (!config.isReservedTag(tag)) { genComponentModel(el, value, modifiers); // component v-model doesn't need extra runtime - return false; + return false } else { warn$1( - "<" + - el.tag + - ' v-model="' + - value + - '">: ' + - "v-model is not supported on this element type. " + - "If you are working with contenteditable, it's recommended to " + - "wrap a library dedicated for that purpose inside a custom component.", - el.rawAttrsMap["v-model"] + "<" + (el.tag) + " v-model=\"" + value + "\">: " + + "v-model is not supported on this element type. " + + 'If you are working with contenteditable, it\'s recommended to ' + + 'wrap a library dedicated for that purpose inside a custom component.', + el.rawAttrsMap['v-model'] ); } // ensure runtime directive metadata - return true; + return true } - function genCheckboxModel(el, value, modifiers) { + function genCheckboxModel ( + el, + value, + modifiers + ) { var number = modifiers && modifiers.number; - var valueBinding = getBindingAttr(el, "value") || "null"; - var trueValueBinding = getBindingAttr(el, "true-value") || "true"; - var falseValueBinding = getBindingAttr(el, "false-value") || "false"; - addProp( - el, - "checked", - "Array.isArray(" + - value + - ")" + - "?_i(" + - value + - "," + - valueBinding + - ")>-1" + - (trueValueBinding === "true" - ? ":(" + value + ")" - : ":_q(" + value + "," + trueValueBinding + ")") + var valueBinding = getBindingAttr(el, 'value') || 'null'; + var trueValueBinding = getBindingAttr(el, 'true-value') || 'true'; + var falseValueBinding = getBindingAttr(el, 'false-value') || 'false'; + addProp(el, 'checked', + "Array.isArray(" + value + ")" + + "?_i(" + value + "," + valueBinding + ")>-1" + ( + trueValueBinding === 'true' + ? (":(" + value + ")") + : (":_q(" + value + "," + trueValueBinding + ")") + ) ); - addHandler( - el, - "change", - "var $$a=" + - value + - "," + - "$$el=$event.target," + - "$$c=$$el.checked?(" + - trueValueBinding + - "):(" + - falseValueBinding + - ");" + - "if(Array.isArray($$a)){" + - "var $$v=" + - (number ? "_n(" + valueBinding + ")" : valueBinding) + - "," + - "$$i=_i($$a,$$v);" + - "if($$el.checked){$$i<0&&(" + - genAssignmentCode(value, "$$a.concat([$$v])") + - ")}" + - "else{$$i>-1&&(" + - genAssignmentCode(value, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") + - ")}" + - "}else{" + - genAssignmentCode(value, "$$c") + - "}", - null, - true + addHandler(el, 'change', + "var $$a=" + value + "," + + '$$el=$event.target,' + + "$$c=$$el.checked?(" + trueValueBinding + "):(" + falseValueBinding + ");" + + 'if(Array.isArray($$a)){' + + "var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," + + '$$i=_i($$a,$$v);' + + "if($$el.checked){$$i<0&&(" + (genAssignmentCode(value, '$$a.concat([$$v])')) + ")}" + + "else{$$i>-1&&(" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + ")}" + + "}else{" + (genAssignmentCode(value, '$$c')) + "}", + null, true ); } - function genRadioModel(el, value, modifiers) { + function genRadioModel ( + el, + value, + modifiers + ) { var number = modifiers && modifiers.number; - var valueBinding = getBindingAttr(el, "value") || "null"; - valueBinding = number ? "_n(" + valueBinding + ")" : valueBinding; - addProp(el, "checked", "_q(" + value + "," + valueBinding + ")"); - addHandler( - el, - "change", - genAssignmentCode(value, valueBinding), - null, - true - ); + var valueBinding = getBindingAttr(el, 'value') || 'null'; + valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding; + addProp(el, 'checked', ("_q(" + value + "," + valueBinding + ")")); + addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true); } - function genSelect(el, value, modifiers) { + function genSelect ( + el, + value, + modifiers + ) { var number = modifiers && modifiers.number; - var selectedVal = - "Array.prototype.filter" + + var selectedVal = "Array.prototype.filter" + ".call($event.target.options,function(o){return o.selected})" + - '.map(function(o){var val = "_value" in o ? o._value : o.value;' + - "return " + - (number ? "_n(val)" : "val") + - "})"; + ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" + + "return " + (number ? '_n(val)' : 'val') + "})"; - var assignment = - "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"; + var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]'; var code = "var $$selectedVal = " + selectedVal + ";"; - code = code + " " + genAssignmentCode(value, assignment); - addHandler(el, "change", code, null, true); + code = code + " " + (genAssignmentCode(value, assignment)); + addHandler(el, 'change', code, null, true); } - function genDefaultModel(el, value, modifiers) { + function genDefaultModel ( + el, + value, + modifiers + ) { var type = el.attrsMap.type; // warn if v-bind:value conflicts with v-model // except for inputs with v-bind:type { - var value$1 = el.attrsMap["v-bind:value"] || el.attrsMap[":value"]; - var typeBinding = el.attrsMap["v-bind:type"] || el.attrsMap[":type"]; + var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value']; + var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type']; if (value$1 && !typeBinding) { - var binding = el.attrsMap["v-bind:value"] ? "v-bind:value" : ":value"; + var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'; warn$1( - binding + - '="' + - value$1 + - '" conflicts with v-model on the same element ' + - "because the latter already expands to a value binding internally", + binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " + + 'because the latter already expands to a value binding internally', el.rawAttrsMap[binding] ); } @@ -7808,10 +7445,14 @@ var lazy = ref.lazy; var number = ref.number; var trim = ref.trim; - var needCompositionGuard = !lazy && type !== "range"; - var event = lazy ? "change" : type === "range" ? RANGE_TOKEN : "input"; - - var valueExpression = "$event.target.value"; + var needCompositionGuard = !lazy && type !== 'range'; + var event = lazy + ? 'change' + : type === 'range' + ? RANGE_TOKEN + : 'input'; + + var valueExpression = '$event.target.value'; if (trim) { valueExpression = "$event.target.value.trim()"; } @@ -7824,10 +7465,10 @@ code = "if($event.target.composing)return;" + code; } - addProp(el, "value", "(" + value + ")"); + addProp(el, 'value', ("(" + value + ")")); addHandler(el, event, code, null, true); if (trim || number) { - addHandler(el, "blur", "$forceUpdate()"); + addHandler(el, 'blur', '$forceUpdate()'); } } @@ -7837,11 +7478,11 @@ // it's important to place the event as the first in the array because // the whole point is ensuring the v-model callback gets called before // user-attached handlers. - function normalizeEvents(on) { + function normalizeEvents (on) { /* istanbul ignore if */ if (isDef(on[RANGE_TOKEN])) { // IE input[type=range] only supports `change` event - var event = isIE ? "change" : "input"; + var event = isIE ? 'change' : 'input'; on[event] = [].concat(on[RANGE_TOKEN], on[event] || []); delete on[RANGE_TOKEN]; } @@ -7856,14 +7497,14 @@ var target$1; - function createOnceHandler$1(event, handler, capture) { + function createOnceHandler$1 (event, handler, capture) { var _target = target$1; // save current target element in closure - return function onceHandler() { + return function onceHandler () { var res = handler.apply(null, arguments); if (res !== null) { remove$2(event, onceHandler, capture, _target); } - }; + } } // #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp @@ -7871,7 +7512,12 @@ // safe to exclude. var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53); - function add$1(name, handler, capture, passive) { + function add$1 ( + name, + handler, + capture, + passive + ) { // async edge case #6566: inner click event triggers patch, event handler // attached to outer element during patch, and triggered again. This // happens because browsers fire microtask ticks between event propagation. @@ -7898,18 +7544,25 @@ // starting reference e.target.ownerDocument !== document ) { - return original.apply(this, arguments); + return original.apply(this, arguments) } }; } target$1.addEventListener( name, handler, - supportsPassive ? { capture: capture, passive: passive } : capture + supportsPassive + ? { capture: capture, passive: passive } + : capture ); } - function remove$2(name, handler, capture, _target) { + function remove$2 ( + name, + handler, + capture, + _target + ) { (_target || target$1).removeEventListener( name, handler._wrapper || handler, @@ -7917,37 +7570,30 @@ ); } - function updateDOMListeners(oldVnode, vnode) { + function updateDOMListeners (oldVnode, vnode) { if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) { - return; + return } var on = vnode.data.on || {}; var oldOn = oldVnode.data.on || {}; target$1 = vnode.elm; normalizeEvents(on); - updateListeners( - on, - oldOn, - add$1, - remove$2, - createOnceHandler$1, - vnode.context - ); + updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context); target$1 = undefined; } var events = { create: updateDOMListeners, - update: updateDOMListeners, + update: updateDOMListeners }; /* */ var svgContainer; - function updateDOMProps(oldVnode, vnode) { + function updateDOMProps (oldVnode, vnode) { if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) { - return; + return } var key, cur; var elm = vnode.elm; @@ -7960,7 +7606,7 @@ for (key in oldProps) { if (!(key in props)) { - elm[key] = ""; + elm[key] = ''; } } @@ -7969,13 +7615,9 @@ // ignore children if the node has textContent or innerHTML, // as these will throw away existing DOM nodes and cause removal errors // on subsequent patches (#3360) - if (key === "textContent" || key === "innerHTML") { - if (vnode.children) { - vnode.children.length = 0; - } - if (cur === oldProps[key]) { - continue; - } + if (key === 'textContent' || key === 'innerHTML') { + if (vnode.children) { vnode.children.length = 0; } + if (cur === oldProps[key]) { continue } // #6601 work around Chrome version <= 55 bug where single textNode // replaced by innerHTML/textContent retains its parentNode property if (elm.childNodes.length === 1) { @@ -7983,22 +7625,18 @@ } } - if (key === "value" && elm.tagName !== "PROGRESS") { + if (key === 'value' && elm.tagName !== 'PROGRESS') { // store value as _value as well since // non-string values will be stringified elm._value = cur; // avoid resetting cursor position when value is the same - var strCur = isUndef(cur) ? "" : String(cur); + var strCur = isUndef(cur) ? '' : String(cur); if (shouldUpdateValue(elm, strCur)) { elm.value = strCur; } - } else if ( - key === "innerHTML" && - isSVG(elm.tagName) && - isUndef(elm.innerHTML) - ) { + } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) { // IE doesn't support innerHTML for SVG elements - svgContainer = svgContainer || document.createElement("div"); + svgContainer = svgContainer || document.createElement('div'); svgContainer.innerHTML = "<svg>" + cur + "</svg>"; var svg = svgContainer.firstChild; while (elm.firstChild) { @@ -8025,44 +7663,42 @@ // check platforms/web/util/attrs.js acceptValue - function shouldUpdateValue(elm, checkVal) { - return ( - !elm.composing && - (elm.tagName === "OPTION" || - isNotInFocusAndDirty(elm, checkVal) || - isDirtyWithModifiers(elm, checkVal)) - ); + + function shouldUpdateValue (elm, checkVal) { + return (!elm.composing && ( + elm.tagName === 'OPTION' || + isNotInFocusAndDirty(elm, checkVal) || + isDirtyWithModifiers(elm, checkVal) + )) } - function isNotInFocusAndDirty(elm, checkVal) { + function isNotInFocusAndDirty (elm, checkVal) { // return true when textbox (.number and .trim) loses focus and its value is // not equal to the updated value var notInFocus = true; // #6157 // work around IE bug when accessing document.activeElement in an iframe - try { - notInFocus = document.activeElement !== elm; - } catch (e) {} - return notInFocus && elm.value !== checkVal; + try { notInFocus = document.activeElement !== elm; } catch (e) {} + return notInFocus && elm.value !== checkVal } - function isDirtyWithModifiers(elm, newVal) { + function isDirtyWithModifiers (elm, newVal) { var value = elm.value; var modifiers = elm._vModifiers; // injected by v-model runtime if (isDef(modifiers)) { if (modifiers.number) { - return toNumber(value) !== toNumber(newVal); + return toNumber(value) !== toNumber(newVal) } if (modifiers.trim) { - return value.trim() !== newVal.trim(); + return value.trim() !== newVal.trim() } } - return value !== newVal; + return value !== newVal } var domProps = { create: updateDOMProps, - update: updateDOMProps, + update: updateDOMProps }; /* */ @@ -8077,33 +7713,35 @@ tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); } }); - return res; + return res }); // merge static and dynamic style data on the same vnode - function normalizeStyleData(data) { + function normalizeStyleData (data) { var style = normalizeStyleBinding(data.style); // static style is pre-processed into an object during compilation // and is always a fresh object, so it's safe to merge into it - return data.staticStyle ? extend(data.staticStyle, style) : style; + return data.staticStyle + ? extend(data.staticStyle, style) + : style } // normalize possible array / string values into Object - function normalizeStyleBinding(bindingStyle) { + function normalizeStyleBinding (bindingStyle) { if (Array.isArray(bindingStyle)) { - return toObject(bindingStyle); + return toObject(bindingStyle) } - if (typeof bindingStyle === "string") { - return parseStyleText(bindingStyle); + if (typeof bindingStyle === 'string') { + return parseStyleText(bindingStyle) } - return bindingStyle; + return bindingStyle } /** * parent component style should be after child's * so that parent component's style could override it */ - function getStyle(vnode, checkChild) { + function getStyle (vnode, checkChild) { var res = {}; var styleData; @@ -8112,8 +7750,7 @@ while (childNode.componentInstance) { childNode = childNode.componentInstance._vnode; if ( - childNode && - childNode.data && + childNode && childNode.data && (styleData = normalizeStyleData(childNode.data)) ) { extend(res, styleData); @@ -8127,14 +7764,11 @@ var parentNode = vnode; while ((parentNode = parentNode.parent)) { - if ( - parentNode.data && - (styleData = normalizeStyleData(parentNode.data)) - ) { + if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) { extend(res, styleData); } } - return res; + return res } /* */ @@ -8146,11 +7780,7 @@ if (cssVarRE.test(name)) { el.style.setProperty(name, val); } else if (importantRE.test(val)) { - el.style.setProperty( - hyphenate(name), - val.replace(importantRE, ""), - "important" - ); + el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important'); } else { var normalizedName = normalize(name); if (Array.isArray(val)) { @@ -8166,35 +7796,32 @@ } }; - var vendorNames = ["Webkit", "Moz", "ms"]; + var vendorNames = ['Webkit', 'Moz', 'ms']; var emptyStyle; var normalize = cached(function (prop) { - emptyStyle = emptyStyle || document.createElement("div").style; + emptyStyle = emptyStyle || document.createElement('div').style; prop = camelize(prop); - if (prop !== "filter" && prop in emptyStyle) { - return prop; + if (prop !== 'filter' && (prop in emptyStyle)) { + return prop } var capName = prop.charAt(0).toUpperCase() + prop.slice(1); for (var i = 0; i < vendorNames.length; i++) { var name = vendorNames[i] + capName; if (name in emptyStyle) { - return name; + return name } } }); - function updateStyle(oldVnode, vnode) { + function updateStyle (oldVnode, vnode) { var data = vnode.data; var oldData = oldVnode.data; - if ( - isUndef(data.staticStyle) && - isUndef(data.style) && - isUndef(oldData.staticStyle) && - isUndef(oldData.style) + if (isUndef(data.staticStyle) && isUndef(data.style) && + isUndef(oldData.staticStyle) && isUndef(oldData.style) ) { - return; + return } var cur, name; @@ -8218,21 +7845,21 @@ for (name in oldStyle) { if (isUndef(newStyle[name])) { - setProp(el, name, ""); + setProp(el, name, ''); } } for (name in newStyle) { cur = newStyle[name]; if (cur !== oldStyle[name]) { // ie9 setting to null has no effect, must use empty string - setProp(el, name, cur == null ? "" : cur); + setProp(el, name, cur == null ? '' : cur); } } } var style = { create: updateStyle, - update: updateStyle, + update: updateStyle }; /* */ @@ -8243,25 +7870,23 @@ * Add class with compatibility for SVG since classList is not supported on * SVG elements in IE */ - function addClass(el, cls) { + function addClass (el, cls) { /* istanbul ignore if */ if (!cls || !(cls = cls.trim())) { - return; + return } /* istanbul ignore else */ if (el.classList) { - if (cls.indexOf(" ") > -1) { - cls.split(whitespaceRE).forEach(function (c) { - return el.classList.add(c); - }); + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); }); } else { el.classList.add(cls); } } else { - var cur = " " + (el.getAttribute("class") || "") + " "; - if (cur.indexOf(" " + cls + " ") < 0) { - el.setAttribute("class", (cur + cls).trim()); + var cur = " " + (el.getAttribute('class') || '') + " "; + if (cur.indexOf(' ' + cls + ' ') < 0) { + el.setAttribute('class', (cur + cls).trim()); } } } @@ -8270,93 +7895,89 @@ * Remove class with compatibility for SVG since classList is not supported on * SVG elements in IE */ - function removeClass(el, cls) { + function removeClass (el, cls) { /* istanbul ignore if */ if (!cls || !(cls = cls.trim())) { - return; + return } /* istanbul ignore else */ if (el.classList) { - if (cls.indexOf(" ") > -1) { - cls.split(whitespaceRE).forEach(function (c) { - return el.classList.remove(c); - }); + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); }); } else { el.classList.remove(cls); } if (!el.classList.length) { - el.removeAttribute("class"); + el.removeAttribute('class'); } } else { - var cur = " " + (el.getAttribute("class") || "") + " "; - var tar = " " + cls + " "; + var cur = " " + (el.getAttribute('class') || '') + " "; + var tar = ' ' + cls + ' '; while (cur.indexOf(tar) >= 0) { - cur = cur.replace(tar, " "); + cur = cur.replace(tar, ' '); } cur = cur.trim(); if (cur) { - el.setAttribute("class", cur); + el.setAttribute('class', cur); } else { - el.removeAttribute("class"); + el.removeAttribute('class'); } } } /* */ - function resolveTransition(def$$1) { + function resolveTransition (def$$1) { if (!def$$1) { - return; + return } /* istanbul ignore else */ - if (typeof def$$1 === "object") { + if (typeof def$$1 === 'object') { var res = {}; if (def$$1.css !== false) { - extend(res, autoCssTransition(def$$1.name || "v")); + extend(res, autoCssTransition(def$$1.name || 'v')); } extend(res, def$$1); - return res; - } else if (typeof def$$1 === "string") { - return autoCssTransition(def$$1); + return res + } else if (typeof def$$1 === 'string') { + return autoCssTransition(def$$1) } } var autoCssTransition = cached(function (name) { return { - enterClass: name + "-enter", - enterToClass: name + "-enter-to", - enterActiveClass: name + "-enter-active", - leaveClass: name + "-leave", - leaveToClass: name + "-leave-to", - leaveActiveClass: name + "-leave-active", - }; + enterClass: (name + "-enter"), + enterToClass: (name + "-enter-to"), + enterActiveClass: (name + "-enter-active"), + leaveClass: (name + "-leave"), + leaveToClass: (name + "-leave-to"), + leaveActiveClass: (name + "-leave-active") + } }); var hasTransition = inBrowser && !isIE9; - var TRANSITION = "transition"; - var ANIMATION = "animation"; + var TRANSITION = 'transition'; + var ANIMATION = 'animation'; // Transition property/event sniffing - var transitionProp = "transition"; - var transitionEndEvent = "transitionend"; - var animationProp = "animation"; - var animationEndEvent = "animationend"; + var transitionProp = 'transition'; + var transitionEndEvent = 'transitionend'; + var animationProp = 'animation'; + var animationEndEvent = 'animationend'; if (hasTransition) { /* istanbul ignore if */ - if ( - window.ontransitionend === undefined && + if (window.ontransitionend === undefined && window.onwebkittransitionend !== undefined ) { - transitionProp = "WebkitTransition"; - transitionEndEvent = "webkitTransitionEnd"; + transitionProp = 'WebkitTransition'; + transitionEndEvent = 'webkitTransitionEnd'; } - if ( - window.onanimationend === undefined && + if (window.onanimationend === undefined && window.onwebkitanimationend !== undefined ) { - animationProp = "WebkitAnimation"; - animationEndEvent = "webkitAnimationEnd"; + animationProp = 'WebkitAnimation'; + animationEndEvent = 'webkitAnimationEnd'; } } @@ -8365,40 +7986,39 @@ ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout - : /* istanbul ignore next */ function (fn) { - return fn(); - }; + : /* istanbul ignore next */ function (fn) { return fn(); }; - function nextFrame(fn) { + function nextFrame (fn) { raf(function () { raf(fn); }); } - function addTransitionClass(el, cls) { - var transitionClasses = - el._transitionClasses || (el._transitionClasses = []); + function addTransitionClass (el, cls) { + var transitionClasses = el._transitionClasses || (el._transitionClasses = []); if (transitionClasses.indexOf(cls) < 0) { transitionClasses.push(cls); addClass(el, cls); } } - function removeTransitionClass(el, cls) { + function removeTransitionClass (el, cls) { if (el._transitionClasses) { remove(el._transitionClasses, cls); } removeClass(el, cls); } - function whenTransitionEnds(el, expectedType, cb) { + function whenTransitionEnds ( + el, + expectedType, + cb + ) { var ref = getTransitionInfo(el, expectedType); var type = ref.type; var timeout = ref.timeout; var propCount = ref.propCount; - if (!type) { - return cb(); - } + if (!type) { return cb() } var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; var ended = 0; var end = function () { @@ -8422,18 +8042,14 @@ var transformRE = /\b(transform|all)(,|$)/; - function getTransitionInfo(el, expectedType) { + function getTransitionInfo (el, expectedType) { var styles = window.getComputedStyle(el); // JSDOM may return undefined for transition properties - var transitionDelays = (styles[transitionProp + "Delay"] || "").split(", "); - var transitionDurations = (styles[transitionProp + "Duration"] || "").split( - ", " - ); + var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', '); + var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', '); var transitionTimeout = getTimeout(transitionDelays, transitionDurations); - var animationDelays = (styles[animationProp + "Delay"] || "").split(", "); - var animationDurations = (styles[animationProp + "Duration"] || "").split( - ", " - ); + var animationDelays = (styles[animationProp + 'Delay'] || '').split(', '); + var animationDurations = (styles[animationProp + 'Duration'] || '').split(', '); var animationTimeout = getTimeout(animationDelays, animationDurations); var type; @@ -8454,12 +8070,11 @@ } } else { timeout = Math.max(transitionTimeout, animationTimeout); - type = - timeout > 0 - ? transitionTimeout > animationTimeout - ? TRANSITION - : ANIMATION - : null; + type = timeout > 0 + ? transitionTimeout > animationTimeout + ? TRANSITION + : ANIMATION + : null; propCount = type ? type === TRANSITION ? transitionDurations.length @@ -8468,40 +8083,37 @@ } var hasTransform = type === TRANSITION && - transformRE.test(styles[transitionProp + "Property"]); + transformRE.test(styles[transitionProp + 'Property']); return { type: type, timeout: timeout, propCount: propCount, - hasTransform: hasTransform, - }; + hasTransform: hasTransform + } } - function getTimeout(delays, durations) { + function getTimeout (delays, durations) { /* istanbul ignore next */ while (delays.length < durations.length) { delays = delays.concat(delays); } - return Math.max.apply( - null, - durations.map(function (d, i) { - return toMs(d) + toMs(delays[i]); - }) - ); + return Math.max.apply(null, durations.map(function (d, i) { + return toMs(d) + toMs(delays[i]) + })) } // Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers // in a locale-dependent way, using a comma instead of a dot. // If comma is not replaced with a dot, the input will be rounded down (i.e. acting // as a floor function) causing unexpected behaviors - function toMs(s) { - return Number(s.slice(0, -1).replace(",", ".")) * 1000; + function toMs (s) { + return Number(s.slice(0, -1).replace(',', '.')) * 1000 } /* */ - function enter(vnode, toggleDisplay) { + function enter (vnode, toggleDisplay) { var el = vnode.elm; // call leave callback now @@ -8512,12 +8124,12 @@ var data = resolveTransition(vnode.data.transition); if (isUndef(data)) { - return; + return } /* istanbul ignore if */ if (isDef(el._enterCb) || el.nodeType !== 1) { - return; + return } var css = data.css; @@ -8551,38 +8163,47 @@ var isAppear = !context._isMounted || !vnode.isRootInsert; - if (isAppear && !appear && appear !== "") { - return; + if (isAppear && !appear && appear !== '') { + return } - var startClass = isAppear && appearClass ? appearClass : enterClass; - var activeClass = - isAppear && appearActiveClass ? appearActiveClass : enterActiveClass; - var toClass = isAppear && appearToClass ? appearToClass : enterToClass; + var startClass = isAppear && appearClass + ? appearClass + : enterClass; + var activeClass = isAppear && appearActiveClass + ? appearActiveClass + : enterActiveClass; + var toClass = isAppear && appearToClass + ? appearToClass + : enterToClass; - var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter; + var beforeEnterHook = isAppear + ? (beforeAppear || beforeEnter) + : beforeEnter; var enterHook = isAppear - ? typeof appear === "function" - ? appear - : enter + ? (typeof appear === 'function' ? appear : enter) : enter; - var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter; + var afterEnterHook = isAppear + ? (afterAppear || afterEnter) + : afterEnter; var enterCancelledHook = isAppear - ? appearCancelled || enterCancelled + ? (appearCancelled || enterCancelled) : enterCancelled; var explicitEnterDuration = toNumber( - isObject(duration) ? duration.enter : duration + isObject(duration) + ? duration.enter + : duration ); if (explicitEnterDuration != null) { - checkDuration(explicitEnterDuration, "enter", vnode); + checkDuration(explicitEnterDuration, 'enter', vnode); } var expectsCSS = css !== false && !isIE9; var userWantsControl = getHookArgumentsLength(enterHook); - var cb = (el._enterCb = once(function () { + var cb = el._enterCb = once(function () { if (expectsCSS) { removeTransitionClass(el, toClass); removeTransitionClass(el, activeClass); @@ -8596,16 +8217,14 @@ afterEnterHook && afterEnterHook(el); } el._enterCb = null; - })); + }); if (!vnode.data.show) { // remove pending leave element on enter by injecting an insert hook - mergeVNodeHook(vnode, "insert", function () { + mergeVNodeHook(vnode, 'insert', function () { var parent = el.parentNode; - var pendingNode = - parent && parent._pending && parent._pending[vnode.key]; - if ( - pendingNode && + var pendingNode = parent && parent._pending && parent._pending[vnode.key]; + if (pendingNode && pendingNode.tag === vnode.tag && pendingNode.elm._leaveCb ) { @@ -8645,7 +8264,7 @@ } } - function leave(vnode, rm) { + function leave (vnode, rm) { var el = vnode.elm; // call enter callback now @@ -8656,12 +8275,12 @@ var data = resolveTransition(vnode.data.transition); if (isUndef(data) || el.nodeType !== 1) { - return rm(); + return rm() } /* istanbul ignore if */ if (isDef(el._leaveCb)) { - return; + return } var css = data.css; @@ -8680,14 +8299,16 @@ var userWantsControl = getHookArgumentsLength(leave); var explicitLeaveDuration = toNumber( - isObject(duration) ? duration.leave : duration + isObject(duration) + ? duration.leave + : duration ); if (isDef(explicitLeaveDuration)) { - checkDuration(explicitLeaveDuration, "leave", vnode); + checkDuration(explicitLeaveDuration, 'leave', vnode); } - var cb = (el._leaveCb = once(function () { + var cb = el._leaveCb = once(function () { if (el.parentNode && el.parentNode._pending) { el.parentNode._pending[vnode.key] = null; } @@ -8705,7 +8326,7 @@ afterLeave && afterLeave(el); } el._leaveCb = null; - })); + }); if (delayLeave) { delayLeave(performLeave); @@ -8713,15 +8334,14 @@ performLeave(); } - function performLeave() { + function performLeave () { // the delayed leave may have already been cancelled if (cb.cancelled) { - return; + return } // record leaving element if (!vnode.data.show && el.parentNode) { - (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = - vnode; + (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode; } beforeLeave && beforeLeave(el); if (expectsCSS) { @@ -8749,30 +8369,24 @@ } // only used in dev mode - function checkDuration(val, name, vnode) { - if (typeof val !== "number") { + function checkDuration (val, name, vnode) { + if (typeof val !== 'number') { warn( - "<transition> explicit " + - name + - " duration is not a valid number - " + - "got " + - JSON.stringify(val) + - ".", + "<transition> explicit " + name + " duration is not a valid number - " + + "got " + (JSON.stringify(val)) + ".", vnode.context ); } else if (isNaN(val)) { warn( - "<transition> explicit " + - name + - " duration is NaN - " + - "the duration expression might be incorrect.", + "<transition> explicit " + name + " duration is NaN - " + + 'the duration expression might be incorrect.', vnode.context ); } } - function isValidDuration(val) { - return typeof val === "number" && !isNaN(val); + function isValidDuration (val) { + return typeof val === 'number' && !isNaN(val) } /** @@ -8781,43 +8395,50 @@ * - a wrapped component method (check ._length) * - a plain function (.length) */ - function getHookArgumentsLength(fn) { + function getHookArgumentsLength (fn) { if (isUndef(fn)) { - return false; + return false } var invokerFns = fn.fns; if (isDef(invokerFns)) { // invoker return getHookArgumentsLength( - Array.isArray(invokerFns) ? invokerFns[0] : invokerFns - ); + Array.isArray(invokerFns) + ? invokerFns[0] + : invokerFns + ) } else { - return (fn._length || fn.length) > 1; + return (fn._length || fn.length) > 1 } } - function _enter(_, vnode) { + function _enter (_, vnode) { if (vnode.data.show !== true) { enter(vnode); } } - var transition = inBrowser - ? { - create: _enter, - activate: _enter, - remove: function remove$$1(vnode, rm) { - /* istanbul ignore else */ - if (vnode.data.show !== true) { - leave(vnode, rm); - } else { - rm(); - } - }, + var transition = inBrowser ? { + create: _enter, + activate: _enter, + remove: function remove$$1 (vnode, rm) { + /* istanbul ignore else */ + if (vnode.data.show !== true) { + leave(vnode, rm); + } else { + rm(); } - : {}; + } + } : {}; - var platformModules = [attrs, klass, events, domProps, style, transition]; + var platformModules = [ + attrs, + klass, + events, + domProps, + style, + transition + ]; /* */ @@ -8835,36 +8456,36 @@ /* istanbul ignore if */ if (isIE9) { // http://www.matts411.com/post/internet-explorer-9-oninput/ - document.addEventListener("selectionchange", function () { + document.addEventListener('selectionchange', function () { var el = document.activeElement; if (el && el.vmodel) { - trigger(el, "input"); + trigger(el, 'input'); } }); } var directive = { - inserted: function inserted(el, binding, vnode, oldVnode) { - if (vnode.tag === "select") { + inserted: function inserted (el, binding, vnode, oldVnode) { + if (vnode.tag === 'select') { // #6903 if (oldVnode.elm && !oldVnode.elm._vOptions) { - mergeVNodeHook(vnode, "postpatch", function () { + mergeVNodeHook(vnode, 'postpatch', function () { directive.componentUpdated(el, binding, vnode); }); } else { setSelected(el, binding, vnode.context); } el._vOptions = [].map.call(el.options, getValue); - } else if (vnode.tag === "textarea" || isTextInputType(el.type)) { + } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) { el._vModifiers = binding.modifiers; if (!binding.modifiers.lazy) { - el.addEventListener("compositionstart", onCompositionStart); - el.addEventListener("compositionend", onCompositionEnd); + el.addEventListener('compositionstart', onCompositionStart); + el.addEventListener('compositionend', onCompositionEnd); // Safari < 10.2 & UIWebView doesn't fire compositionend when // switching focus before confirming composition choice // this also fixes the issue where some browsers e.g. iOS Chrome // fires "change" instead of "input" on autocomplete. - el.addEventListener("change", onCompositionEnd); + el.addEventListener('change', onCompositionEnd); /* istanbul ignore if */ if (isIE9) { el.vmodel = true; @@ -8873,37 +8494,30 @@ } }, - componentUpdated: function componentUpdated(el, binding, vnode) { - if (vnode.tag === "select") { + componentUpdated: function componentUpdated (el, binding, vnode) { + if (vnode.tag === 'select') { setSelected(el, binding, vnode.context); // in case the options rendered by v-for have changed, // it's possible that the value is out-of-sync with the rendered options. // detect such cases and filter out values that no longer has a matching // option in the DOM. var prevOptions = el._vOptions; - var curOptions = (el._vOptions = [].map.call(el.options, getValue)); - if ( - curOptions.some(function (o, i) { - return !looseEqual(o, prevOptions[i]); - }) - ) { + var curOptions = el._vOptions = [].map.call(el.options, getValue); + if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) { // trigger change event if // no matching option found for at least one value var needReset = el.multiple - ? binding.value.some(function (v) { - return hasNoMatchingOption(v, curOptions); - }) - : binding.value !== binding.oldValue && - hasNoMatchingOption(binding.value, curOptions); + ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); }) + : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions); if (needReset) { - trigger(el, "change"); + trigger(el, 'change'); } } } - }, + } }; - function setSelected(el, binding, vm) { + function setSelected (el, binding, vm) { actuallySetSelected(el, binding, vm); /* istanbul ignore if */ if (isIE || isEdge) { @@ -8913,19 +8527,16 @@ } } - function actuallySetSelected(el, binding, vm) { + function actuallySetSelected (el, binding, vm) { var value = binding.value; var isMultiple = el.multiple; if (isMultiple && !Array.isArray(value)) { warn( - '<select multiple v-model="' + - binding.expression + - '"> ' + - "expects an Array value for its binding, but got " + - Object.prototype.toString.call(value).slice(8, -1), + "<select multiple v-model=\"" + (binding.expression) + "\"> " + + "expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)), vm ); - return; + return } var selected, option; for (var i = 0, l = el.options.length; i < l; i++) { @@ -8940,7 +8551,7 @@ if (el.selectedIndex !== i) { el.selectedIndex = i; } - return; + return } } } @@ -8949,31 +8560,29 @@ } } - function hasNoMatchingOption(value, options) { - return options.every(function (o) { - return !looseEqual(o, value); - }); + function hasNoMatchingOption (value, options) { + return options.every(function (o) { return !looseEqual(o, value); }) } - function getValue(option) { - return "_value" in option ? option._value : option.value; + function getValue (option) { + return '_value' in option + ? option._value + : option.value } - function onCompositionStart(e) { + function onCompositionStart (e) { e.target.composing = true; } - function onCompositionEnd(e) { + function onCompositionEnd (e) { // prevent triggering an input event for no reason - if (!e.target.composing) { - return; - } + if (!e.target.composing) { return } e.target.composing = false; - trigger(e.target, "input"); + trigger(e.target, 'input'); } - function trigger(el, type) { - var e = document.createEvent("HTMLEvents"); + function trigger (el, type) { + var e = document.createEvent('HTMLEvents'); e.initEvent(type, true, true); el.dispatchEvent(e); } @@ -8981,38 +8590,36 @@ /* */ // recursively search for possible transition defined inside the component root - function locateNode(vnode) { + function locateNode (vnode) { return vnode.componentInstance && (!vnode.data || !vnode.data.transition) ? locateNode(vnode.componentInstance._vnode) - : vnode; + : vnode } var show = { - bind: function bind(el, ref, vnode) { + bind: function bind (el, ref, vnode) { var value = ref.value; vnode = locateNode(vnode); var transition$$1 = vnode.data && vnode.data.transition; - var originalDisplay = (el.__vOriginalDisplay = - el.style.display === "none" ? "" : el.style.display); + var originalDisplay = el.__vOriginalDisplay = + el.style.display === 'none' ? '' : el.style.display; if (value && transition$$1) { vnode.data.show = true; enter(vnode, function () { el.style.display = originalDisplay; }); } else { - el.style.display = value ? originalDisplay : "none"; + el.style.display = value ? originalDisplay : 'none'; } }, - update: function update(el, ref, vnode) { + update: function update (el, ref, vnode) { var value = ref.value; var oldValue = ref.oldValue; /* istanbul ignore if */ - if (!value === !oldValue) { - return; - } + if (!value === !oldValue) { return } vnode = locateNode(vnode); var transition$$1 = vnode.data && vnode.data.transition; if (transition$$1) { @@ -9023,24 +8630,30 @@ }); } else { leave(vnode, function () { - el.style.display = "none"; + el.style.display = 'none'; }); } } else { - el.style.display = value ? el.__vOriginalDisplay : "none"; + el.style.display = value ? el.__vOriginalDisplay : 'none'; } }, - unbind: function unbind(el, binding, vnode, oldVnode, isDestroy) { + unbind: function unbind ( + el, + binding, + vnode, + oldVnode, + isDestroy + ) { if (!isDestroy) { el.style.display = el.__vOriginalDisplay; } - }, + } }; var platformDirectives = { model: directive, - show: show, + show: show }; /* */ @@ -9060,21 +8673,21 @@ appearClass: String, appearActiveClass: String, appearToClass: String, - duration: [Number, String, Object], + duration: [Number, String, Object] }; // in case the child is also an abstract component, e.g. <keep-alive> // we want to recursively retrieve the real component to be rendered - function getRealChild(vnode) { + function getRealChild (vnode) { var compOptions = vnode && vnode.componentOptions; if (compOptions && compOptions.Ctor.options.abstract) { - return getRealChild(getFirstComponentChild(compOptions.children)); + return getRealChild(getFirstComponentChild(compOptions.children)) } else { - return vnode; + return vnode } } - function extractTransitionData(comp) { + function extractTransitionData (comp) { var data = {}; var options = comp.$options; // props @@ -9087,62 +8700,58 @@ for (var key$1 in listeners) { data[camelize(key$1)] = listeners[key$1]; } - return data; + return data } - function placeholder(h, rawChild) { + function placeholder (h, rawChild) { if (/\d-keep-alive$/.test(rawChild.tag)) { - return h("keep-alive", { - props: rawChild.componentOptions.propsData, - }); + return h('keep-alive', { + props: rawChild.componentOptions.propsData + }) } } - function hasParentTransition(vnode) { + function hasParentTransition (vnode) { while ((vnode = vnode.parent)) { if (vnode.data.transition) { - return true; + return true } } } - function isSameChild(child, oldChild) { - return oldChild.key === child.key && oldChild.tag === child.tag; + function isSameChild (child, oldChild) { + return oldChild.key === child.key && oldChild.tag === child.tag } - var isNotTextNode = function (c) { - return c.tag || isAsyncPlaceholder(c); - }; + var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); }; - var isVShowDirective = function (d) { - return d.name === "show"; - }; + var isVShowDirective = function (d) { return d.name === 'show'; }; var Transition = { - name: "transition", + name: 'transition', props: transitionProps, abstract: true, - render: function render(h) { + render: function render (h) { var this$1 = this; var children = this.$slots.default; if (!children) { - return; + return } // filter out text nodes (possible whitespaces) children = children.filter(isNotTextNode); /* istanbul ignore if */ if (!children.length) { - return; + return } // warn multiple elements if (children.length > 1) { warn( - "<transition> can only be used on a single element. Use " + - "<transition-group> for lists.", + '<transition> can only be used on a single element. Use ' + + '<transition-group> for lists.', this.$parent ); } @@ -9150,8 +8759,12 @@ var mode = this.mode; // warn invalid mode - if (mode && mode !== "in-out" && mode !== "out-in") { - warn("invalid <transition> mode: " + mode, this.$parent); + if (mode && mode !== 'in-out' && mode !== 'out-in' + ) { + warn( + 'invalid <transition> mode: ' + mode, + this.$parent + ); } var rawChild = children[0]; @@ -9159,7 +8772,7 @@ // if this is a component root node and the component's // parent container node also has transition, skip. if (hasParentTransition(this.$vnode)) { - return rawChild; + return rawChild } // apply transition data to child @@ -9167,39 +8780,32 @@ var child = getRealChild(rawChild); /* istanbul ignore if */ if (!child) { - return rawChild; + return rawChild } if (this._leaving) { - return placeholder(h, rawChild); + return placeholder(h, rawChild) } // ensure a key that is unique to the vnode type and to this transition // component instance. This key will be used to remove pending leaving nodes // during entering. - var id = "__transition-" + this._uid + "-"; - child.key = - child.key == null - ? child.isComment - ? id + "comment" - : id + child.tag - : isPrimitive(child.key) - ? String(child.key).indexOf(id) === 0 - ? child.key - : id + child.key + var id = "__transition-" + (this._uid) + "-"; + child.key = child.key == null + ? child.isComment + ? id + 'comment' + : id + child.tag + : isPrimitive(child.key) + ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key) : child.key; - var data = ((child.data || (child.data = {})).transition = - extractTransitionData(this)); + var data = (child.data || (child.data = {})).transition = extractTransitionData(this); var oldRawChild = this._vnode; var oldChild = getRealChild(oldRawChild); // mark v-show // so that the transition module can hand over the control to the directive - if ( - child.data.directives && - child.data.directives.some(isVShowDirective) - ) { + if (child.data.directives && child.data.directives.some(isVShowDirective)) { child.data.show = true; } @@ -9209,59 +8815,49 @@ !isSameChild(child, oldChild) && !isAsyncPlaceholder(oldChild) && // #6687 component root is a comment node - !( - oldChild.componentInstance && - oldChild.componentInstance._vnode.isComment - ) + !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment) ) { // replace old child transition data with fresh one // important for dynamic transitions! - var oldData = (oldChild.data.transition = extend({}, data)); + var oldData = oldChild.data.transition = extend({}, data); // handle transition mode - if (mode === "out-in") { + if (mode === 'out-in') { // return placeholder node and queue update when leave finishes this._leaving = true; - mergeVNodeHook(oldData, "afterLeave", function () { + mergeVNodeHook(oldData, 'afterLeave', function () { this$1._leaving = false; this$1.$forceUpdate(); }); - return placeholder(h, rawChild); - } else if (mode === "in-out") { + return placeholder(h, rawChild) + } else if (mode === 'in-out') { if (isAsyncPlaceholder(child)) { - return oldRawChild; + return oldRawChild } var delayedLeave; - var performLeave = function () { - delayedLeave(); - }; - mergeVNodeHook(data, "afterEnter", performLeave); - mergeVNodeHook(data, "enterCancelled", performLeave); - mergeVNodeHook(oldData, "delayLeave", function (leave) { - delayedLeave = leave; - }); + var performLeave = function () { delayedLeave(); }; + mergeVNodeHook(data, 'afterEnter', performLeave); + mergeVNodeHook(data, 'enterCancelled', performLeave); + mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; }); } } - return rawChild; - }, + return rawChild + } }; /* */ - var props = extend( - { - tag: String, - moveClass: String, - }, - transitionProps - ); + var props = extend({ + tag: String, + moveClass: String + }, transitionProps); delete props.mode; var TransitionGroup = { props: props, - beforeMount: function beforeMount() { + beforeMount: function beforeMount () { var this$1 = this; var update = this._update; @@ -9280,25 +8876,25 @@ }; }, - render: function render(h) { - var tag = this.tag || this.$vnode.data.tag || "span"; + render: function render (h) { + var tag = this.tag || this.$vnode.data.tag || 'span'; var map = Object.create(null); - var prevChildren = (this.prevChildren = this.children); + var prevChildren = this.prevChildren = this.children; var rawChildren = this.$slots.default || []; - var children = (this.children = []); + var children = this.children = []; var transitionData = extractTransitionData(this); for (var i = 0; i < rawChildren.length; i++) { var c = rawChildren[i]; if (c.tag) { - if (c.key != null && String(c.key).indexOf("__vlist") !== 0) { + if (c.key != null && String(c.key).indexOf('__vlist') !== 0) { children.push(c); - map[c.key] = c; - (c.data || (c.data = {})).transition = transitionData; + map[c.key] = c + ;(c.data || (c.data = {})).transition = transitionData; } else { var opts = c.componentOptions; - var name = opts ? opts.Ctor.options.name || opts.tag || "" : c.tag; - warn("<transition-group> children must be keyed: <" + name + ">"); + var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag; + warn(("<transition-group> children must be keyed: <" + name + ">")); } } } @@ -9320,14 +8916,14 @@ this.removed = removed; } - return h(tag, null, children); + return h(tag, null, children) }, - updated: function updated() { + updated: function updated () { var children = this.prevChildren; - var moveClass = this.moveClass || (this.name || "v") + "-move"; + var moveClass = this.moveClass || ((this.name || 'v') + '-move'); if (!children.length || !this.hasMove(children[0].elm, moveClass)) { - return; + return } // we divide the work into three loops to avoid mixing DOM reads and writes @@ -9346,33 +8942,30 @@ var el = c.elm; var s = el.style; addTransitionClass(el, moveClass); - s.transform = s.WebkitTransform = s.transitionDuration = ""; - el.addEventListener( - transitionEndEvent, - (el._moveCb = function cb(e) { - if (e && e.target !== el) { - return; - } - if (!e || /transform$/.test(e.propertyName)) { - el.removeEventListener(transitionEndEvent, cb); - el._moveCb = null; - removeTransitionClass(el, moveClass); - } - }) - ); + s.transform = s.WebkitTransform = s.transitionDuration = ''; + el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) { + if (e && e.target !== el) { + return + } + if (!e || /transform$/.test(e.propertyName)) { + el.removeEventListener(transitionEndEvent, cb); + el._moveCb = null; + removeTransitionClass(el, moveClass); + } + }); } }); }, methods: { - hasMove: function hasMove(el, moveClass) { + hasMove: function hasMove (el, moveClass) { /* istanbul ignore if */ if (!hasTransition) { - return false; + return false } /* istanbul ignore if */ if (this._hasMove) { - return this._hasMove; + return this._hasMove } // Detect whether an element with the move class applied has // CSS transitions. Since the element may be inside an entering @@ -9381,21 +8974,19 @@ // is applied. var clone = el.cloneNode(); if (el._transitionClasses) { - el._transitionClasses.forEach(function (cls) { - removeClass(clone, cls); - }); + el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); }); } addClass(clone, moveClass); - clone.style.display = "none"; + clone.style.display = 'none'; this.$el.appendChild(clone); var info = getTransitionInfo(clone); this.$el.removeChild(clone); - return (this._hasMove = info.hasTransform); - }, - }, + return (this._hasMove = info.hasTransform) + } + } }; - function callPendingCbs(c) { + function callPendingCbs (c) { /* istanbul ignore if */ if (c.elm._moveCb) { c.elm._moveCb(); @@ -9406,11 +8997,11 @@ } } - function recordPosition(c) { + function recordPosition (c) { c.data.newPos = c.elm.getBoundingClientRect(); } - function applyTranslation(c) { + function applyTranslation (c) { var oldPos = c.data.pos; var newPos = c.data.newPos; var dx = oldPos.left - newPos.left; @@ -9419,13 +9010,13 @@ c.data.moved = true; var s = c.elm.style; s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)"; - s.transitionDuration = "0s"; + s.transitionDuration = '0s'; } } var platformComponents = { Transition: Transition, - TransitionGroup: TransitionGroup, + TransitionGroup: TransitionGroup }; /* */ @@ -9445,9 +9036,12 @@ Vue.prototype.__patch__ = inBrowser ? patch : noop; // public mount method - Vue.prototype.$mount = function (el, hydrating) { + Vue.prototype.$mount = function ( + el, + hydrating + ) { el = el && inBrowser ? query(el) : undefined; - return mountComponent(this, el, hydrating); + return mountComponent(this, el, hydrating) }; // devtools global hook @@ -9456,19 +9050,21 @@ setTimeout(function () { if (config.devtools) { if (devtools) { - devtools.emit("init", Vue); + devtools.emit('init', Vue); } else { - console[console.info ? "info" : "log"]( - "Download the Vue Devtools extension for a better development experience:\n" + - "https://github.com/vuejs/vue-devtools" + console[console.info ? 'info' : 'log']( + 'Download the Vue Devtools extension for a better development experience:\n' + + 'https://github.com/vuejs/vue-devtools' ); } } - if (config.productionTip !== false && typeof console !== "undefined") { - console[console.info ? "info" : "log"]( + if (config.productionTip !== false && + typeof console !== 'undefined' + ) { + console[console.info ? 'info' : 'log']( "You are running Vue in development mode.\n" + - "Make sure to turn on production mode when deploying for production.\n" + - "See more tips at https://vuejs.org/guide/deployment.html" + "Make sure to turn on production mode when deploying for production.\n" + + "See more tips at https://vuejs.org/guide/deployment.html" ); } }, 0); @@ -9480,133 +9076,134 @@ var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g; var buildRegex = cached(function (delimiters) { - var open = delimiters[0].replace(regexEscapeRE, "\\$&"); - var close = delimiters[1].replace(regexEscapeRE, "\\$&"); - return new RegExp(open + "((?:.|\\n)+?)" + close, "g"); + var open = delimiters[0].replace(regexEscapeRE, '\\$&'); + var close = delimiters[1].replace(regexEscapeRE, '\\$&'); + return new RegExp(open + '((?:.|\\n)+?)' + close, 'g') }); - function parseText(text, delimiters) { + + + function parseText ( + text, + delimiters + ) { var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE; if (!tagRE.test(text)) { - return; + return } var tokens = []; var rawTokens = []; - var lastIndex = (tagRE.lastIndex = 0); + var lastIndex = tagRE.lastIndex = 0; var match, index, tokenValue; while ((match = tagRE.exec(text))) { index = match.index; // push text token if (index > lastIndex) { - rawTokens.push((tokenValue = text.slice(lastIndex, index))); + rawTokens.push(tokenValue = text.slice(lastIndex, index)); tokens.push(JSON.stringify(tokenValue)); } // tag token var exp = parseFilters(match[1].trim()); - tokens.push("_s(" + exp + ")"); - rawTokens.push({ "@binding": exp }); + tokens.push(("_s(" + exp + ")")); + rawTokens.push({ '@binding': exp }); lastIndex = index + match[0].length; } if (lastIndex < text.length) { - rawTokens.push((tokenValue = text.slice(lastIndex))); + rawTokens.push(tokenValue = text.slice(lastIndex)); tokens.push(JSON.stringify(tokenValue)); } return { - expression: tokens.join("+"), - tokens: rawTokens, - }; + expression: tokens.join('+'), + tokens: rawTokens + } } /* */ - function transformNode(el, options) { + function transformNode (el, options) { var warn = options.warn || baseWarn; - var staticClass = getAndRemoveAttr(el, "class"); + var staticClass = getAndRemoveAttr(el, 'class'); if (staticClass) { var res = parseText(staticClass, options.delimiters); if (res) { warn( - 'class="' + - staticClass + - '": ' + - "Interpolation inside attributes has been removed. " + - "Use v-bind or the colon shorthand instead. For example, " + - 'instead of <div class="{{ val }}">, use <div :class="val">.', - el.rawAttrsMap["class"] + "class=\"" + staticClass + "\": " + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div class="{{ val }}">, use <div :class="val">.', + el.rawAttrsMap['class'] ); } } if (staticClass) { el.staticClass = JSON.stringify(staticClass); } - var classBinding = getBindingAttr(el, "class", false /* getStatic */); + var classBinding = getBindingAttr(el, 'class', false /* getStatic */); if (classBinding) { el.classBinding = classBinding; } } - function genData(el) { - var data = ""; + function genData (el) { + var data = ''; if (el.staticClass) { - data += "staticClass:" + el.staticClass + ","; + data += "staticClass:" + (el.staticClass) + ","; } if (el.classBinding) { - data += "class:" + el.classBinding + ","; + data += "class:" + (el.classBinding) + ","; } - return data; + return data } var klass$1 = { - staticKeys: ["staticClass"], + staticKeys: ['staticClass'], transformNode: transformNode, - genData: genData, + genData: genData }; /* */ - function transformNode$1(el, options) { + function transformNode$1 (el, options) { var warn = options.warn || baseWarn; - var staticStyle = getAndRemoveAttr(el, "style"); + var staticStyle = getAndRemoveAttr(el, 'style'); if (staticStyle) { /* istanbul ignore if */ { var res = parseText(staticStyle, options.delimiters); if (res) { warn( - 'style="' + - staticStyle + - '": ' + - "Interpolation inside attributes has been removed. " + - "Use v-bind or the colon shorthand instead. For example, " + - 'instead of <div style="{{ val }}">, use <div :style="val">.', - el.rawAttrsMap["style"] + "style=\"" + staticStyle + "\": " + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div style="{{ val }}">, use <div :style="val">.', + el.rawAttrsMap['style'] ); } } el.staticStyle = JSON.stringify(parseStyleText(staticStyle)); } - var styleBinding = getBindingAttr(el, "style", false /* getStatic */); + var styleBinding = getBindingAttr(el, 'style', false /* getStatic */); if (styleBinding) { el.styleBinding = styleBinding; } } - function genData$1(el) { - var data = ""; + function genData$1 (el) { + var data = ''; if (el.staticStyle) { - data += "staticStyle:" + el.staticStyle + ","; + data += "staticStyle:" + (el.staticStyle) + ","; } if (el.styleBinding) { - data += "style:(" + el.styleBinding + "),"; + data += "style:(" + (el.styleBinding) + "),"; } - return data; + return data } var style$1 = { - staticKeys: ["staticStyle"], + staticKeys: ['staticStyle'], transformNode: transformNode$1, - genData: genData$1, + genData: genData$1 }; /* */ @@ -9614,34 +9211,34 @@ var decoder; var he = { - decode: function decode(html) { - decoder = decoder || document.createElement("div"); + decode: function decode (html) { + decoder = decoder || document.createElement('div'); decoder.innerHTML = html; - return decoder.textContent; - }, + return decoder.textContent + } }; /* */ var isUnaryTag = makeMap( - "area,base,br,col,embed,frame,hr,img,input,isindex,keygen," + - "link,meta,param,source,track,wbr" + 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' + + 'link,meta,param,source,track,wbr' ); // Elements that you can, intentionally, leave open // (and which close themselves) var canBeLeftOpenTag = makeMap( - "colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source" + 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source' ); // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3 // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content var isNonPhrasingTag = makeMap( - "address,article,aside,base,blockquote,body,caption,col,colgroup,dd," + - "details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form," + - "h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta," + - "optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead," + - "title,tr,track" + 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' + + 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' + + 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' + + 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' + + 'title,tr,track' ); /** @@ -9649,50 +9246,44 @@ */ // Regular Expressions for parsing tags and attributes - var attribute = - /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; - var dynamicArgAttribute = - /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; - var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + unicodeRegExp.source + "]*"; + var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + (unicodeRegExp.source) + "]*"; var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")"; - var startTagOpen = new RegExp("^<" + qnameCapture); + var startTagOpen = new RegExp(("^<" + qnameCapture)); var startTagClose = /^\s*(\/?)>/; - var endTag = new RegExp("^<\\/" + qnameCapture + "[^>]*>"); + var endTag = new RegExp(("^<\\/" + qnameCapture + "[^>]*>")); var doctype = /^<!DOCTYPE [^>]+>/i; // #7298: escape - to avoid being passed as HTML comment when inlined in page var comment = /^<!\--/; var conditionalComment = /^<!\[/; // Special Elements (can contain anything) - var isPlainTextElement = makeMap("script,style,textarea", true); + var isPlainTextElement = makeMap('script,style,textarea', true); var reCache = {}; var decodingMap = { - "<": "<", - ">": ">", - """: '"', - "&": "&", - " ": "\n", - "	": "\t", - "'": "'", + '<': '<', + '>': '>', + '"': '"', + '&': '&', + ' ': '\n', + '	': '\t', + ''': "'" }; var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g; var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g; // #5992 - var isIgnoreNewlineTag = makeMap("pre,textarea", true); - var shouldIgnoreFirstNewline = function (tag, html) { - return tag && isIgnoreNewlineTag(tag) && html[0] === "\n"; - }; + var isIgnoreNewlineTag = makeMap('pre,textarea', true); + var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; }; - function decodeAttr(value, shouldDecodeNewlines) { + function decodeAttr (value, shouldDecodeNewlines) { var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr; - return value.replace(re, function (match) { - return decodingMap[match]; - }); + return value.replace(re, function (match) { return decodingMap[match]; }) } - function parseHTML(html, options) { + function parseHTML (html, options) { var stack = []; var expectHTML = options.expectHTML; var isUnaryTag$$1 = options.isUnaryTag || no; @@ -9703,32 +9294,28 @@ last = html; // Make sure we're not in a plaintext content element like script/style if (!lastTag || !isPlainTextElement(lastTag)) { - var textEnd = html.indexOf("<"); + var textEnd = html.indexOf('<'); if (textEnd === 0) { // Comment: if (comment.test(html)) { - var commentEnd = html.indexOf("-->"); + var commentEnd = html.indexOf('-->'); if (commentEnd >= 0) { if (options.shouldKeepComment) { - options.comment( - html.substring(4, commentEnd), - index, - index + commentEnd + 3 - ); + options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3); } advance(commentEnd + 3); - continue; + continue } } // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment if (conditionalComment.test(html)) { - var conditionalEnd = html.indexOf("]>"); + var conditionalEnd = html.indexOf(']>'); if (conditionalEnd >= 0) { advance(conditionalEnd + 2); - continue; + continue } } @@ -9736,7 +9323,7 @@ var doctypeMatch = html.match(doctype); if (doctypeMatch) { advance(doctypeMatch[0].length); - continue; + continue } // End tag: @@ -9745,7 +9332,7 @@ var curIndex = index; advance(endTagMatch[0].length); parseEndTag(endTagMatch[1], curIndex, index); - continue; + continue } // Start tag: @@ -9755,13 +9342,11 @@ if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) { advance(1); } - continue; + continue } } - var text = void 0, - rest = void 0, - next = void 0; + var text = (void 0), rest = (void 0), next = (void 0); if (textEnd >= 0) { rest = html.slice(textEnd); while ( @@ -9771,10 +9356,8 @@ !conditionalComment.test(rest) ) { // < in plain text, be forgiving and treat it as text - next = rest.indexOf("<", 1); - if (next < 0) { - break; - } + next = rest.indexOf('<', 1); + if (next < 0) { break } textEnd += next; rest = html.slice(textEnd); } @@ -9795,18 +9378,13 @@ } else { var endTagLength = 0; var stackedTag = lastTag.toLowerCase(); - var reStackedTag = - reCache[stackedTag] || - (reCache[stackedTag] = new RegExp( - "([\\s\\S]*?)(</" + stackedTag + "[^>]*>)", - "i" - )); + var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i')); var rest$1 = html.replace(reStackedTag, function (all, text, endTag) { endTagLength = endTag.length; - if (!isPlainTextElement(stackedTag) && stackedTag !== "noscript") { + if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') { text = text - .replace(/<!\--([\s\S]*?)-->/g, "$1") // #7298 - .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, "$1"); + .replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298 + .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1'); } if (shouldIgnoreFirstNewline(stackedTag, text)) { text = text.slice(1); @@ -9814,7 +9392,7 @@ if (options.chars) { options.chars(text); } - return ""; + return '' }); index += html.length - rest$1.length; html = rest$1; @@ -9824,36 +9402,31 @@ if (html === last) { options.chars && options.chars(html); if (!stack.length && options.warn) { - options.warn('Mal-formatted tag at end of template: "' + html + '"', { - start: index + html.length, - }); + options.warn(("Mal-formatted tag at end of template: \"" + html + "\""), { start: index + html.length }); } - break; + break } } // Clean up any remaining tags parseEndTag(); - function advance(n) { + function advance (n) { index += n; html = html.substring(n); } - function parseStartTag() { + function parseStartTag () { var start = html.match(startTagOpen); if (start) { var match = { tagName: start[1], attrs: [], - start: index, + start: index }; advance(start[0].length); var end, attr; - while ( - !(end = html.match(startTagClose)) && - (attr = html.match(dynamicArgAttribute) || html.match(attribute)) - ) { + while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) { attr.start = index; advance(attr[0].length); attr.end = index; @@ -9863,17 +9436,17 @@ match.unarySlash = end[1]; advance(end[0].length); match.end = index; - return match; + return match } } } - function handleStartTag(match) { + function handleStartTag (match) { var tagName = match.tagName; var unarySlash = match.unarySlash; if (expectHTML) { - if (lastTag === "p" && isNonPhrasingTag(tagName)) { + if (lastTag === 'p' && isNonPhrasingTag(tagName)) { parseEndTag(lastTag); } if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) { @@ -9887,14 +9460,13 @@ var attrs = new Array(l); for (var i = 0; i < l; i++) { var args = match.attrs[i]; - var value = args[3] || args[4] || args[5] || ""; - var shouldDecodeNewlines = - tagName === "a" && args[1] === "href" - ? options.shouldDecodeNewlinesForHref - : options.shouldDecodeNewlines; + var value = args[3] || args[4] || args[5] || ''; + var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href' + ? options.shouldDecodeNewlinesForHref + : options.shouldDecodeNewlines; attrs[i] = { name: args[1], - value: decodeAttr(value, shouldDecodeNewlines), + value: decodeAttr(value, shouldDecodeNewlines) }; if (options.outputSourceRange) { attrs[i].start = args.start + args[0].match(/^\s*/).length; @@ -9903,13 +9475,7 @@ } if (!unary) { - stack.push({ - tag: tagName, - lowerCasedTag: tagName.toLowerCase(), - attrs: attrs, - start: match.start, - end: match.end, - }); + stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end }); lastTag = tagName; } @@ -9918,21 +9484,17 @@ } } - function parseEndTag(tagName, start, end) { + function parseEndTag (tagName, start, end) { var pos, lowerCasedTagName; - if (start == null) { - start = index; - } - if (end == null) { - end = index; - } + if (start == null) { start = index; } + if (end == null) { end = index; } // Find the closest opened tag of the same type if (tagName) { lowerCasedTagName = tagName.toLowerCase(); for (pos = stack.length - 1; pos >= 0; pos--) { if (stack[pos].lowerCasedTag === lowerCasedTagName) { - break; + break } } } else { @@ -9943,9 +9505,11 @@ if (pos >= 0) { // Close all the open elements, up the stack for (var i = stack.length - 1; i >= pos; i--) { - if (i > pos || (!tagName && options.warn)) { + if (i > pos || !tagName && + options.warn + ) { options.warn( - "tag <" + stack[i].tag + "> has no matching end tag.", + ("tag <" + (stack[i].tag) + "> has no matching end tag."), { start: stack[i].start, end: stack[i].end } ); } @@ -9957,11 +9521,11 @@ // Remove the open elements from the stack stack.length = pos; lastTag = pos && stack[pos - 1].tag; - } else if (lowerCasedTagName === "br") { + } else if (lowerCasedTagName === 'br') { if (options.start) { options.start(tagName, [], true, start, end); } - } else if (lowerCasedTagName === "p") { + } else if (lowerCasedTagName === 'p') { if (options.start) { options.start(tagName, [], false, start, end); } @@ -10007,7 +9571,11 @@ var platformGetTagNamespace; var maybeComponent; - function createASTElement(tag, attrs, parent) { + function createASTElement ( + tag, + attrs, + parent + ) { return { type: 1, tag: tag, @@ -10015,27 +9583,28 @@ attrsMap: makeAttrsMap(attrs), rawAttrsMap: {}, parent: parent, - children: [], - }; + children: [] + } } /** * Convert HTML string to AST. */ - function parse(template, options) { + function parse ( + template, + options + ) { warn$2 = options.warn || baseWarn; platformIsPreTag = options.isPreTag || no; platformMustUseProp = options.mustUseProp || no; platformGetTagNamespace = options.getTagNamespace || no; var isReservedTag = options.isReservedTag || no; - maybeComponent = function (el) { - return !!el.component || !isReservedTag(el.tag); - }; + maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); }; - transforms = pluckModuleFunction(options.modules, "transformNode"); - preTransforms = pluckModuleFunction(options.modules, "preTransformNode"); - postTransforms = pluckModuleFunction(options.modules, "postTransformNode"); + transforms = pluckModuleFunction(options.modules, 'transformNode'); + preTransforms = pluckModuleFunction(options.modules, 'preTransformNode'); + postTransforms = pluckModuleFunction(options.modules, 'postTransformNode'); delimiters = options.delimiters; @@ -10048,14 +9617,14 @@ var inPre = false; var warned = false; - function warnOnce(msg, range) { + function warnOnce (msg, range) { if (!warned) { warned = true; warn$2(msg, range); } } - function closeElement(element) { + function closeElement (element) { trimEndingWhitespace(element); if (!inVPre && !element.processed) { element = processElement(element, options); @@ -10069,13 +9638,13 @@ } addIfCondition(root, { exp: element.elseif, - block: element, + block: element }); } else { warnOnce( "Component template should contain exactly one root element. " + - "If you are using v-if on multiple elements, " + - "use v-else-if to chain them instead.", + "If you are using v-if on multiple elements, " + + "use v-else-if to chain them instead.", { start: element.start } ); } @@ -10088,10 +9657,8 @@ // scoped slot // keep it in the children list so that v-else(-if) conditions can // find it as the prev node. - var name = element.slotTarget || '"default"'; - (currentParent.scopedSlots || (currentParent.scopedSlots = {}))[ - name - ] = element; + var name = element.slotTarget || '"default"' + ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element; } currentParent.children.push(element); element.parent = currentParent; @@ -10100,9 +9667,7 @@ // final children cleanup // filter out scoped slots - element.children = element.children.filter(function (c) { - return !c.slotScope; - }); + element.children = element.children.filter(function (c) { return !(c).slotScope; }); // remove trailing whitespace node again trimEndingWhitespace(element); @@ -10119,35 +9684,33 @@ } } - function trimEndingWhitespace(el) { + function trimEndingWhitespace (el) { // remove trailing whitespace node if (!inPre) { var lastNode; while ( (lastNode = el.children[el.children.length - 1]) && lastNode.type === 3 && - lastNode.text === " " + lastNode.text === ' ' ) { el.children.pop(); } } } - function checkRootConstraints(el) { - if (el.tag === "slot" || el.tag === "template") { + function checkRootConstraints (el) { + if (el.tag === 'slot' || el.tag === 'template') { warnOnce( - "Cannot use <" + - el.tag + - "> as component root element because it may " + - "contain multiple nodes.", + "Cannot use <" + (el.tag) + "> as component root element because it may " + + 'contain multiple nodes.', { start: el.start } ); } - if (el.attrsMap.hasOwnProperty("v-for")) { + if (el.attrsMap.hasOwnProperty('v-for')) { warnOnce( - "Cannot use v-for on stateful component root element because " + - "it renders multiple elements.", - el.rawAttrsMap["v-for"] + 'Cannot use v-for on stateful component root element because ' + + 'it renders multiple elements.', + el.rawAttrsMap['v-for'] ); } } @@ -10161,15 +9724,14 @@ shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref, shouldKeepComment: options.comments, outputSourceRange: options.outputSourceRange, - start: function start(tag, attrs, unary, start$1, end) { + start: function start (tag, attrs, unary, start$1, end) { // check namespace. // inherit parent ns if there is one - var ns = - (currentParent && currentParent.ns) || platformGetTagNamespace(tag); + var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag); // handle IE svg bug /* istanbul ignore if */ - if (isIE && ns === "svg") { + if (isIE && ns === 'svg') { attrs = guardIESVGBug(attrs); } @@ -10182,23 +9744,19 @@ if (options.outputSourceRange) { element.start = start$1; element.end = end; - element.rawAttrsMap = element.attrsList.reduce(function ( - cumulated, - attr - ) { + element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) { cumulated[attr.name] = attr; - return cumulated; - }, - {}); + return cumulated + }, {}); } attrs.forEach(function (attr) { if (invalidAttributeRE.test(attr.name)) { warn$2( "Invalid dynamic argument expression: attribute names cannot contain " + - "spaces, quotes, <, >, / or =.", + "spaces, quotes, <, >, / or =.", { start: attr.start + attr.name.indexOf("["), - end: attr.start + attr.name.length, + end: attr.start + attr.name.length } ); } @@ -10208,12 +9766,9 @@ if (isForbiddenTag(element) && !isServerRendering()) { element.forbidden = true; warn$2( - "Templates should only be responsible for mapping the state to the " + - "UI. Avoid placing tags with side-effects in your templates, such as " + - "<" + - tag + - ">" + - ", as they will not be parsed.", + 'Templates should only be responsible for mapping the state to the ' + + 'UI. Avoid placing tags with side-effects in your templates, such as ' + + "<" + tag + ">" + ', as they will not be parsed.', { start: element.start } ); } @@ -10256,7 +9811,7 @@ } }, - end: function end(tag, start, end$1) { + end: function end (tag, start, end$1) { var element = stack[stack.length - 1]; // pop stack stack.length -= 1; @@ -10267,71 +9822,66 @@ closeElement(element); }, - chars: function chars(text, start, end) { + chars: function chars (text, start, end) { if (!currentParent) { { if (text === template) { warnOnce( - "Component template requires a root element, rather than just text.", + 'Component template requires a root element, rather than just text.', { start: start } ); } else if ((text = text.trim())) { warnOnce( - 'text "' + text + '" outside root element will be ignored.', + ("text \"" + text + "\" outside root element will be ignored."), { start: start } ); } } - return; + return } // IE textarea placeholder bug /* istanbul ignore if */ - if ( - isIE && - currentParent.tag === "textarea" && + if (isIE && + currentParent.tag === 'textarea' && currentParent.attrsMap.placeholder === text ) { - return; + return } var children = currentParent.children; if (inPre || text.trim()) { text = isTextTag(currentParent) ? text : decodeHTMLCached(text); } else if (!children.length) { // remove the whitespace-only node right after an opening tag - text = ""; + text = ''; } else if (whitespaceOption) { - if (whitespaceOption === "condense") { + if (whitespaceOption === 'condense') { // in condense mode, remove the whitespace node if it contains // line break, otherwise condense to a single space - text = lineBreakRE.test(text) ? "" : " "; + text = lineBreakRE.test(text) ? '' : ' '; } else { - text = " "; + text = ' '; } } else { - text = preserveWhitespace ? " " : ""; + text = preserveWhitespace ? ' ' : ''; } if (text) { - if (!inPre && whitespaceOption === "condense") { + if (!inPre && whitespaceOption === 'condense') { // condense consecutive whitespaces into single space - text = text.replace(whitespaceRE$1, " "); + text = text.replace(whitespaceRE$1, ' '); } var res; var child; - if (!inVPre && text !== " " && (res = parseText(text, delimiters))) { + if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) { child = { type: 2, expression: res.expression, tokens: res.tokens, - text: text, + text: text }; - } else if ( - text !== " " || - !children.length || - children[children.length - 1].text !== " " - ) { + } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') { child = { type: 3, - text: text, + text: text }; } if (child) { @@ -10343,14 +9893,14 @@ } } }, - comment: function comment(text, start, end) { + comment: function comment (text, start, end) { // adding anything as a sibling to the root node is forbidden // comments should still be allowed, but ignored if (currentParent) { var child = { type: 3, text: text, - isComment: true, + isComment: true }; if (options.outputSourceRange) { child.start = start; @@ -10358,26 +9908,26 @@ } currentParent.children.push(child); } - }, + } }); - return root; + return root } - function processPre(el) { - if (getAndRemoveAttr(el, "v-pre") != null) { + function processPre (el) { + if (getAndRemoveAttr(el, 'v-pre') != null) { el.pre = true; } } - function processRawAttrs(el) { + function processRawAttrs (el) { var list = el.attrsList; var len = list.length; if (len) { - var attrs = (el.attrs = new Array(len)); + var attrs = el.attrs = new Array(len); for (var i = 0; i < len; i++) { attrs[i] = { name: list[i].name, - value: JSON.stringify(list[i].value), + value: JSON.stringify(list[i].value) }; if (list[i].start != null) { attrs[i].start = list[i].start; @@ -10390,13 +9940,19 @@ } } - function processElement(element, options) { + function processElement ( + element, + options + ) { processKey(element); // determine whether this is a plain element after // removing structural attributes - element.plain = - !element.key && !element.scopedSlots && !element.attrsList.length; + element.plain = ( + !element.key && + !element.scopedSlots && + !element.attrsList.length + ); processRef(element); processSlotContent(element); @@ -10406,32 +9962,27 @@ element = transforms[i](element, options) || element; } processAttrs(element); - return element; + return element } - function processKey(el) { - var exp = getBindingAttr(el, "key"); + function processKey (el) { + var exp = getBindingAttr(el, 'key'); if (exp) { { - if (el.tag === "template") { + if (el.tag === 'template') { warn$2( "<template> cannot be keyed. Place the key on real elements instead.", - getRawBindingAttr(el, "key") + getRawBindingAttr(el, 'key') ); } if (el.for) { var iterator = el.iterator2 || el.iterator1; var parent = el.parent; - if ( - iterator && - iterator === exp && - parent && - parent.tag === "transition-group" - ) { + if (iterator && iterator === exp && parent && parent.tag === 'transition-group') { warn$2( "Do not use v-for index as key on <transition-group> children, " + - "this is the same as not using keys.", - getRawBindingAttr(el, "key"), + "this is the same as not using keys.", + getRawBindingAttr(el, 'key'), true /* tip */ ); } @@ -10441,37 +9992,40 @@ } } - function processRef(el) { - var ref = getBindingAttr(el, "ref"); + function processRef (el) { + var ref = getBindingAttr(el, 'ref'); if (ref) { el.ref = ref; el.refInFor = checkInFor(el); } } - function processFor(el) { + function processFor (el) { var exp; - if ((exp = getAndRemoveAttr(el, "v-for"))) { + if ((exp = getAndRemoveAttr(el, 'v-for'))) { var res = parseFor(exp); if (res) { extend(el, res); } else { - warn$2("Invalid v-for expression: " + exp, el.rawAttrsMap["v-for"]); + warn$2( + ("Invalid v-for expression: " + exp), + el.rawAttrsMap['v-for'] + ); } } } - function parseFor(exp) { + + + function parseFor (exp) { var inMatch = exp.match(forAliasRE); - if (!inMatch) { - return; - } + if (!inMatch) { return } var res = {}; res.for = inMatch[2].trim(); - var alias = inMatch[1].trim().replace(stripParensRE, ""); + var alias = inMatch[1].trim().replace(stripParensRE, ''); var iteratorMatch = alias.match(forIteratorRE); if (iteratorMatch) { - res.alias = alias.replace(forIteratorRE, "").trim(); + res.alias = alias.replace(forIteratorRE, '').trim(); res.iterator1 = iteratorMatch[1].trim(); if (iteratorMatch[2]) { res.iterator2 = iteratorMatch[2].trim(); @@ -10479,60 +10033,54 @@ } else { res.alias = alias; } - return res; + return res } - function processIf(el) { - var exp = getAndRemoveAttr(el, "v-if"); + function processIf (el) { + var exp = getAndRemoveAttr(el, 'v-if'); if (exp) { el.if = exp; addIfCondition(el, { exp: exp, - block: el, + block: el }); } else { - if (getAndRemoveAttr(el, "v-else") != null) { + if (getAndRemoveAttr(el, 'v-else') != null) { el.else = true; } - var elseif = getAndRemoveAttr(el, "v-else-if"); + var elseif = getAndRemoveAttr(el, 'v-else-if'); if (elseif) { el.elseif = elseif; } } } - function processIfConditions(el, parent) { + function processIfConditions (el, parent) { var prev = findPrevElement(parent.children); if (prev && prev.if) { addIfCondition(prev, { exp: el.elseif, - block: el, + block: el }); } else { warn$2( - "v-" + - (el.elseif ? 'else-if="' + el.elseif + '"' : "else") + - " " + - "used on element <" + - el.tag + - "> without corresponding v-if.", - el.rawAttrsMap[el.elseif ? "v-else-if" : "v-else"] + "v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " + + "used on element <" + (el.tag) + "> without corresponding v-if.", + el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else'] ); } } - function findPrevElement(children) { + function findPrevElement (children) { var i = children.length; while (i--) { if (children[i].type === 1) { - return children[i]; + return children[i] } else { - if (children[i].text !== " ") { + if (children[i].text !== ' ') { warn$2( - 'text "' + - children[i].text.trim() + - '" between v-if and v-else(-if) ' + - "will be ignored.", + "text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " + + "will be ignored.", children[i] ); } @@ -10541,15 +10089,15 @@ } } - function addIfCondition(el, condition) { + function addIfCondition (el, condition) { if (!el.ifConditions) { el.ifConditions = []; } el.ifConditions.push(condition); } - function processOnce(el) { - var once$$1 = getAndRemoveAttr(el, "v-once"); + function processOnce (el) { + var once$$1 = getAndRemoveAttr(el, 'v-once'); if (once$$1 != null) { el.once = true; } @@ -10557,32 +10105,30 @@ // handle content being passed to a component as slot, // e.g. <template slot="xxx">, <div slot-scope="xxx"> - function processSlotContent(el) { + function processSlotContent (el) { var slotScope; - if (el.tag === "template") { - slotScope = getAndRemoveAttr(el, "scope"); + if (el.tag === 'template') { + slotScope = getAndRemoveAttr(el, 'scope'); /* istanbul ignore if */ if (slotScope) { warn$2( - 'the "scope" attribute for scoped slots have been deprecated and ' + - 'replaced by "slot-scope" since 2.5. The new "slot-scope" attribute ' + - "can also be used on plain elements in addition to <template> to " + - "denote scoped slots.", - el.rawAttrsMap["scope"], + "the \"scope\" attribute for scoped slots have been deprecated and " + + "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " + + "can also be used on plain elements in addition to <template> to " + + "denote scoped slots.", + el.rawAttrsMap['scope'], true ); } - el.slotScope = slotScope || getAndRemoveAttr(el, "slot-scope"); - } else if ((slotScope = getAndRemoveAttr(el, "slot-scope"))) { + el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope'); + } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) { /* istanbul ignore if */ - if (el.attrsMap["v-for"]) { + if (el.attrsMap['v-for']) { warn$2( - "Ambiguous combined usage of slot-scope and v-for on <" + - el.tag + - "> " + - "(v-for takes higher priority). Use a wrapper <template> for the " + - "scoped slot to make it clearer.", - el.rawAttrsMap["slot-scope"], + "Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " + + "(v-for takes higher priority). Use a wrapper <template> for the " + + "scoped slot to make it clearer.", + el.rawAttrsMap['slot-scope'], true ); } @@ -10590,33 +10136,34 @@ } // slot="xxx" - var slotTarget = getBindingAttr(el, "slot"); + var slotTarget = getBindingAttr(el, 'slot'); if (slotTarget) { el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget; - el.slotTargetDynamic = !!( - el.attrsMap[":slot"] || el.attrsMap["v-bind:slot"] - ); + el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']); // preserve slot as an attribute for native shadow DOM compat // only for non-scoped slots. - if (el.tag !== "template" && !el.slotScope) { - addAttr(el, "slot", slotTarget, getRawBindingAttr(el, "slot")); + if (el.tag !== 'template' && !el.slotScope) { + addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot')); } } // 2.6 v-slot syntax { - if (el.tag === "template") { + if (el.tag === 'template') { // v-slot on <template> var slotBinding = getAndRemoveAttrByRegex(el, slotRE); if (slotBinding) { { if (el.slotTarget || el.slotScope) { - warn$2("Unexpected mixed usage of different slot syntaxes.", el); + warn$2( + "Unexpected mixed usage of different slot syntaxes.", + el + ); } if (el.parent && !maybeComponent(el.parent)) { warn$2( "<template v-slot> can only appear at the root level inside " + - "the receiving component", + "the receiving component", el ); } @@ -10640,12 +10187,15 @@ ); } if (el.slotScope || el.slotTarget) { - warn$2("Unexpected mixed usage of different slot syntaxes.", el); + warn$2( + "Unexpected mixed usage of different slot syntaxes.", + el + ); } if (el.scopedSlots) { warn$2( "To avoid scope ambiguity, the default slot should also use " + - "<template> syntax when there are other named slots.", + "<template> syntax when there are other named slots.", slotBinding$1 ); } @@ -10655,17 +10205,13 @@ var ref$1 = getSlotName(slotBinding$1); var name$1 = ref$1.name; var dynamic$1 = ref$1.dynamic; - var slotContainer = (slots[name$1] = createASTElement( - "template", - [], - el - )); + var slotContainer = slots[name$1] = createASTElement('template', [], el); slotContainer.slotTarget = name$1; slotContainer.slotTargetDynamic = dynamic$1; slotContainer.children = el.children.filter(function (c) { if (!c.slotScope) { c.parent = slotContainer; - return true; + return true } }); slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken; @@ -10678,48 +10224,51 @@ } } - function getSlotName(binding) { - var name = binding.name.replace(slotRE, ""); + function getSlotName (binding) { + var name = binding.name.replace(slotRE, ''); if (!name) { - if (binding.name[0] !== "#") { - name = "default"; + if (binding.name[0] !== '#') { + name = 'default'; } else { - warn$2("v-slot shorthand syntax requires a slot name.", binding); + warn$2( + "v-slot shorthand syntax requires a slot name.", + binding + ); } } return dynamicArgRE.test(name) - ? // dynamic [name] - { name: name.slice(1, -1), dynamic: true } - : // static name - { name: '"' + name + '"', dynamic: false }; + // dynamic [name] + ? { name: name.slice(1, -1), dynamic: true } + // static name + : { name: ("\"" + name + "\""), dynamic: false } } // handle <slot/> outlets - function processSlotOutlet(el) { - if (el.tag === "slot") { - el.slotName = getBindingAttr(el, "name"); + function processSlotOutlet (el) { + if (el.tag === 'slot') { + el.slotName = getBindingAttr(el, 'name'); if (el.key) { warn$2( "`key` does not work on <slot> because slots are abstract outlets " + - "and can possibly expand into multiple elements. " + - "Use the key on a wrapping element instead.", - getRawBindingAttr(el, "key") + "and can possibly expand into multiple elements. " + + "Use the key on a wrapping element instead.", + getRawBindingAttr(el, 'key') ); } } } - function processComponent(el) { + function processComponent (el) { var binding; - if ((binding = getBindingAttr(el, "is"))) { + if ((binding = getBindingAttr(el, 'is'))) { el.component = binding; } - if (getAndRemoveAttr(el, "inline-template") != null) { + if (getAndRemoveAttr(el, 'inline-template') != null) { el.inlineTemplate = true; } } - function processAttrs(el) { + function processAttrs (el) { var list = el.attrsList; var i, l, name, rawName, value, modifiers, syncGen, isDynamic; for (i = 0, l = list.length; i < l; i++) { @@ -10729,32 +10278,29 @@ // mark element as dynamic el.hasBindings = true; // modifiers - modifiers = parseModifiers(name.replace(dirRE, "")); + modifiers = parseModifiers(name.replace(dirRE, '')); // support .foo shorthand syntax for the .prop modifier if (modifiers) { - name = name.replace(modifierRE, ""); + name = name.replace(modifierRE, ''); } - if (bindRE.test(name)) { - // v-bind - name = name.replace(bindRE, ""); + if (bindRE.test(name)) { // v-bind + name = name.replace(bindRE, ''); value = parseFilters(value); isDynamic = dynamicArgRE.test(name); if (isDynamic) { name = name.slice(1, -1); } - if (value.trim().length === 0) { + if ( + value.trim().length === 0 + ) { warn$2( - 'The value for a v-bind expression cannot be empty. Found in "v-bind:' + - name + - '"' + ("The value for a v-bind expression cannot be empty. Found in \"v-bind:" + name + "\"") ); } if (modifiers) { if (modifiers.prop && !isDynamic) { name = camelize(name); - if (name === "innerHtml") { - name = "innerHTML"; - } + if (name === 'innerHtml') { name = 'innerHTML'; } } if (modifiers.camel && !isDynamic) { name = camelize(name); @@ -10764,7 +10310,7 @@ if (!isDynamic) { addHandler( el, - "update:" + camelize(name), + ("update:" + (camelize(name))), syncGen, null, false, @@ -10774,7 +10320,7 @@ if (hyphenate(name) !== camelize(name)) { addHandler( el, - "update:" + hyphenate(name), + ("update:" + (hyphenate(name))), syncGen, null, false, @@ -10786,7 +10332,7 @@ // handler w/ dynamic event name addHandler( el, - '"update:"+(' + name + ")", + ("\"update:\"+(" + name + ")"), syncGen, null, false, @@ -10797,35 +10343,22 @@ } } } - if ( - (modifiers && modifiers.prop) || - (!el.component && - platformMustUseProp(el.tag, el.attrsMap.type, name)) - ) { + if ((modifiers && modifiers.prop) || ( + !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name) + )) { addProp(el, name, value, list[i], isDynamic); } else { addAttr(el, name, value, list[i], isDynamic); } - } else if (onRE.test(name)) { - // v-on - name = name.replace(onRE, ""); + } else if (onRE.test(name)) { // v-on + name = name.replace(onRE, ''); isDynamic = dynamicArgRE.test(name); if (isDynamic) { name = name.slice(1, -1); } - addHandler( - el, - name, - value, - modifiers, - false, - warn$2, - list[i], - isDynamic - ); - } else { - // normal directives - name = name.replace(dirRE, ""); + addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic); + } else { // normal directives + name = name.replace(dirRE, ''); // parse arg var argMatch = name.match(argRE); var arg = argMatch && argMatch[1]; @@ -10837,17 +10370,8 @@ isDynamic = true; } } - addDirective( - el, - name, - rawName, - value, - arg, - isDynamic, - modifiers, - list[i] - ); - if (name === "model") { + addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]); + if (name === 'model') { checkForAliasModel(el, value); } } @@ -10857,13 +10381,10 @@ var res = parseText(value, delimiters); if (res) { warn$2( - name + - '="' + - value + - '": ' + - "Interpolation inside attributes has been removed. " + - "Use v-bind or the colon shorthand instead. For example, " + - 'instead of <div id="{{ val }}">, use <div :id="val">.', + name + "=\"" + value + "\": " + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div id="{{ val }}">, use <div :id="val">.', list[i] ); } @@ -10871,94 +10392,90 @@ addAttr(el, name, JSON.stringify(value), list[i]); // #6887 firefox doesn't update muted state if set via attribute // even immediately after element creation - if ( - !el.component && - name === "muted" && - platformMustUseProp(el.tag, el.attrsMap.type, name) - ) { - addProp(el, name, "true", list[i]); + if (!el.component && + name === 'muted' && + platformMustUseProp(el.tag, el.attrsMap.type, name)) { + addProp(el, name, 'true', list[i]); } } } } - function checkInFor(el) { + function checkInFor (el) { var parent = el; while (parent) { if (parent.for !== undefined) { - return true; + return true } parent = parent.parent; } - return false; + return false } - function parseModifiers(name) { + function parseModifiers (name) { var match = name.match(modifierRE); if (match) { var ret = {}; - match.forEach(function (m) { - ret[m.slice(1)] = true; - }); - return ret; + match.forEach(function (m) { ret[m.slice(1)] = true; }); + return ret } } - function makeAttrsMap(attrs) { + function makeAttrsMap (attrs) { var map = {}; for (var i = 0, l = attrs.length; i < l; i++) { - if (map[attrs[i].name] && !isIE && !isEdge) { - warn$2("duplicate attribute: " + attrs[i].name, attrs[i]); + if ( + map[attrs[i].name] && !isIE && !isEdge + ) { + warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]); } map[attrs[i].name] = attrs[i].value; } - return map; + return map } // for script (e.g. type="x/template") or style, do not decode content - function isTextTag(el) { - return el.tag === "script" || el.tag === "style"; + function isTextTag (el) { + return el.tag === 'script' || el.tag === 'style' } - function isForbiddenTag(el) { + function isForbiddenTag (el) { return ( - el.tag === "style" || - (el.tag === "script" && - (!el.attrsMap.type || el.attrsMap.type === "text/javascript")) - ); + el.tag === 'style' || + (el.tag === 'script' && ( + !el.attrsMap.type || + el.attrsMap.type === 'text/javascript' + )) + ) } var ieNSBug = /^xmlns:NS\d+/; var ieNSPrefix = /^NS\d+:/; /* istanbul ignore next */ - function guardIESVGBug(attrs) { + function guardIESVGBug (attrs) { var res = []; for (var i = 0; i < attrs.length; i++) { var attr = attrs[i]; if (!ieNSBug.test(attr.name)) { - attr.name = attr.name.replace(ieNSPrefix, ""); + attr.name = attr.name.replace(ieNSPrefix, ''); res.push(attr); } } - return res; + return res } - function checkForAliasModel(el, value) { + function checkForAliasModel (el, value) { var _el = el; while (_el) { if (_el.for && _el.alias === value) { warn$2( - "<" + - el.tag + - ' v-model="' + - value + - '">: ' + - "You are binding v-model directly to a v-for iteration alias. " + - "This will not be able to modify the v-for source array because " + - "writing to the alias is like modifying a function local variable. " + - "Consider using an array of objects and use v-model on an object property instead.", - el.rawAttrsMap["v-model"] + "<" + (el.tag) + " v-model=\"" + value + "\">: " + + "You are binding v-model directly to a v-for iteration alias. " + + "This will not be able to modify the v-for source array because " + + "writing to the alias is like modifying a function local variable. " + + "Consider using an array of objects and use v-model on an object property instead.", + el.rawAttrsMap['v-model'] ); } _el = _el.parent; @@ -10967,55 +10484,55 @@ /* */ - function preTransformNode(el, options) { - if (el.tag === "input") { + function preTransformNode (el, options) { + if (el.tag === 'input') { var map = el.attrsMap; - if (!map["v-model"]) { - return; + if (!map['v-model']) { + return } var typeBinding; - if (map[":type"] || map["v-bind:type"]) { - typeBinding = getBindingAttr(el, "type"); + if (map[':type'] || map['v-bind:type']) { + typeBinding = getBindingAttr(el, 'type'); } - if (!map.type && !typeBinding && map["v-bind"]) { - typeBinding = "(" + map["v-bind"] + ").type"; + if (!map.type && !typeBinding && map['v-bind']) { + typeBinding = "(" + (map['v-bind']) + ").type"; } if (typeBinding) { - var ifCondition = getAndRemoveAttr(el, "v-if", true); - var ifConditionExtra = ifCondition ? "&&(" + ifCondition + ")" : ""; - var hasElse = getAndRemoveAttr(el, "v-else", true) != null; - var elseIfCondition = getAndRemoveAttr(el, "v-else-if", true); + var ifCondition = getAndRemoveAttr(el, 'v-if', true); + var ifConditionExtra = ifCondition ? ("&&(" + ifCondition + ")") : ""; + var hasElse = getAndRemoveAttr(el, 'v-else', true) != null; + var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true); // 1. checkbox var branch0 = cloneASTElement(el); // process for on the main node processFor(branch0); - addRawAttr(branch0, "type", "checkbox"); + addRawAttr(branch0, 'type', 'checkbox'); processElement(branch0, options); branch0.processed = true; // prevent it from double-processed branch0.if = "(" + typeBinding + ")==='checkbox'" + ifConditionExtra; addIfCondition(branch0, { exp: branch0.if, - block: branch0, + block: branch0 }); // 2. add radio else-if condition var branch1 = cloneASTElement(el); - getAndRemoveAttr(branch1, "v-for", true); - addRawAttr(branch1, "type", "radio"); + getAndRemoveAttr(branch1, 'v-for', true); + addRawAttr(branch1, 'type', 'radio'); processElement(branch1, options); addIfCondition(branch0, { exp: "(" + typeBinding + ")==='radio'" + ifConditionExtra, - block: branch1, + block: branch1 }); // 3. other var branch2 = cloneASTElement(el); - getAndRemoveAttr(branch2, "v-for", true); - addRawAttr(branch2, ":type", typeBinding); + getAndRemoveAttr(branch2, 'v-for', true); + addRawAttr(branch2, ':type', typeBinding); processElement(branch2, options); addIfCondition(branch0, { exp: ifCondition, - block: branch2, + block: branch2 }); if (hasElse) { @@ -11024,41 +10541,45 @@ branch0.elseif = elseIfCondition; } - return branch0; + return branch0 } } } - function cloneASTElement(el) { - return createASTElement(el.tag, el.attrsList.slice(), el.parent); + function cloneASTElement (el) { + return createASTElement(el.tag, el.attrsList.slice(), el.parent) } var model$1 = { - preTransformNode: preTransformNode, + preTransformNode: preTransformNode }; - var modules$1 = [klass$1, style$1, model$1]; + var modules$1 = [ + klass$1, + style$1, + model$1 + ]; /* */ - function text(el, dir) { + function text (el, dir) { if (dir.value) { - addProp(el, "textContent", "_s(" + dir.value + ")", dir); + addProp(el, 'textContent', ("_s(" + (dir.value) + ")"), dir); } } /* */ - function html(el, dir) { + function html (el, dir) { if (dir.value) { - addProp(el, "innerHTML", "_s(" + dir.value + ")", dir); + addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"), dir); } } var directives$1 = { model: model, text: text, - html: html, + html: html }; /* */ @@ -11073,7 +10594,7 @@ canBeLeftOpenTag: canBeLeftOpenTag, isReservedTag: isReservedTag, getTagNamespace: getTagNamespace, - staticKeys: genStaticKeys(modules$1), + staticKeys: genStaticKeys(modules$1) }; /* */ @@ -11094,11 +10615,9 @@ * create fresh nodes for them on each re-render; * 2. Completely skip them in the patching process. */ - function optimize(root, options) { - if (!root) { - return; - } - isStaticKey = genStaticKeysCached(options.staticKeys || ""); + function optimize (root, options) { + if (!root) { return } + isStaticKey = genStaticKeysCached(options.staticKeys || ''); isPlatformReservedTag = options.isReservedTag || no; // first pass: mark all non-static nodes. markStatic$1(root); @@ -11106,14 +10625,14 @@ markStaticRoots(root, false); } - function genStaticKeys$1(keys) { + function genStaticKeys$1 (keys) { return makeMap( - "type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + - (keys ? "," + keys : "") - ); + 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' + + (keys ? ',' + keys : '') + ) } - function markStatic$1(node) { + function markStatic$1 (node) { node.static = isStatic(node); if (node.type === 1) { // do not make component slot content static. this avoids @@ -11121,10 +10640,10 @@ // 2. static slot content fails for hot-reloading if ( !isPlatformReservedTag(node.tag) && - node.tag !== "slot" && - node.attrsMap["inline-template"] == null + node.tag !== 'slot' && + node.attrsMap['inline-template'] == null ) { - return; + return } for (var i = 0, l = node.children.length; i < l; i++) { var child = node.children[i]; @@ -11145,7 +10664,7 @@ } } - function markStaticRoots(node, isInFor) { + function markStaticRoots (node, isInFor) { if (node.type === 1) { if (node.static || node.once) { node.staticInFor = isInFor; @@ -11153,13 +10672,12 @@ // For a node to qualify as a static root, it should have children that // are not just static text. Otherwise the cost of hoisting out will // outweigh the benefits and it's better off to just always render it fresh. - if ( - node.static && - node.children.length && - !(node.children.length === 1 && node.children[0].type === 3) - ) { + if (node.static && node.children.length && !( + node.children.length === 1 && + node.children[0].type === 3 + )) { node.staticRoot = true; - return; + return } else { node.staticRoot = false; } @@ -11176,46 +10694,41 @@ } } - function isStatic(node) { - if (node.type === 2) { - // expression - return false; + function isStatic (node) { + if (node.type === 2) { // expression + return false } - if (node.type === 3) { - // text - return true; + if (node.type === 3) { // text + return true } - return !!( - node.pre || - (!node.hasBindings && // no dynamic bindings - !node.if && - !node.for && // not v-if or v-for or v-else - !isBuiltInTag(node.tag) && // not a built-in - isPlatformReservedTag(node.tag) && // not a component - !isDirectChildOfTemplateFor(node) && - Object.keys(node).every(isStaticKey)) - ); + return !!(node.pre || ( + !node.hasBindings && // no dynamic bindings + !node.if && !node.for && // not v-if or v-for or v-else + !isBuiltInTag(node.tag) && // not a built-in + isPlatformReservedTag(node.tag) && // not a component + !isDirectChildOfTemplateFor(node) && + Object.keys(node).every(isStaticKey) + )) } - function isDirectChildOfTemplateFor(node) { + function isDirectChildOfTemplateFor (node) { while (node.parent) { node = node.parent; - if (node.tag !== "template") { - return false; + if (node.tag !== 'template') { + return false } if (node.for) { - return true; + return true } } - return false; + return false } /* */ var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/; var fnInvokeRE = /\([^)]*?\);*$/; - var simplePathRE = - /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/; + var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/; // KeyboardEvent.keyCode aliases var keyCodes = { @@ -11227,36 +10740,34 @@ left: 37, right: 39, down: 40, - delete: [8, 46], + 'delete': [8, 46] }; // KeyboardEvent.key aliases var keyNames = { // #7880: IE11 and Edge use `Esc` for Escape key name. - esc: ["Esc", "Escape"], - tab: "Tab", - enter: "Enter", + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', // #9112: IE11 uses `Spacebar` for Space key name. - space: [" ", "Spacebar"], + space: [' ', 'Spacebar'], // #7806: IE11 uses key names without `Arrow` prefix for arrow keys. - up: ["Up", "ArrowUp"], - left: ["Left", "ArrowLeft"], - right: ["Right", "ArrowRight"], - down: ["Down", "ArrowDown"], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], // #9112: IE11 uses `Del` for Delete key name. - delete: ["Backspace", "Delete", "Del"], + 'delete': ['Backspace', 'Delete', 'Del'] }; // #4868: modifiers that prevent the execution of the listener // need to explicitly return null so that we can determine whether to remove // the listener for .once - var genGuard = function (condition) { - return "if(" + condition + ")return null;"; - }; + var genGuard = function (condition) { return ("if(" + condition + ")return null;"); }; var modifierCode = { - stop: "$event.stopPropagation();", - prevent: "$event.preventDefault();", + stop: '$event.stopPropagation();', + prevent: '$event.preventDefault();', self: genGuard("$event.target !== $event.currentTarget"), ctrl: genGuard("!$event.ctrlKey"), shift: genGuard("!$event.shiftKey"), @@ -11264,11 +10775,14 @@ meta: genGuard("!$event.metaKey"), left: genGuard("'button' in $event && $event.button !== 0"), middle: genGuard("'button' in $event && $event.button !== 1"), - right: genGuard("'button' in $event && $event.button !== 2"), + right: genGuard("'button' in $event && $event.button !== 2") }; - function genHandlers(events, isNative) { - var prefix = isNative ? "nativeOn:" : "on:"; + function genHandlers ( + events, + isNative + ) { + var prefix = isNative ? 'nativeOn:' : 'on:'; var staticHandlers = ""; var dynamicHandlers = ""; for (var name in events) { @@ -11276,59 +10790,38 @@ if (events[name] && events[name].dynamic) { dynamicHandlers += name + "," + handlerCode + ","; } else { - staticHandlers += '"' + name + '":' + handlerCode + ","; + staticHandlers += "\"" + name + "\":" + handlerCode + ","; } } - staticHandlers = "{" + staticHandlers.slice(0, -1) + "}"; + staticHandlers = "{" + (staticHandlers.slice(0, -1)) + "}"; if (dynamicHandlers) { - return ( - prefix + - "_d(" + - staticHandlers + - ",[" + - dynamicHandlers.slice(0, -1) + - "])" - ); + return prefix + "_d(" + staticHandlers + ",[" + (dynamicHandlers.slice(0, -1)) + "])" } else { - return prefix + staticHandlers; + return prefix + staticHandlers } } - function genHandler(handler) { + function genHandler (handler) { if (!handler) { - return "function(){}"; + return 'function(){}' } if (Array.isArray(handler)) { - return ( - "[" + - handler - .map(function (handler) { - return genHandler(handler); - }) - .join(",") + - "]" - ); + return ("[" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + "]") } var isMethodPath = simplePathRE.test(handler.value); var isFunctionExpression = fnExpRE.test(handler.value); - var isFunctionInvocation = simplePathRE.test( - handler.value.replace(fnInvokeRE, "") - ); + var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, '')); if (!handler.modifiers) { if (isMethodPath || isFunctionExpression) { - return handler.value; + return handler.value } - return ( - "function($event){" + - (isFunctionInvocation ? "return " + handler.value : handler.value) + - "}" - ); // inline statement + return ("function($event){" + (isFunctionInvocation ? ("return " + (handler.value)) : handler.value) + "}") // inline statement } else { - var code = ""; - var genModifierCode = ""; + var code = ''; + var genModifierCode = ''; var keys = []; for (var key in handler.modifiers) { if (modifierCode[key]) { @@ -11337,17 +10830,13 @@ if (keyCodes[key]) { keys.push(key); } - } else if (key === "exact") { - var modifiers = handler.modifiers; + } else if (key === 'exact') { + var modifiers = (handler.modifiers); genModifierCode += genGuard( - ["ctrl", "shift", "alt", "meta"] - .filter(function (keyModifier) { - return !modifiers[keyModifier]; - }) - .map(function (keyModifier) { - return "$event." + keyModifier + "Key"; - }) - .join("||") + ['ctrl', 'shift', 'alt', 'meta'] + .filter(function (keyModifier) { return !modifiers[keyModifier]; }) + .map(function (keyModifier) { return ("$event." + keyModifier + "Key"); }) + .join('||') ); } else { keys.push(key); @@ -11361,74 +10850,57 @@ code += genModifierCode; } var handlerCode = isMethodPath - ? "return " + handler.value + "($event)" + ? ("return " + (handler.value) + "($event)") : isFunctionExpression - ? "return (" + handler.value + ")($event)" - : isFunctionInvocation - ? "return " + handler.value - : handler.value; - return "function($event){" + code + handlerCode + "}"; + ? ("return (" + (handler.value) + ")($event)") + : isFunctionInvocation + ? ("return " + (handler.value)) + : handler.value; + return ("function($event){" + code + handlerCode + "}") } } - function genKeyFilter(keys) { + function genKeyFilter (keys) { return ( // make sure the key filters only apply to KeyboardEvents // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake // key events that do not have keyCode property... "if(!$event.type.indexOf('key')&&" + - keys.map(genFilterCode).join("&&") + - ")return null;" - ); + (keys.map(genFilterCode).join('&&')) + ")return null;" + ) } - function genFilterCode(key) { + function genFilterCode (key) { var keyVal = parseInt(key, 10); if (keyVal) { - return "$event.keyCode!==" + keyVal; + return ("$event.keyCode!==" + keyVal) } var keyCode = keyCodes[key]; var keyName = keyNames[key]; return ( "_k($event.keyCode," + - JSON.stringify(key) + - "," + - JSON.stringify(keyCode) + - "," + + (JSON.stringify(key)) + "," + + (JSON.stringify(keyCode)) + "," + "$event.key," + - "" + - JSON.stringify(keyName) + + "" + (JSON.stringify(keyName)) + ")" - ); + ) } /* */ - function on(el, dir) { + function on (el, dir) { if (dir.modifiers) { warn("v-on without argument does not support modifiers."); } - el.wrapListeners = function (code) { - return "_g(" + code + "," + dir.value + ")"; - }; + el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); }; } /* */ - function bind$1(el, dir) { + function bind$1 (el, dir) { el.wrapData = function (code) { - return ( - "_b(" + - code + - ",'" + - el.tag + - "'," + - dir.value + - "," + - (dir.modifiers && dir.modifiers.prop ? "true" : "false") + - (dir.modifiers && dir.modifiers.sync ? ",true" : "") + - ")" - ); + return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")") }; } @@ -11437,52 +10909,59 @@ var baseDirectives = { on: on, bind: bind$1, - cloak: noop, + cloak: noop }; /* */ - var CodegenState = function CodegenState(options) { + + + + + var CodegenState = function CodegenState (options) { this.options = options; this.warn = options.warn || baseWarn; - this.transforms = pluckModuleFunction(options.modules, "transformCode"); - this.dataGenFns = pluckModuleFunction(options.modules, "genData"); + this.transforms = pluckModuleFunction(options.modules, 'transformCode'); + this.dataGenFns = pluckModuleFunction(options.modules, 'genData'); this.directives = extend(extend({}, baseDirectives), options.directives); var isReservedTag = options.isReservedTag || no; - this.maybeComponent = function (el) { - return !!el.component || !isReservedTag(el.tag); - }; + this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); }; this.onceId = 0; this.staticRenderFns = []; this.pre = false; }; - function generate(ast, options) { + + + function generate ( + ast, + options + ) { var state = new CodegenState(options); var code = ast ? genElement(ast, state) : '_c("div")'; return { - render: "with(this){return " + code + "}", - staticRenderFns: state.staticRenderFns, - }; + render: ("with(this){return " + code + "}"), + staticRenderFns: state.staticRenderFns + } } - function genElement(el, state) { + function genElement (el, state) { if (el.parent) { el.pre = el.pre || el.parent.pre; } if (el.staticRoot && !el.staticProcessed) { - return genStatic(el, state); + return genStatic(el, state) } else if (el.once && !el.onceProcessed) { - return genOnce(el, state); + return genOnce(el, state) } else if (el.for && !el.forProcessed) { - return genFor(el, state); + return genFor(el, state) } else if (el.if && !el.ifProcessed) { - return genIf(el, state); - } else if (el.tag === "template" && !el.slotTarget && !state.pre) { - return genChildren(el, state) || "void 0"; - } else if (el.tag === "slot") { - return genSlot(el, state); + return genIf(el, state) + } else if (el.tag === 'template' && !el.slotTarget && !state.pre) { + return genChildren(el, state) || 'void 0' + } else if (el.tag === 'slot') { + return genSlot(el, state) } else { // component or element var code; @@ -11495,24 +10974,18 @@ } var children = el.inlineTemplate ? null : genChildren(el, state, true); - code = - "_c('" + - el.tag + - "'" + - (data ? "," + data : "") + - (children ? "," + children : "") + - ")"; + code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")"; } // module transforms for (var i = 0; i < state.transforms.length; i++) { code = state.transforms[i](el, code); } - return code; + return code } } // hoist static sub-trees out - function genStatic(el, state) { + function genStatic (el, state) { el.staticProcessed = true; // Some elements (templates) need to behave differently inside of a v-pre // node. All pre nodes are static roots, so we can use this as a location to @@ -11521,143 +10994,123 @@ if (el.pre) { state.pre = el.pre; } - state.staticRenderFns.push( - "with(this){return " + genElement(el, state) + "}" - ); + state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}")); state.pre = originalPreState; - return ( - "_m(" + - (state.staticRenderFns.length - 1) + - (el.staticInFor ? ",true" : "") + - ")" - ); + return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")") } // v-once - function genOnce(el, state) { + function genOnce (el, state) { el.onceProcessed = true; if (el.if && !el.ifProcessed) { - return genIf(el, state); + return genIf(el, state) } else if (el.staticInFor) { - var key = ""; + var key = ''; var parent = el.parent; while (parent) { if (parent.for) { key = parent.key; - break; + break } parent = parent.parent; } if (!key) { state.warn( "v-once can only be used inside v-for that is keyed. ", - el.rawAttrsMap["v-once"] + el.rawAttrsMap['v-once'] ); - return genElement(el, state); + return genElement(el, state) } - return ( - "_o(" + genElement(el, state) + "," + state.onceId++ + "," + key + ")" - ); + return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + "," + key + ")") } else { - return genStatic(el, state); + return genStatic(el, state) } } - function genIf(el, state, altGen, altEmpty) { + function genIf ( + el, + state, + altGen, + altEmpty + ) { el.ifProcessed = true; // avoid recursion - return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty); + return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty) } - function genIfConditions(conditions, state, altGen, altEmpty) { + function genIfConditions ( + conditions, + state, + altGen, + altEmpty + ) { if (!conditions.length) { - return altEmpty || "_e()"; + return altEmpty || '_e()' } var condition = conditions.shift(); if (condition.exp) { - return ( - "(" + - condition.exp + - ")?" + - genTernaryExp(condition.block) + - ":" + - genIfConditions(conditions, state, altGen, altEmpty) - ); + return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty))) } else { - return "" + genTernaryExp(condition.block); + return ("" + (genTernaryExp(condition.block))) } // v-if with v-once should generate code like (a)?_m(0):_m(1) - function genTernaryExp(el) { + function genTernaryExp (el) { return altGen ? altGen(el, state) : el.once - ? genOnce(el, state) - : genElement(el, state); + ? genOnce(el, state) + : genElement(el, state) } } - function genFor(el, state, altGen, altHelper) { + function genFor ( + el, + state, + altGen, + altHelper + ) { var exp = el.for; var alias = el.alias; - var iterator1 = el.iterator1 ? "," + el.iterator1 : ""; - var iterator2 = el.iterator2 ? "," + el.iterator2 : ""; + var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : ''; + var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : ''; - if ( - state.maybeComponent(el) && - el.tag !== "slot" && - el.tag !== "template" && + if (state.maybeComponent(el) && + el.tag !== 'slot' && + el.tag !== 'template' && !el.key ) { state.warn( - "<" + - el.tag + - ' v-for="' + - alias + - " in " + - exp + - '">: component lists rendered with ' + - "v-for should have explicit keys. " + - "See https://vuejs.org/guide/list.html#key for more info.", - el.rawAttrsMap["v-for"], + "<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " + + "v-for should have explicit keys. " + + "See https://vuejs.org/guide/list.html#key for more info.", + el.rawAttrsMap['v-for'], true /* tip */ ); } el.forProcessed = true; // avoid recursion - return ( - (altHelper || "_l") + - "((" + - exp + - ")," + - "function(" + - alias + - iterator1 + - iterator2 + - "){" + - "return " + - (altGen || genElement)(el, state) + - "})" - ); + return (altHelper || '_l') + "((" + exp + ")," + + "function(" + alias + iterator1 + iterator2 + "){" + + "return " + ((altGen || genElement)(el, state)) + + '})' } - function genData$2(el, state) { - var data = "{"; + function genData$2 (el, state) { + var data = '{'; // directives first. // directives may mutate the el's other properties before they are generated. var dirs = genDirectives(el, state); - if (dirs) { - data += dirs + ","; - } + if (dirs) { data += dirs + ','; } // key if (el.key) { - data += "key:" + el.key + ","; + data += "key:" + (el.key) + ","; } // ref if (el.ref) { - data += "ref:" + el.ref + ","; + data += "ref:" + (el.ref) + ","; } if (el.refInFor) { data += "refInFor:true,"; @@ -11668,7 +11121,7 @@ } // record original tag name for components using "is" attribute if (el.component) { - data += 'tag:"' + el.tag + '",'; + data += "tag:\"" + (el.tag) + "\","; } // module data generation functions for (var i = 0; i < state.dataGenFns.length; i++) { @@ -11676,38 +11129,31 @@ } // attributes if (el.attrs) { - data += "attrs:" + genProps(el.attrs) + ","; + data += "attrs:" + (genProps(el.attrs)) + ","; } // DOM props if (el.props) { - data += "domProps:" + genProps(el.props) + ","; + data += "domProps:" + (genProps(el.props)) + ","; } // event handlers if (el.events) { - data += genHandlers(el.events, false) + ","; + data += (genHandlers(el.events, false)) + ","; } if (el.nativeEvents) { - data += genHandlers(el.nativeEvents, true) + ","; + data += (genHandlers(el.nativeEvents, true)) + ","; } // slot target // only for non-scoped slots if (el.slotTarget && !el.slotScope) { - data += "slot:" + el.slotTarget + ","; + data += "slot:" + (el.slotTarget) + ","; } // scoped slots if (el.scopedSlots) { - data += genScopedSlots(el, el.scopedSlots, state) + ","; + data += (genScopedSlots(el, el.scopedSlots, state)) + ","; } // component v-model if (el.model) { - data += - "model:{value:" + - el.model.value + - ",callback:" + - el.model.callback + - ",expression:" + - el.model.expression + - "},"; + data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},"; } // inline-template if (el.inlineTemplate) { @@ -11716,13 +11162,12 @@ data += inlineTemplate + ","; } } - data = data.replace(/,$/, "") + "}"; + data = data.replace(/,$/, '') + '}'; // v-bind dynamic argument wrap // v-bind with dynamic arguments must be applied using the same v-bind object // merge helper so that class/style/mustUseProp attrs are handled correctly. if (el.dynamicAttrs) { - data = - "_b(" + data + ',"' + el.tag + '",' + genProps(el.dynamicAttrs) + ")"; + data = "_b(" + data + ",\"" + (el.tag) + "\"," + (genProps(el.dynamicAttrs)) + ")"; } // v-bind data wrap if (el.wrapData) { @@ -11732,15 +11177,13 @@ if (el.wrapListeners) { data = el.wrapListeners(data); } - return data; + return data } - function genDirectives(el, state) { + function genDirectives (el, state) { var dirs = el.directives; - if (!dirs) { - return; - } - var res = "directives:["; + if (!dirs) { return } + var res = 'directives:['; var hasRuntime = false; var i, l, dir, needRuntime; for (i = 0, l = dirs.length; i < l; i++) { @@ -11754,70 +11197,46 @@ } if (needRuntime) { hasRuntime = true; - res += - '{name:"' + - dir.name + - '",rawName:"' + - dir.rawName + - '"' + - (dir.value - ? ",value:(" + - dir.value + - "),expression:" + - JSON.stringify(dir.value) - : "") + - (dir.arg - ? ",arg:" + (dir.isDynamicArg ? dir.arg : '"' + dir.arg + '"') - : "") + - (dir.modifiers ? ",modifiers:" + JSON.stringify(dir.modifiers) : "") + - "},"; + res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:" + (dir.isDynamicArg ? dir.arg : ("\"" + (dir.arg) + "\""))) : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},"; } } if (hasRuntime) { - return res.slice(0, -1) + "]"; + return res.slice(0, -1) + ']' } } - function genInlineTemplate(el, state) { + function genInlineTemplate (el, state) { var ast = el.children[0]; if (el.children.length !== 1 || ast.type !== 1) { state.warn( - "Inline-template components must have exactly one child element.", + 'Inline-template components must have exactly one child element.', { start: el.start } ); } if (ast && ast.type === 1) { var inlineRenderFns = generate(ast, state.options); - return ( - "inlineTemplate:{render:function(){" + - inlineRenderFns.render + - "},staticRenderFns:[" + - inlineRenderFns.staticRenderFns - .map(function (code) { - return "function(){" + code + "}"; - }) - .join(",") + - "]}" - ); + return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}") } } - function genScopedSlots(el, slots, state) { + function genScopedSlots ( + el, + slots, + state + ) { // by default scoped slots are considered "stable", this allows child // components with only scoped slots to skip forced updates from parent. // but in some cases we have to bail-out of this optimization // for example if the slot contains dynamic names, has v-if or v-for on them... - var needsForceUpdate = - el.for || - Object.keys(slots).some(function (key) { - var slot = slots[key]; - return ( - slot.slotTargetDynamic || - slot.if || - slot.for || - containsSlotChild(slot) // is passing down slot from parent which may be dynamic - ); - }); + var needsForceUpdate = el.for || Object.keys(slots).some(function (key) { + var slot = slots[key]; + return ( + slot.slotTargetDynamic || + slot.if || + slot.for || + containsSlotChild(slot) // is passing down slot from parent which may be dynamic + ) + }); // #9534: if a component with scoped slots is inside a conditional branch, // it's possible for the same component to be reused but with different @@ -11838,7 +11257,7 @@ parent.for ) { needsForceUpdate = true; - break; + break } if (parent.if) { needsKey = true; @@ -11848,113 +11267,82 @@ } var generatedSlots = Object.keys(slots) - .map(function (key) { - return genScopedSlot(slots[key], state); - }) - .join(","); + .map(function (key) { return genScopedSlot(slots[key], state); }) + .join(','); - return ( - "scopedSlots:_u([" + - generatedSlots + - "]" + - (needsForceUpdate ? ",null,true" : "") + - (!needsForceUpdate && needsKey - ? ",null,false," + hash(generatedSlots) - : "") + - ")" - ); + return ("scopedSlots:_u([" + generatedSlots + "]" + (needsForceUpdate ? ",null,true" : "") + (!needsForceUpdate && needsKey ? (",null,false," + (hash(generatedSlots))) : "") + ")") } function hash(str) { var hash = 5381; var i = str.length; - while (i) { + while(i) { hash = (hash * 33) ^ str.charCodeAt(--i); } - return hash >>> 0; + return hash >>> 0 } - function containsSlotChild(el) { + function containsSlotChild (el) { if (el.type === 1) { - if (el.tag === "slot") { - return true; + if (el.tag === 'slot') { + return true } - return el.children.some(containsSlotChild); + return el.children.some(containsSlotChild) } - return false; + return false } - function genScopedSlot(el, state) { - var isLegacySyntax = el.attrsMap["slot-scope"]; + function genScopedSlot ( + el, + state + ) { + var isLegacySyntax = el.attrsMap['slot-scope']; if (el.if && !el.ifProcessed && !isLegacySyntax) { - return genIf(el, state, genScopedSlot, "null"); + return genIf(el, state, genScopedSlot, "null") } if (el.for && !el.forProcessed) { - return genFor(el, state, genScopedSlot); - } - var slotScope = - el.slotScope === emptySlotScopeToken ? "" : String(el.slotScope); - var fn = - "function(" + - slotScope + - "){" + - "return " + - (el.tag === "template" + return genFor(el, state, genScopedSlot) + } + var slotScope = el.slotScope === emptySlotScopeToken + ? "" + : String(el.slotScope); + var fn = "function(" + slotScope + "){" + + "return " + (el.tag === 'template' ? el.if && isLegacySyntax - ? "(" + - el.if + - ")?" + - (genChildren(el, state) || "undefined") + - ":undefined" - : genChildren(el, state) || "undefined" - : genElement(el, state)) + - "}"; + ? ("(" + (el.if) + ")?" + (genChildren(el, state) || 'undefined') + ":undefined") + : genChildren(el, state) || 'undefined' + : genElement(el, state)) + "}"; // reverse proxy v-slot without scope on this.$slots var reverseProxy = slotScope ? "" : ",proxy:true"; - return ( - "{key:" + - (el.slotTarget || '"default"') + - ",fn:" + - fn + - reverseProxy + - "}" - ); + return ("{key:" + (el.slotTarget || "\"default\"") + ",fn:" + fn + reverseProxy + "}") } - function genChildren(el, state, checkSkip, altGenElement, altGenNode) { + function genChildren ( + el, + state, + checkSkip, + altGenElement, + altGenNode + ) { var children = el.children; if (children.length) { var el$1 = children[0]; // optimize single v-for - if ( - children.length === 1 && + if (children.length === 1 && el$1.for && - el$1.tag !== "template" && - el$1.tag !== "slot" + el$1.tag !== 'template' && + el$1.tag !== 'slot' ) { var normalizationType = checkSkip - ? state.maybeComponent(el$1) - ? ",1" - : ",0" + ? state.maybeComponent(el$1) ? ",1" : ",0" : ""; - return ( - "" + (altGenElement || genElement)(el$1, state) + normalizationType - ); + return ("" + ((altGenElement || genElement)(el$1, state)) + normalizationType) } var normalizationType$1 = checkSkip ? getNormalizationType(children, state.maybeComponent) : 0; var gen = altGenNode || genNode; - return ( - "[" + - children - .map(function (c) { - return gen(c, state); - }) - .join(",") + - "]" + - (normalizationType$1 ? "," + normalizationType$1 : "") - ); + return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType$1 ? ("," + normalizationType$1) : '')) } } @@ -11962,82 +11350,66 @@ // 0: no normalization needed // 1: simple normalization needed (possible 1-level deep nested array) // 2: full normalization needed - function getNormalizationType(children, maybeComponent) { + function getNormalizationType ( + children, + maybeComponent + ) { var res = 0; for (var i = 0; i < children.length; i++) { var el = children[i]; if (el.type !== 1) { - continue; + continue } - if ( - needsNormalization(el) || - (el.ifConditions && - el.ifConditions.some(function (c) { - return needsNormalization(c.block); - })) - ) { + if (needsNormalization(el) || + (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) { res = 2; - break; + break } - if ( - maybeComponent(el) || - (el.ifConditions && - el.ifConditions.some(function (c) { - return maybeComponent(c.block); - })) - ) { + if (maybeComponent(el) || + (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) { res = 1; } } - return res; + return res } - function needsNormalization(el) { - return el.for !== undefined || el.tag === "template" || el.tag === "slot"; + function needsNormalization (el) { + return el.for !== undefined || el.tag === 'template' || el.tag === 'slot' } - function genNode(node, state) { + function genNode (node, state) { if (node.type === 1) { - return genElement(node, state); + return genElement(node, state) } else if (node.type === 3 && node.isComment) { - return genComment(node); + return genComment(node) } else { - return genText(node); + return genText(node) } } - function genText(text) { - return ( - "_v(" + - (text.type === 2 - ? text.expression // no need for () because already wrapped in _s() - : transformSpecialNewlines(JSON.stringify(text.text))) + - ")" - ); + function genText (text) { + return ("_v(" + (text.type === 2 + ? text.expression // no need for () because already wrapped in _s() + : transformSpecialNewlines(JSON.stringify(text.text))) + ")") } - function genComment(comment) { - return "_e(" + JSON.stringify(comment.text) + ")"; + function genComment (comment) { + return ("_e(" + (JSON.stringify(comment.text)) + ")") } - function genSlot(el, state) { + function genSlot (el, state) { var slotName = el.slotName || '"default"'; var children = genChildren(el, state); - var res = "_t(" + slotName + (children ? "," + children : ""); - var attrs = - el.attrs || el.dynamicAttrs - ? genProps( - (el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { - return { - // slot props are camelized - name: camelize(attr.name), - value: attr.value, - dynamic: attr.dynamic, - }; - }) - ) - : null; - var bind$$1 = el.attrsMap["v-bind"]; + var res = "_t(" + slotName + (children ? ("," + children) : ''); + var attrs = el.attrs || el.dynamicAttrs + ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({ + // slot props are camelized + name: camelize(attr.name), + value: attr.value, + dynamic: attr.dynamic + }); })) + : null; + var bind$$1 = el.attrsMap['v-bind']; if ((attrs || bind$$1) && !children) { res += ",null"; } @@ -12045,103 +11417,90 @@ res += "," + attrs; } if (bind$$1) { - res += (attrs ? "" : ",null") + "," + bind$$1; + res += (attrs ? '' : ',null') + "," + bind$$1; } - return res + ")"; + return res + ')' } // componentName is el.component, take it as argument to shun flow's pessimistic refinement - function genComponent(componentName, el, state) { + function genComponent ( + componentName, + el, + state + ) { var children = el.inlineTemplate ? null : genChildren(el, state, true); - return ( - "_c(" + - componentName + - "," + - genData$2(el, state) + - (children ? "," + children : "") + - ")" - ); + return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")") } - function genProps(props) { + function genProps (props) { var staticProps = ""; var dynamicProps = ""; for (var i = 0; i < props.length; i++) { var prop = props[i]; var value = transformSpecialNewlines(prop.value); if (prop.dynamic) { - dynamicProps += prop.name + "," + value + ","; + dynamicProps += (prop.name) + "," + value + ","; } else { - staticProps += '"' + prop.name + '":' + value + ","; + staticProps += "\"" + (prop.name) + "\":" + value + ","; } } - staticProps = "{" + staticProps.slice(0, -1) + "}"; + staticProps = "{" + (staticProps.slice(0, -1)) + "}"; if (dynamicProps) { - return "_d(" + staticProps + ",[" + dynamicProps.slice(0, -1) + "])"; + return ("_d(" + staticProps + ",[" + (dynamicProps.slice(0, -1)) + "])") } else { - return staticProps; + return staticProps } } // #3895, #4268 - function transformSpecialNewlines(text) { - return text.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); + function transformSpecialNewlines (text) { + return text + .replace(/\u2028/g, '\\u2028') + .replace(/\u2029/g, '\\u2029') } /* */ + + // these keywords should not appear inside expressions, but operators like // typeof, instanceof and in are allowed - var prohibitedKeywordRE = new RegExp( - "\\b" + - ( - "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const," + - "super,throw,while,yield,delete,export,import,return,switch,default," + - "extends,finally,continue,debugger,function,arguments" - ) - .split(",") - .join("\\b|\\b") + - "\\b" - ); + var prohibitedKeywordRE = new RegExp('\\b' + ( + 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' + + 'super,throw,while,yield,delete,export,import,return,switch,default,' + + 'extends,finally,continue,debugger,function,arguments' + ).split(',').join('\\b|\\b') + '\\b'); // these unary operators should not be used as property/method names - var unaryOperatorsRE = new RegExp( - "\\b" + - "delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b") + - "\\s*\\([^\\)]*\\)" - ); + var unaryOperatorsRE = new RegExp('\\b' + ( + 'delete,typeof,void' + ).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)'); // strip strings in expressions - var stripStringRE = - /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; + var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; // detect problematic expressions in a template - function detectErrors(ast, warn) { + function detectErrors (ast, warn) { if (ast) { checkNode(ast, warn); } } - function checkNode(node, warn) { + function checkNode (node, warn) { if (node.type === 1) { for (var name in node.attrsMap) { if (dirRE.test(name)) { var value = node.attrsMap[name]; if (value) { var range = node.rawAttrsMap[name]; - if (name === "v-for") { - checkFor(node, 'v-for="' + value + '"', warn, range); - } else if (name === "v-slot" || name[0] === "#") { - checkFunctionParameterExpression( - value, - name + '="' + value + '"', - warn, - range - ); + if (name === 'v-for') { + checkFor(node, ("v-for=\"" + value + "\""), warn, range); + } else if (name === 'v-slot' || name[0] === '#') { + checkFunctionParameterExpression(value, (name + "=\"" + value + "\""), warn, range); } else if (onRE.test(name)) { - checkEvent(value, name + '="' + value + '"', warn, range); + checkEvent(value, (name + "=\"" + value + "\""), warn, range); } else { - checkExpression(value, name + '="' + value + '"', warn, range); + checkExpression(value, (name + "=\"" + value + "\""), warn, range); } } } @@ -12156,89 +11515,72 @@ } } - function checkEvent(exp, text, warn, range) { - var stripped = exp.replace(stripStringRE, ""); + function checkEvent (exp, text, warn, range) { + var stripped = exp.replace(stripStringRE, ''); var keywordMatch = stripped.match(unaryOperatorsRE); - if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== "$") { + if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') { warn( "avoid using JavaScript unary operator as property name: " + - '"' + - keywordMatch[0] + - '" in expression ' + - text.trim(), + "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim()), range ); } checkExpression(exp, text, warn, range); } - function checkFor(node, text, warn, range) { - checkExpression(node.for || "", text, warn, range); - checkIdentifier(node.alias, "v-for alias", text, warn, range); - checkIdentifier(node.iterator1, "v-for iterator", text, warn, range); - checkIdentifier(node.iterator2, "v-for iterator", text, warn, range); + function checkFor (node, text, warn, range) { + checkExpression(node.for || '', text, warn, range); + checkIdentifier(node.alias, 'v-for alias', text, warn, range); + checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range); + checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range); } - function checkIdentifier(ident, type, text, warn, range) { - if (typeof ident === "string") { + function checkIdentifier ( + ident, + type, + text, + warn, + range + ) { + if (typeof ident === 'string') { try { - new Function("var " + ident + "=_"); + new Function(("var " + ident + "=_")); } catch (e) { - warn( - "invalid " + type + ' "' + ident + '" in expression: ' + text.trim(), - range - ); + warn(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())), range); } } } - function checkExpression(exp, text, warn, range) { + function checkExpression (exp, text, warn, range) { try { - new Function("return " + exp); + new Function(("return " + exp)); } catch (e) { - var keywordMatch = exp - .replace(stripStringRE, "") - .match(prohibitedKeywordRE); + var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE); if (keywordMatch) { warn( "avoid using JavaScript keyword as property name: " + - '"' + - keywordMatch[0] + - '"\n Raw expression: ' + - text.trim(), + "\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim()), range ); } else { warn( - "invalid expression: " + - e.message + - " in\n\n" + - " " + - exp + - "\n\n" + - " Raw expression: " + - text.trim() + - "\n", + "invalid expression: " + (e.message) + " in\n\n" + + " " + exp + "\n\n" + + " Raw expression: " + (text.trim()) + "\n", range ); } } } - function checkFunctionParameterExpression(exp, text, warn, range) { + function checkFunctionParameterExpression (exp, text, warn, range) { try { - new Function(exp, ""); + new Function(exp, ''); } catch (e) { warn( - "invalid function parameter expression: " + - e.message + - " in\n\n" + - " " + - exp + - "\n\n" + - " Raw expression: " + - text.trim() + - "\n", + "invalid function parameter expression: " + (e.message) + " in\n\n" + + " " + exp + "\n\n" + + " Raw expression: " + (text.trim()) + "\n", range ); } @@ -12248,9 +11590,13 @@ var range = 2; - function generateCodeFrame(source, start, end) { - if (start === void 0) start = 0; - if (end === void 0) end = source.length; + function generateCodeFrame ( + source, + start, + end + ) { + if ( start === void 0 ) start = 0; + if ( end === void 0 ) end = source.length; var lines = source.split(/\r?\n/); var count = 0; @@ -12259,16 +11605,8 @@ count += lines[i].length + 1; if (count >= start) { for (var j = i - range; j <= i + range || end > count; j++) { - if (j < 0 || j >= lines.length) { - continue; - } - res.push( - "" + - (j + 1) + - repeat$1(" ", 3 - String(j + 1).length) + - "| " + - lines[j] - ); + if (j < 0 || j >= lines.length) { continue } + res.push(("" + (j + 1) + (repeat$1(" ", 3 - String(j + 1).length)) + "| " + (lines[j]))); var lineLength = lines[j].length; if (j === i) { // push underline @@ -12283,45 +11621,46 @@ count += lineLength + 1; } } - break; + break } } - return res.join("\n"); + return res.join('\n') } - function repeat$1(str, n) { - var result = ""; + function repeat$1 (str, n) { + var result = ''; if (n > 0) { - while (true) { - // eslint-disable-line - if (n & 1) { - result += str; - } + while (true) { // eslint-disable-line + if (n & 1) { result += str; } n >>>= 1; - if (n <= 0) { - break; - } + if (n <= 0) { break } str += str; } } - return result; + return result } /* */ - function createFunction(code, errors) { + + + function createFunction (code, errors) { try { - return new Function(code); + return new Function(code) } catch (err) { errors.push({ err: err, code: code }); - return noop; + return noop } } - function createCompileToFunctionFn(compile) { + function createCompileToFunctionFn (compile) { var cache = Object.create(null); - return function compileToFunctions(template, options, vm) { + return function compileToFunctions ( + template, + options, + vm + ) { options = extend({}, options); var warn$$1 = options.warn || warn; delete options.warn; @@ -12330,15 +11669,15 @@ { // detect possible CSP restriction try { - new Function("return 1"); + new Function('return 1'); } catch (e) { if (e.toString().match(/unsafe-eval|CSP/)) { warn$$1( - "It seems you are using the standalone build of Vue.js in an " + - "environment with Content Security Policy that prohibits unsafe-eval. " + - "The template compiler cannot work in this environment. Consider " + - "relaxing the policy to allow unsafe-eval or pre-compiling your " + - "templates into render functions." + 'It seems you are using the standalone build of Vue.js in an ' + + 'environment with Content Security Policy that prohibits unsafe-eval. ' + + 'The template compiler cannot work in this environment. Consider ' + + 'relaxing the policy to allow unsafe-eval or pre-compiling your ' + + 'templates into render functions.' ); } } @@ -12349,7 +11688,7 @@ ? String(options.delimiters) + template : template; if (cache[key]) { - return cache[key]; + return cache[key] } // compile @@ -12361,37 +11700,24 @@ if (options.outputSourceRange) { compiled.errors.forEach(function (e) { warn$$1( - "Error compiling template:\n\n" + - e.msg + - "\n\n" + - generateCodeFrame(template, e.start, e.end), + "Error compiling template:\n\n" + (e.msg) + "\n\n" + + generateCodeFrame(template, e.start, e.end), vm ); }); } else { warn$$1( - "Error compiling template:\n\n" + - template + - "\n\n" + - compiled.errors - .map(function (e) { - return "- " + e; - }) - .join("\n") + - "\n", + "Error compiling template:\n\n" + template + "\n\n" + + compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n', vm ); } } if (compiled.tips && compiled.tips.length) { if (options.outputSourceRange) { - compiled.tips.forEach(function (e) { - return tip(e.msg, vm); - }); + compiled.tips.forEach(function (e) { return tip(e.msg, vm); }); } else { - compiled.tips.forEach(function (msg) { - return tip(msg, vm); - }); + compiled.tips.forEach(function (msg) { return tip(msg, vm); }); } } } @@ -12401,7 +11727,7 @@ var fnGenErrors = []; res.render = createFunction(compiled.render, fnGenErrors); res.staticRenderFns = compiled.staticRenderFns.map(function (code) { - return createFunction(code, fnGenErrors); + return createFunction(code, fnGenErrors) }); // check function generation errors. @@ -12409,34 +11735,32 @@ // mostly for codegen development use /* istanbul ignore if */ { - if ( - (!compiled.errors || !compiled.errors.length) && - fnGenErrors.length - ) { + if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) { warn$$1( "Failed to generate render function:\n\n" + - fnGenErrors - .map(function (ref) { - var err = ref.err; - var code = ref.code; - - return err.toString() + " in\n\n" + code + "\n"; - }) - .join("\n"), + fnGenErrors.map(function (ref) { + var err = ref.err; + var code = ref.code; + + return ((err.toString()) + " in\n\n" + code + "\n"); + }).join('\n'), vm ); } } - return (cache[key] = res); - }; + return (cache[key] = res) + } } /* */ - function createCompilerCreator(baseCompile) { - return function createCompiler(baseOptions) { - function compile(template, options) { + function createCompilerCreator (baseCompile) { + return function createCompiler (baseOptions) { + function compile ( + template, + options + ) { var finalOptions = Object.create(baseOptions); var errors = []; var tips = []; @@ -12465,9 +11789,8 @@ } // merge custom modules if (options.modules) { - finalOptions.modules = (baseOptions.modules || []).concat( - options.modules - ); + finalOptions.modules = + (baseOptions.modules || []).concat(options.modules); } // merge custom directives if (options.directives) { @@ -12478,7 +11801,7 @@ } // copy other options for (var key in options) { - if (key !== "modules" && key !== "directives") { + if (key !== 'modules' && key !== 'directives') { finalOptions[key] = options[key]; } } @@ -12492,14 +11815,14 @@ } compiled.errors = errors; compiled.tips = tips; - return compiled; + return compiled } return { compile: compile, - compileToFunctions: createCompileToFunctionFn(compile), - }; - }; + compileToFunctions: createCompileToFunctionFn(compile) + } + } } /* */ @@ -12507,7 +11830,7 @@ // `createCompilerCreator` allows creating compilers that use alternative // parser/optimizer/codegen, e.g the SSR optimizing compiler. // Here we just export a default compiler using the default parts. - var createCompiler = createCompilerCreator(function baseCompile( + var createCompiler = createCompilerCreator(function baseCompile ( template, options ) { @@ -12519,8 +11842,8 @@ return { ast: ast, render: code.render, - staticRenderFns: code.staticRenderFns, - }; + staticRenderFns: code.staticRenderFns + } }); /* */ @@ -12533,10 +11856,10 @@ // check whether current browser encodes a char inside attribute values var div; - function getShouldDecode(href) { - div = div || document.createElement("div"); - div.innerHTML = href ? '<a href="\n"/>' : '<div a="\n"/>'; - return div.innerHTML.indexOf(" ") > 0; + function getShouldDecode (href) { + div = div || document.createElement('div'); + div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>"; + return div.innerHTML.indexOf(' ') > 0 } // #3663: IE encodes newlines inside attribute values while other browsers don't @@ -12548,11 +11871,14 @@ var idToTemplate = cached(function (id) { var el = query(id); - return el && el.innerHTML; + return el && el.innerHTML }); var mount = Vue.prototype.$mount; - Vue.prototype.$mount = function (el, hydrating) { + Vue.prototype.$mount = function ( + el, + hydrating + ) { el = el && query(el); /* istanbul ignore if */ @@ -12560,7 +11886,7 @@ warn( "Do not mount Vue to <html> or <body> - mount to normal elements instead." ); - return this; + return this } var options = this.$options; @@ -12568,13 +11894,13 @@ if (!options.render) { var template = options.template; if (template) { - if (typeof template === "string") { - if (template.charAt(0) === "#") { + if (typeof template === 'string') { + if (template.charAt(0) === '#') { template = idToTemplate(template); /* istanbul ignore if */ if (!template) { warn( - "Template element not found or is empty: " + options.template, + ("Template element not found or is empty: " + (options.template)), this ); } @@ -12583,9 +11909,9 @@ template = template.innerHTML; } else { { - warn("invalid template option:" + template, this); + warn('invalid template option:' + template, this); } - return this; + return this } } else if (el) { template = getOuterHTML(el); @@ -12593,20 +11919,16 @@ if (template) { /* istanbul ignore if */ if (config.performance && mark) { - mark("compile"); + mark('compile'); } - var ref = compileToFunctions( - template, - { - outputSourceRange: "development" !== "production", - shouldDecodeNewlines: shouldDecodeNewlines, - shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, - delimiters: options.delimiters, - comments: options.comments, - }, - this - ); + var ref = compileToFunctions(template, { + outputSourceRange: "development" !== 'production', + shouldDecodeNewlines: shouldDecodeNewlines, + shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, + delimiters: options.delimiters, + comments: options.comments + }, this); var render = ref.render; var staticRenderFns = ref.staticRenderFns; options.render = render; @@ -12614,29 +11936,30 @@ /* istanbul ignore if */ if (config.performance && mark) { - mark("compile end"); - measure("vue " + this._name + " compile", "compile", "compile end"); + mark('compile end'); + measure(("vue " + (this._name) + " compile"), 'compile', 'compile end'); } } } - return mount.call(this, el, hydrating); + return mount.call(this, el, hydrating) }; /** * Get outerHTML of elements, taking care * of SVG elements in IE as well. */ - function getOuterHTML(el) { + function getOuterHTML (el) { if (el.outerHTML) { - return el.outerHTML; + return el.outerHTML } else { - var container = document.createElement("div"); + var container = document.createElement('div'); container.appendChild(el.cloneNode(true)); - return container.innerHTML; + return container.innerHTML } } Vue.compile = compileToFunctions; return Vue; -}); + +})); diff --git a/notemyprogress/lang/en/local_notemyprogress.php b/notemyprogress/lang/en/local_notemyprogress.php index f6b4588e7f11ff0b3defaf56823eed7904519749..6b53d00dde3fd1dd2de99f4a8e23a1a588c63e34 100644 --- a/notemyprogress/lang/en/local_notemyprogress.php +++ b/notemyprogress/lang/en/local_notemyprogress.php @@ -714,64 +714,5 @@ $string['fml_settings_bddname_label'] = 'Name of the database'; $string['fml_settings_bddname_description'] = 'This parameter designates the name of the MongoDB database in which the information will be stored.'; $string['fml_settings_bddname_default'] = 'Empty'; -/* Gamification */ - -$string['tg_colon'] = '{$a->a}: {$a->b}'; -$string['tg_section_title'] = 'Course gamification settings'; -$string['tg_section_help_title'] = 'Course gamification settings'; -$string['tg_section_help_description'] = 'You can give the option of gamification to the students of the course.'; -$string['tg_save_warning_title'] = "Are you sure you want to save the changes?"; -$string['tg_save_warning_content'] = "If you change the settings for the gamification when the course has already started, data may be lost..."; -$string['tg_confirm_ok'] = "Save"; -$string['tg_confirm_cancel'] = "Cancel"; -$string['tg_save'] = "Save configuration"; -$string['tg_section_preview'] = 'Preview'; -$string['tg_section_experience'] = 'Experience points'; -$string['tg_section_information'] = 'Information'; -$string['tg_section_ranking'] = 'Ranking/Report'; -$string['tg_section_settings'] = 'Settings'; - -$string['tg_section_points'] = 'points'; -$string['tg_section_description'] = 'Description'; -$string['tg_section_no_description'] = 'No description'; -$string['tg_section_no_name'] = 'No name'; - -$string['tg_section_preview_next_level'] = 'to the next level'; -$string['tg_section_ranking_ranking_text'] = 'Ranking'; -$string['tg_section_ranking_level'] = 'Level'; -$string['tg_section_ranking_student'] = 'Student'; -$string['tg_section_ranking_total'] = 'Total'; -$string['tg_section_ranking_progress'] = 'Progress %'; - -$string['tg_section_settings_appearance'] = 'Appearance'; -$string['tg_section_settings_appearance_title'] = 'Title'; -$string['tg_section_settings_levels'] = 'Level settings'; -$string['tg_section_settings_levels_quantity'] = 'Levels'; -$string['tg_section_settings_levels_base_points'] = 'Base Points'; -$string['tg_section_settings_levels_calculated'] = 'Calculated'; -$string['tg_section_settings_levels_manually'] = 'Manually'; -$string['tg_section_settings_levels_name'] = 'Name'; -$string['tg_section_settings_levels_required'] = 'Points required'; -$string['tg_section_settings_rules'] = 'Rules setting'; -$string['tg_section_settings_add_rule'] = 'Add new rule'; -$string['tg_section_settings_earn'] = 'For this event win:'; -$string['tg_section_settings_select_event'] = 'Select an event'; - -$string['tg_timenow'] = 'Just now'; -$string['tg_timeseconds'] = '{$a}s ago'; -$string['tg_timeminutes'] = '{$a}m ago'; -$string['tg_timehours'] = '{$a}h ago'; -$string['tg_timedays'] = '{$a}d ago'; -$string['tg_timeweeks'] = '{$a}w ago'; -$string['tg_timewithinayearformat'] = '%b %e'; -$string['tg_timeolderyearformat'] = '%b %Y'; - -/* General Errors */ -$string['fml_api_error_network'] = "An error has occurred in communication with the server."; -$string['fml_api_invalid_data'] = 'Incorrect data'; -$string['fml_api_json_decode_error'] = 'Error Decoding sent data'; -$string['fml_api_invalid_token_error'] = 'The token sent in the transaction is invalid, please refresh the page'; -$string['fml_api_invalid_transaction'] = 'The request is incorrect'; -$string['fml_api_invalid_profile'] = 'You cannot do this action, your profile is incorrect'; -$string['fml_api_save_successful'] = 'The data has been successfully saved on the server'; -$string['fml_api_cancel_action'] = 'You have canceled the action'; + + diff --git a/notemyprogress/lang/es/local_notemyprogress.php b/notemyprogress/lang/es/local_notemyprogress.php index 734d82fccf5365581f8bcf244dae9fd1c5bd1d13..c318cd2e741f5bfea87bc8525604f20a1d7e2073 100644 --- a/notemyprogress/lang/es/local_notemyprogress.php +++ b/notemyprogress/lang/es/local_notemyprogress.php @@ -714,66 +714,3 @@ $string['fml_settings_bddport_default'] = '27017'; $string['fml_settings_bddname_label'] = 'Nombre de la base de datos'; $string['fml_settings_bddname_description'] = 'Este parámetro designa el nombre de la base de datos MongoDB en la que se guardará la información.'; $string['fml_settings_bddname_default'] = 'Vacío'; -/* Gamification */ - -$string['tg_colon'] = '{$a->a}: {$a->b}'; -$string['tg_section_title'] = 'Course gamification settings'; -$string['tg_section_help_title'] = 'Course gamification settings'; -$string['tg_section_help_description'] = 'You can give the option of gamification to the students of the course.'; -$string['tg_save_warning_title'] = "Are you sure you want to save the changes?"; -$string['tg_save_warning_content'] = "If you change the settings for the gamification when the course has already started, data may be lost..."; -$string['tg_confirm_ok'] = "Save"; -$string['tg_confirm_cancel'] = "Cancel"; -$string['tg_save'] = "Save configuration"; -$string['tg_section_preview'] = 'Preview'; -$string['tg_section_experience'] = 'Experience points'; -$string['tg_section_information'] = 'Information'; -$string['tg_section_ranking'] = 'Ranking/Report'; -$string['tg_section_settings'] = 'Settings'; - -$string['tg_section_points'] = 'points'; -$string['tg_section_description'] = 'Description'; -$string['tg_section_no_description'] = 'No description'; -$string['tg_section_no_name'] = 'No name'; - -$string['tg_section_preview_next_level'] = 'to the next level'; -$string['tg_section_ranking_ranking_text'] = 'Ranking'; -$string['tg_section_ranking_level'] = 'Level'; -$string['tg_section_ranking_student'] = 'Student'; -$string['tg_section_ranking_total'] = 'Total'; -$string['tg_section_ranking_progress'] = 'Progress %'; - -$string['tg_section_settings_appearance'] = 'Appearance'; -$string['tg_section_settings_appearance_title'] = 'Title'; -$string['tg_section_settings_levels'] = 'Level settings'; -$string['tg_section_settings_levels_quantity'] = 'Levels'; -$string['tg_section_settings_levels_base_points'] = 'Base Points'; -$string['tg_section_settings_levels_calculated'] = 'Calculated'; -$string['tg_section_settings_levels_manually'] = 'Manually'; -$string['tg_section_settings_levels_name'] = 'Name'; -$string['tg_section_settings_levels_required'] = 'Points required'; -$string['tg_section_settings_rules'] = 'Rules setting'; -$string['tg_section_settings_add_rule'] = 'Add new rule'; -$string['tg_section_settings_earn'] = 'For this event win:'; -$string['tg_section_settings_select_event'] = 'Select an event'; - -$string['tg_timenow'] = 'Just now'; -$string['tg_timeseconds'] = '{$a}s ago'; -$string['tg_timeminutes'] = '{$a}m ago'; -$string['tg_timehours'] = '{$a}h ago'; -$string['tg_timedays'] = '{$a}d ago'; -$string['tg_timeweeks'] = '{$a}w ago'; -$string['tg_timewithinayearformat'] = '%b %e'; -$string['tg_timeolderyearformat'] = '%b %Y'; - -/* General Errors */ -$string['fml_api_error_network'] = "An error has occurred in communication with the server."; -$string['fml_api_invalid_data'] = 'Incorrect data'; -$string['fml_api_json_decode_error'] = 'Error Decoding sent data'; -$string['fml_api_invalid_token_error'] = 'The token sent in the transaction is invalid, please refresh the page'; -$string['fml_api_invalid_transaction'] = 'The request is incorrect'; -$string['fml_api_invalid_profile'] = 'You cannot do this action, your profile is incorrect'; -$string['fml_api_save_successful'] = 'The data has been successfully saved on the server'; -$string['fml_api_cancel_action'] = 'You have canceled the action'; - - diff --git a/notemyprogress/lang/fr/local_notemyprogress.php b/notemyprogress/lang/fr/local_notemyprogress.php index ae161b4fafc0ed19a51220186a82024e387cb266..5eb0b48c8ce8fdae03425b3cc4f5070c02a3275e 100644 --- a/notemyprogress/lang/fr/local_notemyprogress.php +++ b/notemyprogress/lang/fr/local_notemyprogress.php @@ -718,65 +718,7 @@ $string['fml_settings_bddport_default'] = '27017'; $string['fml_settings_bddname_label'] = 'Nom de la base de données'; $string['fml_settings_bddname_description'] = 'Ce paramètre désigne le nom de la base de données MongoDB dans laquelle vont être enregistrées les informations.'; +$string['fml_settings_bddname_default'] = 'Vide'; + + -/* Gamification */ - -$string['tg_colon'] = '{$a->a}: {$a->b}'; -$string['tg_section_title'] = 'Course gamification settings'; -$string['tg_section_help_title'] = 'Course gamification settings'; -$string['tg_section_help_description'] = 'You can give the option of gamification to the students of the course.'; -$string['tg_save_warning_title'] = "Are you sure you want to save the changes?"; -$string['tg_save_warning_content'] = "If you change the settings for the gamification when the course has already started, data may be lost..."; -$string['tg_confirm_ok'] = "Save"; -$string['tg_confirm_cancel'] = "Cancel"; -$string['tg_save'] = "Save configuration"; -$string['tg_section_preview'] = 'Point de vue étudiant'; -$string['tg_section_experience'] = 'Experience points'; -$string['tg_section_information'] = 'Information'; -$string['tg_section_ranking'] = 'Ranking/Report'; -$string['tg_section_settings'] = 'Settings'; - -$string['tg_section_points'] = 'points'; -$string['tg_section_description'] = 'Description'; -$string['tg_section_no_description'] = 'No description'; -$string['tg_section_no_name'] = 'No name'; - -$string['tg_section_preview_next_level'] = 'to the next level'; -$string['tg_section_ranking_ranking_text'] = 'Ranking'; -$string['tg_section_ranking_level'] = 'Level'; -$string['tg_section_ranking_student'] = 'Student'; -$string['tg_section_ranking_total'] = 'Total'; -$string['tg_section_ranking_progress'] = 'Progress %'; - -$string['tg_section_settings_appearance'] = 'Appearance'; -$string['tg_section_settings_appearance_title'] = 'Title'; -$string['tg_section_settings_levels'] = 'Level settings'; -$string['tg_section_settings_levels_quantity'] = 'Levels'; -$string['tg_section_settings_levels_base_points'] = 'Base Points'; -$string['tg_section_settings_levels_calculated'] = 'Calculated'; -$string['tg_section_settings_levels_manually'] = 'Manually'; -$string['tg_section_settings_levels_name'] = 'Name'; -$string['tg_section_settings_levels_required'] = 'Points required'; -$string['tg_section_settings_rules'] = 'Rules setting'; -$string['tg_section_settings_add_rule'] = 'Add new rule'; -$string['tg_section_settings_earn'] = 'For this event win:'; -$string['tg_section_settings_select_event'] = 'Select an event'; - -$string['tg_timenow'] = 'Just now'; -$string['tg_timeseconds'] = '{$a}s ago'; -$string['tg_timeminutes'] = '{$a}m ago'; -$string['tg_timehours'] = '{$a}h ago'; -$string['tg_timedays'] = '{$a}d ago'; -$string['tg_timeweeks'] = '{$a}w ago'; -$string['tg_timewithinayearformat'] = '%b %e'; -$string['tg_timeolderyearformat'] = '%b %Y'; - -/* General Errors */ -$string['fml_api_error_network'] = "An error has occurred in communication with the server."; -$string['fml_api_invalid_data'] = 'Incorrect data'; -$string['fml_api_json_decode_error'] = 'Error Decoding sent data'; -$string['fml_api_invalid_token_error'] = 'The token sent in the transaction is invalid, please refresh the page'; -$string['fml_api_invalid_transaction'] = 'The request is incorrect'; -$string['fml_api_invalid_profile'] = 'You cannot do this action, your profile is incorrect'; -$string['fml_api_save_successful'] = 'The data has been successfully saved on the server'; -$string['fml_api_cancel_action'] = 'You have canceled the action'; diff --git a/notemyprogress/lib.php b/notemyprogress/lib.php index 1e1a7cb2b794390c88171475ccd1e44c02dadbbc..2e6c78fceaaf33742d26115ec8b3f1bd80c9b468 100644 --- a/notemyprogress/lib.php +++ b/notemyprogress/lib.php @@ -106,24 +106,13 @@ function local_notemyprogress_render_navbar_output(\renderer_base $renderer) { array_push($items, local_notemyprogress_new_menu_item(s($text), $url)); } - //ADD menu items + //ADD if(has_capability('local/notemyprogress:logs', $context) && $configuration_is_set){ $text = get_string('menu_logs', 'local_notemyprogress'); $url = new moodle_url('/local/notemyprogress/logs.php?courseid='.$COURSE->id); array_push($items, local_notemyprogress_new_menu_item(s($text), $url)); } - if(has_capability('local/notemyprogress:teacher_gamification', $context) && $configuration_is_set){ - $text = 'Gamification'; - $url = new moodle_url('/local/notemyprogress/gamification.php?courseid='.$COURSE->id); - array_push($items, local_notemyprogress_new_menu_item(s($text), $url)); - } - if(has_capability('local/notemyprogress:student_gamification', $context) && !is_siteadmin() && $configuration_is_set){ - $text = 'Gamification'; - $url = new moodle_url('/local/notemyprogress/student_gamification.php?courseid='.$COURSE->id); - array_push($items, local_notemyprogress_new_menu_item(s($text), $url)); - } - $params = [ "title" => get_string('menu_main_title', 'local_notemyprogress'), "items" => $items]; diff --git a/notemyprogress/locallib.php b/notemyprogress/locallib.php index 6041fadd8f013ff2e9bc594f9585207a435cbd68..5455d6a67debe40a0a36b21321830e8ac6153d41 100644 --- a/notemyprogress/locallib.php +++ b/notemyprogress/locallib.php @@ -124,116 +124,3 @@ function local_notemyprogress_add_selected_property($groups, $groupid = null){ } return $groups; } - -//////////////////////////////////// -// Gamification function /// -//////////////////////////////////// -function local_notemyprogress_generate_token($courseid, $userid, $profile){ - $key = local_notemyprogress_get_token_signature(); - $payload = array( - "uid" => $userid, - "cid" => $courseid, - "pro" => $profile, - ); - $time = local_notemyprogress_get_token_time_valid(); - if ($time) { - $date = new DateTime(); - $date = $date->format('U'); - $payload['exp'] = intval($date) + $time; - } - return \local_notemyprogress\jwt\JWT::encode($payload, $key); -} -function local_notemyprogress_get_token_signature() { - $key = get_config("local_notemyprogress", "token_signature"); - if (empty($key)) { - $key = "m73YvSn2mhFVeXtut5UY"; // default signature - } - return $key; -} - -function local_notemyprogress_get_token_time_valid() { - return intval(get_config("local_notemyprogress", "token_time_valid")); -} - -function local_notemyprogress_validate_token($token){ - try { - global $DB; - $key = local_notemyprogress_get_token_signature(); - - $token = validate_param($token, PARAM_TEXT); - - $decoded = \local_notemyprogress\jwt\JWT::decode($token, $key, array('HS256')); - - $userid = validate_param($decoded->uid, PARAM_INT); - $courseid = validate_param($decoded->cid, PARAM_INT); - - $COURSE = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); - $USER = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); - - require_login($COURSE, false); - $context = context_course::instance($courseid); - require_capability('local/notemyprogress:ajax', $context); - - $result = new stdClass(); - $result->courseid = $COURSE->id; - $result->userid = $USER->id; - $result->profile = $decoded->pro; - - return $result; - } catch (Exception $e) { - $message = get_string('fml_api_invalid_token_error', 'local_notemyprogress'); - local_notemyprogress_ajax_response(null, $message, false, 403); - } - function local_notemyprogress_save_gamification_config($courseid, $userid, $rules, $levels, $settings, $url){ - \local_notemyprogress\logs::create( - "setgamification", - "configweeks", - "saved", - "weeks_settings", - $url, - 4, - $userid, - $courseid - ); - - $configLevels = new \local_notemyprogress\configgamification($courseid, $userid); - $configLevels->save_levels($levels, $settings, $rules); - $message = get_string('fml_api_save_successful', 'local_notemyprogress'); - local_notemyprogress_ajax_response(null, $message); - } - - function local_notemyprogress_validate_action_and_profile($action, $profile){ - $message = ""; - - // Validate action - try { - $action = validate_param($action, PARAM_ALPHA); - } catch (Exception $e) { - $message = get_string('fml_api_invalid_transaction', 'local_notemyprogress'); - } - - // Validate profile - if ($profile == "teacher") { - if ($action != "saveconfigweek" && $action != "changegroup" && $action != "worksessions" && - $action != "assignments" && $action != "sendmail" && $action != "quiz" && - $action != "wordcloud" && $action != "dropoutdata" && $action != "downloadlogs" && - $action != "saveinteraction" && $action != "saveconfiggamification") { - $message = get_string('fml_api_invalid_transaction', 'local_notemyprogress'); - } - } elseif ($profile == "student") { - if ($action != "studentsessions" && $action != "studentassigns" && - $action != "studenttimes" && $action != "saveinteraction") { - $message = get_string('fml_api_invalid_transaction', 'local_notemyprogress'); - } - } else { - $message = get_string('fml_api_invalid_profile', 'local_notemyprogress'); - } - - if ($message != "") { - local_notemyprogress_ajax_response(null, $message, false, 400); - } - - return $action; - } -} - diff --git a/notemyprogress/pix/badge.png b/notemyprogress/pix/badge.png deleted file mode 100644 index a8967018c82681ff21d40c98ba76980a64c70ca6..0000000000000000000000000000000000000000 Binary files a/notemyprogress/pix/badge.png and /dev/null differ diff --git a/notemyprogress/prueba.php b/notemyprogress/prueba.php index 5c3f44e44f9e2fb696965e09136be37c3ecc701e..f20ae14939f78114f144ac7374c4086c3e2918ce 100644 --- a/notemyprogress/prueba.php +++ b/notemyprogress/prueba.php @@ -47,7 +47,7 @@ $content = [ -$PAGE->requires->js_call_amd('local_notemyprogress/prueba', 'init', ['content' => $content]); +$PAGE->requires->js_call_amd('local_notemyprogress/prueba','init', ['content' => $content]); echo $OUTPUT->header(); echo $OUTPUT->render_from_template('local_notemyprogress/prueba', ['content' => $content]); -echo $OUTPUT->footer(); +echo $OUTPUT->footer(); \ No newline at end of file diff --git a/notemyprogress/student_gamification.php b/notemyprogress/student_gamification.php deleted file mode 100644 index d8dfc5c6c5cbec5c1709d8a063024f7bd5b4d0e2..0000000000000000000000000000000000000000 --- a/notemyprogress/student_gamification.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * local notemyprogress - * - * @package local_notemyprogress - * @copyright 2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -require_once('locallib.php'); -global $DB, $COURSE, $USER, $PAGE, $OUTPUT; - -$courseid = required_param('courseid', PARAM_INT); -$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); -$context = context_course::instance($course->id); - -$url = '/local/notemyprogress/student_gamification.php'; -local_notemyprogress_set_page($course, $url); - -require_capability('local/notemyprogress:usepluggin', $context); -require_capability('local/notemyprogress:student_gamification', $context); - -$configgamification = new \local_notemyprogress\configgamification($COURSE, $USER); -$es = new \local_notemyprogress\event_strategy($COURSE, $USER); - -$content = [ - 'strings' =>[ - 'title' => get_string('tg_section_title', 'local_notemyprogress'), - 'help_title' => get_string('tg_section_help_title', 'local_notemyprogress'), - 'help_description' => get_string('tg_section_help_description', 'local_notemyprogress'), - 'helplabel' => get_string("helplabel","local_notemyprogress"), - 'error_network' => get_string('fml_api_error_network', 'local_notemyprogress'), - 'save_successful' => get_string('fml_api_save_successful', 'local_notemyprogress'), - 'cancel_action' => get_string('fml_api_cancel_action', 'local_notemyprogress'), - 'save_warning_title' => get_string('tg_save_warning_title', 'local_notemyprogress'), - 'save_warning_content' => get_string('tg_save_warning_content', 'local_notemyprogress'), - 'confirm_ok' => get_string('tg_confirm_ok', 'local_notemyprogress'), - 'confirm_cancel' => get_string('tg_confirm_cancel', 'local_notemyprogress'), - 'exitbutton' => get_string("exitbutton","local_notemyprogress"), - 'save' => get_string("tg_save","local_notemyprogress"), - 'experience' => get_string("tg_section_experience","local_notemyprogress"), - 'information' => get_string("tg_section_information","local_notemyprogress"), - 'ranking' => get_string("tg_section_ranking","local_notemyprogress"), - 'points' => get_string("tg_section_points","local_notemyprogress"), - 'no_description' => get_string("tg_section_no_description","local_notemyprogress"), - 'description' => get_string("tg_section_description","local_notemyprogress"), - 'to_next_level' => get_string("tg_section_preview_next_level","local_notemyprogress"), - 'ranking_text' => get_string("tg_section_ranking_ranking_text","local_notemyprogress"), - 'level' => get_string("tg_section_ranking_level","local_notemyprogress"), - 'student' => get_string("tg_section_ranking_student","local_notemyprogress"), - 'total' => get_string("tg_section_ranking_total","local_notemyprogress"), - 'progress' => get_string("tg_section_ranking_progress","local_notemyprogress"), - ], - 'levels_data' => $configgamification->get_levels_data(), - 'indicators' => $es->get_user_info(), - 'ranking' => $es->get_ranking(), -]; - -$templatecontext = [ - 'image' => $OUTPUT->image_url('badge', 'local_notemyprogress') -]; - -$PAGE->requires->js_call_amd('local_notemyprogress/student_gamification','init', ['content' => $content]); -echo $OUTPUT->header(); -echo $OUTPUT->render_from_template('local_notemyprogress/student_gamification', $templatecontext); -echo $OUTPUT->footer(); \ No newline at end of file diff --git a/notemyprogress/templates/gamification.mustache b/notemyprogress/templates/gamification.mustache deleted file mode 100644 index fe4737d5af3e9e771c96c903ecf3a2d819df3040..0000000000000000000000000000000000000000 --- a/notemyprogress/templates/gamification.mustache +++ /dev/null @@ -1,253 +0,0 @@ -<v-app id="gamification" class="notemyprogress"> - <v-main> - <pageheader :pagetitle="strings.title" - :helptitle="strings.helplabel" - :exitbutton="strings.exitbutton" - :helpcontents="get_help_content()" - :token="token" - @open_help_section_modal="openHelpSectionModalEvent" - > - </pageheader> - <template> - <!-- Server message --> - <v-row class="justify-center" v-if="notifications.length > 0"> - <v-col cols="8"> - <v-alert v-for="(value, index, key) in notifications" :key="key" - :type="value.type" border="left" class="text-center" dense text dismissible> - <span v-text="value.message"></span> - </v-alert> - </v-col> - </v-row> - <v-row> - <v-card - class="align-center text-center flex" - height="100" - > - <h4>Disable / Enable : <h4> - <v-switch - :input-value="true" - v-model ="swDisableEnable" - inset - color="red darken-3" - class="pt-800 px-800 justify-center" - @Change = disableEnable(swDisableEnable); - ></v-switch> - </v-card> - <v-row> - <v-card - width = '100%'> - <v-row> - <v-col> - <v-tabs v-model="tab" background-color="transparent"> - <v-tab v-text="strings.settings_level"></v-tab> - <v-tab v-text="strings.preview"></v-tab> - <v-tab v-text="strings.settings"></v-tab> - </v-tabs> - <v-tabs-items v-model="tab"> - <v-tab-item> <!-- Level and settings --> - <v-row class="pt-8 px-8 justify-center"> - <v-row> - <v-col cols="6" sm="4" md="3" lg="5"> - <v-text-field - type="number" - readonly - :label="strings.quantity" - v-model="levelsData.length" - append-outer-icon="mdi-plus-circle" - prepend-icon="mdi-minus-circle" - @click:append-outer="addLevel()" - @click:prepend="removeLevel()" - ></v-text-field> - </v-col> - <v-col cols="6" sm="4" md="3" lg="2"> - <v-text-field :label="strings.base_points" v-model="pointsBase" type="number"> - </v-text-field> - </v-col> - <v-col cols="12" sm="4" md="4" lg="3"> - <v-btn-toggle v-model="setPointsOption" tile group> - <v-btn value="calculated" v-text="strings.calculated"></v-btn> - <v-btn value="manually" v-text="strings.manually"></v-btn> - </v-btn-toggle> - </v-col> - </v-row> - </v-row> - <v-row class="pb-5 px-8"> - <v-row v-for="(level, index) in levelsData" :key="level.lvl" cols="12" sm="6" md="4" lg="3"> - <v-card class="pt-5 align-center text-center"> - <v-col :content="level.lvl" bottom offset-x="20" offset-y="20"> - <v-avatar size="100"> - <v-img src="{{{image}}}"></v-img> - </v-avatar> - </v-col> - <v-card-text class="text--primary text-center"> - <v-text-field :label="strings.name" :rules="[v => !!v || 'Name is required']" required v-model="level.nam" type="text"> - </v-text-field> - <v-text-field :label="strings.description" v-model="level.des" type="text"> - </v-text-field> - <v-text-field :disabled="setPointsOption === 'calculated'" :label="strings.levels_required" v-model="calculatePoints(index)" type="number"> - </v-text-field> - </v-card-text> - </v-card> - </v-row> - </v-row> - <v-row class="pb-10 justify-center"> - <v-btn @click="save_changes" v-text="strings.save" class="white--text" color="#118AB2"></v-btn> - </v-row> - </v-tab-item> - <v-tab-item> <!-- Student preview tab --> - <v-row class="justify-center"> - <v-col cols="12" sm="11" md="7" lg="6" class="d-flex py-10"> - <v-card class="align-center text-center flex"> - <h4 class="py-5" v-text="settings.tit"></h4> - <p v-if="levelsData[0].nam" v-text="levelsData[0].nam"></p> - <v-badge - :content="levelsData[0].lvl" - bottom - offset-x="20" - offset-y="20" - > - <v-avatar size="100"> - <v-img src="{{{image}}}"></v-img> - </v-avatar> - </v-badge> - <v-card-text class="py-5"> - <small class="d-inline" v-text="levelsData[1].points"></small> - <sup>xp</sup> - <small v-text="strings.to_next_level"></small> - <v-progress-linear - color="#118AB2" - :value="0" - height="8" - > - </v-progress-linear> - <p v-if="levelsData[0].des" class="pt-5" v-text="levelsData[0].des"></p> - <h3 :class="[ !levelsData[0].des ? 'pt-5' : 'pt-0']" - v-text="levelsData[0].points +' '+strings.points"></h3> - </v-card-text> - <v-card-actions> - <p class="py-0 px-2" v-text="settings.des"></p> - </v-card-actions> - </v-card> - </v-col> - </v-row> <!-- Change the preview --> - <v-row class="pt-5 px-8 justify-center"> - <v-col cols="12" md="12"> - <h4 v-text="strings.appearance"></h4> - </v-col> - <v-col cols="12" md="12" class=""> - <v-row class="justify-center"> - <v-col cols="12" xs="10" md="6"> - <v-text-field :label="strings.appearance_title" v-model="settings.tit"></v-text-field> - </v-col> - </v-row> - <v-row class="justify-center"> - <v-col cols="12" xs="10" md="6"> - <v-textarea :label="strings.description" auto-grow v-model="settings.des"></v-textarea> - </v-col> - </v-row> - </v-col> - </v-row> - <v-row class="pb-10 justify-center"> - <v-btn @click="save_changes" v-text="strings.save" class="white--text" color="#118AB2"></v-btn> - </v-row> - </v-tab-item> - <v-tab-item> - <v-row class="pt-5 px-8 justify-center justify-sm-space-between "> - <v-col cols="12" sm="6" md="5" lg="5"> - <h4 v-text="strings.rules"></h4> - </v-col> - <v-col cols="6" sm="5" md="4" lg="4"> - <v-btn - block v-text="strings.add_rule" - @click="addRule()" - class="white--text" - color="#118AB2"> - </v-btn> - </v-col> - </v-row> - <v-row class="pt-5 pb-5 px-8"> - <v-col v-for="(rule, index) in rulesData" :key="rule" cols="12" md="12"> - <v-card class="align-center text-center"> - <v-card-text class="text--primary text-center"> - <v-row class="align-center justify-space-around"> - <v-col cols="12" sm="4" md="3"> - <v-text-field - v-model="rule.points" - :label="strings.earn" - :rules="[v => !!v || 'Los puntos son requeridos']" - :suffix="strings.points" - type="number"> - </v-text-field> - </v-col> - <v-col cols="12" sm="6" md="7"> - <v-select - v-model="rule.rule" - attach - :menu-props="{ top: true, offsetY: true }" - :items="events" - item-text='name' - item-value='event' - :label="strings.select_event" - :rules="[v => !!v || 'El evento es requerido']" - required> - </v-select> - </v-col> - <v-col cols="12" sm="2" md="1"> - <v-btn :disabled="rulesData.length < 3" icon @click="removeRule(index)"> - <v-icon>mdi-delete</v-icon> - </v-btn> - </v-col> - </v-row> - </v-card-text> - </v-card> - </v-col> - - </v-row> - <v-row class="pb-10 justify-center"> - <v-btn @click="save_changes" v-text="strings.save" class="white--text" color="#118AB2"></v-btn> - </v-row> - </v-tab-item> - </v-tabs-items> - </v-col> - - <v-col> - <v-row class="py-5 px-8"> - <v-col cols="12" md="12"> - <v-data-table - :headers="table_headers()" - :items="ranking" - item-key="id" - :items-per-page="7" - > - <template v-slot:item.level="{ item }"> - <v-badge - inline - bordered - :content="item.level" - > - <v-avatar size="30"> - <img src="{{{image}}}"> - </v-avatar> - </v-badge> - </template> - <template v-slot:item.progress_percentage="{ item }"> - <v-progress-linear - color="#118AB2" - :value="item.progress_percentage" - height="8" - > - </v-progress-linear> - </template> - <template v-slot:item.total="{ item }"> - <p class="d-inline" v-text="item.total"></p> - <sup>xp</sup> - </template> - </v-data-table> - </v-col> - </v-row> - </v-col> - </v-row> - </v-card> - </template> - </v-main> -</v-app> \ No newline at end of file diff --git a/notemyprogress/templates/student_gamification.mustache b/notemyprogress/templates/student_gamification.mustache deleted file mode 100644 index 85cf87459644508b194055daadd0b9dca5c2db32..0000000000000000000000000000000000000000 --- a/notemyprogress/templates/student_gamification.mustache +++ /dev/null @@ -1,131 +0,0 @@ -<v-app id="student_gamification" class="notemyprogress"> - <v-main> - <pageheader :pagetitle="strings.title" - :helptitle="strings.helplabel" - :exitbutton="strings.exitbutton" - :helpcontents="get_help_content()" - :token="token" - @open_help_section_modal="openHelpSectionModalEvent" - > - </pageheader> - <template> - <v-card> - <v-tabs v-model="tab" background-color="transparent"> - <v-tab v-text="strings.experience"></v-tab> - <v-tab v-text="strings.information"></v-tab> - <v-tab v-text="strings.ranking"></v-tab> - </v-tabs> - <v-tabs-items v-model="tab"> - <v-tab-item> - <v-row class="justify-center"> - <v-col cols="12" sm="11" md="7" lg="6" class="d-flex py-10"> - <v-card class="align-center text-center flex"> - <h4 class="py-5" v-text="settings.tit"></h4> - <p v-if="levelInfo.nam" v-text="levelInfo.nam"></p> - <v-badge - :content="indicators.level" - bottom - offset-x="20" - offset-y="20" - > - <v-avatar size="100"> - <v-img src="{{{image}}}"></v-img> - </v-avatar> - </v-badge> - <v-card-text> - <small class="d-inline" v-text="indicators.pointsToNext"></small> - <sup>xp</sup> - <small v-text="strings.to_next_level"></small> - <v-progress-linear - color="#118AB2" - :value="indicators.progress" - height="8" - > - </v-progress-linear> - <p v-if="levelInfo.des" class="pt-5" v-text="levelInfo.des"></p> - <h3 :class="[ !levelInfo.des ? 'pt-5' : 'pt-0']" - v-text="indicators.points +' '+strings.points"></h3> - <v-row class="justify-center text-left" v-for="action in activity" :key="action"> - <v-col cols="5"> - <small v-text="action.description"></small> - </v-col> - <v-col cols="3"> - <small v-text="action.timeago"></small> - </v-col> - <v-col cols="3" sm="2"> - <small v-text="action.points + ' '+strings.points"></small> - </v-col> - </v-row> - </v-card-text> - <v-card-actions> - <p class="py-0 px-2" v-text="settings.des"></p> - </v-card-actions> - </v-card> - </v-col> - </v-row> - </v-tab-item> - <v-tab-item> - <v-row class="py-5 px-8"> - <v-col v-for="(level, index) in levelsData" :key="level.level" cols="12" sm="6" md="3" class="d-flex"> - <v-card class="pt-5 align-center text-center flex"> - <v-badge - :content="level.lvl" - bottom - offset-x="20" - offset-y="20" - > - <v-avatar size="100"> - <v-img src="{{{image}}}"></v-img> - </v-avatar> - </v-badge> - <v-card-text class="text--primary text-center"> - <h6 v-if="level.nam" v-text="level.nam"></h6> - <p v-if="level.des" class="pt-4 text-left" v-text="level.des"></p> - <p class="mb-0 pb-0" v-text="level.points+' '+strings.points"></p> - </v-card-text> - </v-card> - </v-col> - </v-row> - </v-tab-item> - <v-tab-item> - <v-row class="py-5 px-8"> - <v-col cols="12" md="12"> - <v-data-table - :headers="table_headers()" - :items="ranking" - item-key="id" - :items-per-page="7" - > - <template v-slot:item.level="{ item }"> - <v-badge - inline - bordered - :content="item.level" - > - <v-avatar size="30"> - <v-img src="{{{image}}}"></v-img> - </v-avatar> - </v-badge> - </template> - <template v-slot:item.progress_percentage="{ item }"> - <v-progress-linear - color="#118AB2" - :value="item.progress_percentage" - height="8" - > - - </v-progress-linear> - </template> - <template v-slot:item.total="{ item }"> - <p class="d-inline" v-text="item.total"></p> - <sup>xp</sup> - </template> - </v-data-table> - </v-col> - </v-row> - </v-tab-item> - </v-tabs-items> - </v-card> - </template> - </v-main> -</v-app> \ No newline at end of file