Revive Old Posts – Auto Post to Social Media - Version 8.5.17

Version Description

  • 2020-09-24
Download this release

Release Info

Developer codeinwp
Plugin Icon 128x128 Revive Old Posts – Auto Post to Social Media
Version 8.5.17
Comparing to
See all releases

Code changes from version 8.5.15 to 8.5.17

Files changed (82) hide show
  1. CHANGELOG.md +10 -0
  2. assets/css/rop.css +7 -7
  3. assets/js/build/dashboard.js +5 -1
  4. assets/js/build/dashboard.min.js +1 -1
  5. includes/admin/class-rop-admin.php +1 -1
  6. includes/admin/class-rop-logger.php +49 -52
  7. includes/admin/class-rop-rest-api.php +4 -4
  8. includes/admin/helpers/class-rop-log-handler.php +12 -11
  9. includes/admin/models/class-rop-queue-model.php +1 -1
  10. includes/class-rop.php +2 -2
  11. readme.md +12 -0
  12. readme.txt +12 -0
  13. themeisle-hash.json +1 -1
  14. tweet-old-post.php +2 -2
  15. vendor/autoload.php +1 -1
  16. vendor/codeinwp/themeisle-sdk/CHANGELOG.md +101 -0
  17. vendor/codeinwp/themeisle-sdk/load.php +1 -1
  18. vendor/codeinwp/themeisle-sdk/src/Loader.php +23 -2
  19. vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php +3 -1
  20. vendor/codeinwp/themeisle-sdk/src/Modules/Endpoint.php +0 -358
  21. vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php +336 -88
  22. vendor/codeinwp/themeisle-sdk/src/Modules/Logger.php +15 -13
  23. vendor/codeinwp/themeisle-sdk/src/Modules/Notification.php +8 -1
  24. vendor/codeinwp/themeisle-sdk/src/Modules/Review.php +2 -2
  25. vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php +1 -1
  26. vendor/codeinwp/themeisle-sdk/src/Modules/Translate.php +2 -2
  27. vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php +9 -2
  28. vendor/codeinwp/themeisle-sdk/src/Product.php +4 -1
  29. vendor/composer/autoload_classmap.php +0 -20
  30. vendor/composer/autoload_files.php +0 -3
  31. vendor/composer/autoload_namespaces.php +1 -0
  32. vendor/composer/autoload_psr4.php +1 -3
  33. vendor/composer/autoload_real.php +5 -5
  34. vendor/composer/installed.json +166 -237
  35. vendor/firebase/php-jwt/README.md +90 -4
  36. vendor/firebase/php-jwt/package.xml +0 -77
  37. vendor/firebase/php-jwt/phpunit.xml.dist +0 -19
  38. vendor/firebase/php-jwt/run-tests.sh +0 -38
  39. vendor/firebase/php-jwt/src/BeforeValidException.php +0 -1
  40. vendor/firebase/php-jwt/src/ExpiredException.php +0 -1
  41. vendor/firebase/php-jwt/src/JWK.php +171 -0
  42. vendor/firebase/php-jwt/src/JWT.php +232 -77
  43. vendor/firebase/php-jwt/src/SignatureInvalidException.php +0 -1
  44. vendor/google/apiclient-services/LICENSE +203 -0
  45. vendor/google/apiclient-services/README.md +23 -0
  46. vendor/google/apiclient/CONTRIBUTING.md +0 -22
  47. vendor/google/apiclient/README.md +148 -45
  48. vendor/google/apiclient/UPGRADING.md +0 -327
  49. vendor/google/apiclient/examples/README.md +0 -13
  50. vendor/google/apiclient/examples/batch.php +0 -87
  51. vendor/google/apiclient/examples/idtoken.php +0 -109
  52. vendor/google/apiclient/examples/index.php +0 -43
  53. vendor/google/apiclient/examples/large-file-upload.php +0 -168
  54. vendor/google/apiclient/examples/multi-api.php +0 -120
  55. vendor/google/apiclient/examples/service-account.php +0 -72
  56. vendor/google/apiclient/examples/simple-file-upload.php +0 -135
  57. vendor/google/apiclient/examples/simple-query.php +0 -84
  58. vendor/google/apiclient/examples/styles/style.css +0 -117
  59. vendor/google/apiclient/examples/templates/base.php +0 -141
  60. vendor/google/apiclient/examples/url-shortener.php +0 -133
  61. vendor/google/apiclient/phpunit.xml.dist +0 -19
  62. vendor/google/apiclient/src/Google/AccessToken/Revoke.php +10 -11
  63. vendor/google/apiclient/src/Google/AccessToken/Verify.php +56 -16
  64. vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php +11 -4
  65. vendor/google/apiclient/src/Google/AuthHandler/Guzzle5AuthHandler.php +10 -3
  66. vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php +11 -4
  67. vendor/google/apiclient/src/Google/AuthHandler/Guzzle7AuthHandler.php +23 -0
  68. vendor/google/apiclient/src/Google/Client.php +201 -57
  69. vendor/google/apiclient/src/Google/Collection.php +20 -21
  70. vendor/google/apiclient/src/Google/Http/Batch.php +19 -9
  71. vendor/google/apiclient/src/Google/Http/MediaFileUpload.php +16 -14
  72. vendor/google/apiclient/src/Google/Http/REST.php +8 -3
  73. vendor/google/apiclient/src/Google/Model.php +37 -28
  74. vendor/google/apiclient/src/Google/Service/Exception.php +0 -1
  75. vendor/google/apiclient/src/Google/Service/Resource.php +10 -4
  76. vendor/google/apiclient/src/Google/Task/Composer.php +104 -0
  77. vendor/google/apiclient/src/Google/Task/Runner.php +4 -7
  78. vendor/google/apiclient/style/ruleset.xml +0 -159
  79. vendor/google/auth/CHANGELOG.md +159 -0
  80. vendor/google/auth/CODE_OF_CONDUCT.md +43 -0
  81. vendor/google/auth/CONTRIBUTING.md +0 -73
  82. vendor/google/auth/README.md +41 -5
CHANGELOG.md CHANGED
@@ -1,4 +1,14 @@
1
 
 
 
 
 
 
 
 
 
 
 
2
  ### v8.5.15 - 2020-09-09
3
  **Changes:**
4
  * Change: Require at least PHP 7.1
1
 
2
+ ### v8.5.17 - 2020-09-24
3
+ **Changes:**
4
+ * Dev: Add post-install command to composer.json
5
+
6
+ ### v8.5.16 - 2020-09-23
7
+ **Changes:**
8
+ * Info: Update Google My Business dependency version
9
+ * Info: Update Themeisle SDK dependency version
10
+ * Change: Dropped monolog dependency in favor of custom logging methods
11
+
12
  ### v8.5.15 - 2020-09-09
13
  **Changes:**
14
  * Change: Require at least PHP 7.1
assets/css/rop.css CHANGED
@@ -471,31 +471,31 @@
471
  border-left-color: #fff;
472
  }
473
 
474
- #rop_core .btn.btn-buffer {
475
  border-color: #0071a6;
476
  color: #fff;
477
  background: #323b43;
478
  }
479
 
480
- #rop_core .btn.btn-buffer:focus {
481
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 181, 0.2);
482
  }
483
 
484
- #rop_core .btn.btn-buffer:focus,
485
- #rop_core .btn.btn-buffer:hover {
486
  border-color: #006a9c;
487
  color: #fff;
488
  background: #0074ab;
489
  }
490
 
491
- #rop_core .btn.btn-buffer:active,
492
- #rop_core .btn.btn-buffer.active {
493
  border-color: #005882;
494
  color: #fff;
495
  background: #006391;
496
  }
497
 
498
- #rop_core .btn.btn-buffer.loading::after {
499
  border-bottom-color: #fff;
500
  border-left-color: #fff;
501
  }
471
  border-left-color: #fff;
472
  }
473
 
474
+ #rop_core .btn.btn-gmb {
475
  border-color: #0071a6;
476
  color: #fff;
477
  background: #323b43;
478
  }
479
 
480
+ #rop_core .btn.btn-gmb:focus {
481
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 181, 0.2);
482
  }
483
 
484
+ #rop_core .btn.btn-gmb:focus,
485
+ #rop_core .btn.btn-gmb:hover {
486
  border-color: #006a9c;
487
  color: #fff;
488
  background: #0074ab;
489
  }
490
 
491
+ #rop_core .btn.btn-gmb:active,
492
+ #rop_core .btn.btn-gmb.active {
493
  border-color: #005882;
494
  color: #fff;
495
  background: #006391;
496
  }
497
 
498
+ #rop_core .btn.btn-gmb.loading::after {
499
  border-bottom-color: #fff;
500
  border-left-color: #fff;
501
  }
assets/js/build/dashboard.js CHANGED
@@ -40322,7 +40322,7 @@ exports = module.exports = __webpack_require__(1)();
40322
 
40323
 
40324
  // module
40325
- exports.push([module.i, "\n\t#rop_core .toast.log-toast p[_v-ed733db4] {\n\t\tmargin: 0px;\n\t\tline-height: inherit;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4]:hover {\n\t\topacity: 0.9;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4] {\n\t\tpadding: 0.1rem;\n\t\tpadding-left: 10px;\n\t\tmargin-top: 2px;\n\t}\n\n\t#rop_core .container[_v-ed733db4] {\n\t\tmin-height: 400px;\n\t}\n", ""]);
40326
 
40327
  // exports
40328
 
@@ -40425,6 +40425,10 @@ module.exports = {
40425
  // #rop_core .container {
40426
  // min-height: 400px;
40427
  // }
 
 
 
 
40428
  // </style>
40429
  //
40430
 
40322
 
40323
 
40324
  // module
40325
+ exports.push([module.i, "\n\t#rop_core .toast.log-toast p[_v-ed733db4] {\n\t\tmargin: 0px;\n\t\tline-height: inherit;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4]:hover {\n\t\topacity: 0.9;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4] {\n\t\tpadding: 0.1rem;\n\t\tpadding-left: 10px;\n\t\tmargin-top: 2px;\n\t}\n\n\t#rop_core .container[_v-ed733db4] {\n\t\tmin-height: 400px;\n\t}\n\n\t.columns[_v-ed733db4] {\n\t\tline-break: anywhere;\n\t}\n", ""]);
40326
 
40327
  // exports
40328
 
40425
  // #rop_core .container {
40426
  // min-height: 400px;
40427
  // }
40428
+ //
40429
+ // .columns {
40430
+ // line-break: anywhere;
40431
+ // }
40432
  // </style>
40433
  //
40434
 
assets/js/build/dashboard.min.js CHANGED
@@ -13,7 +13,7 @@ var Y=function(t){function e(){var t=this.$options;t.store?this.$store="function
13
  * https://github.com/pagekit/vue-resource
14
  * Released under the MIT License.
15
  */
16
- var ot=2;a.reject=function(t){return new a(function(e,n){n(t)})},a.resolve=function(t){return new a(function(e,n){e(t)})},a.all=function(t){return new a(function(e,n){var s=0,i=[];0===t.length&&e(i);for(var r=0;r<t.length;r+=1)a.resolve(t[r]).then(function(n){return function(a){i[n]=a,(s+=1)===t.length&&e(i)}}(r),n)})},a.race=function(t){return new a(function(e,n){for(var s=0;s<t.length;s+=1)a.resolve(t[s]).then(e,n)})};var dt=a.prototype;dt.resolve=function(t){var e=this;if(e.state===ot){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var a=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof a)return void a.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},dt.reject=function(t){var e=this;if(e.state===ot){if(t===e)throw new TypeError("Promise settled with itself.");e.state=1,e.value=t,e.notify()}},dt.notify=function(){var t=this;d(function(){if(t.state!==ot)for(;t.deferred.length;){var e=t.deferred.shift(),n=e[0],a=e[1],s=e[2],i=e[3];try{0===t.state?s("function"==typeof n?n.call(void 0,t.value):t.value):1===t.state&&("function"==typeof a?s(a.call(void 0,t.value)):i(t.value))}catch(t){i(t)}}})},dt.then=function(t,e){var n=this;return new a(function(a,s){n.deferred.push([t,e,a,s]),n.notify()})},dt.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=a),s.all=function(t,e){return new s(Promise.all(t),e)},s.resolve=function(t,e){return new s(Promise.resolve(t),e)},s.reject=function(t,e){return new s(Promise.reject(t),e)},s.race=function(t,e){return new s(Promise.race(t),e)};var lt=s.prototype;lt.bind=function(t){return this.context=t,this},lt.then=function(t,e){return t&&t.bind&&this.context&&(t=t.bind(this.context)),e&&e.bind&&this.context&&(e=e.bind(this.context)),new s(this.promise.then(t,e),this.context)},lt.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new s(this.promise.catch(t),this.context)},lt.finally=function(t){return this.then(function(e){return t.call(this),e},function(e){return t.call(this),Promise.reject(e)})};var ut,ct={},_t=ct.hasOwnProperty,mt=[],ft=mt.slice,pt=!1,ht="undefined"!=typeof window,vt=Array.isArray,yt=Object.assign||Y;E.options={url:"",root:null,params:{}},E.transform={template:$,query:T,root:D},E.transforms=["template","query","root"],E.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){f(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},W(e,t),e.join("&").replace(/%20/g,"+")},E.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};var gt=ht&&"withCredentials"in new XMLHttpRequest,Mt=function(t){var e=this;this.map={},L(t,function(t,n){return e.append(n,t)})};Mt.prototype.has=function(t){return null!==Q(this.map,t)},Mt.prototype.get=function(t){var e=this.map[Q(this.map,t)];return e?e.join():null},Mt.prototype.getAll=function(t){return this.map[Q(this.map,t)]||[]},Mt.prototype.set=function(t,e){this.map[tt(Q(this.map,t)||t)]=[l(e)]},Mt.prototype.append=function(t,e){var n=this.map[Q(this.map,t)];n?n.push(l(e)):this.set(t,e)},Mt.prototype.delete=function(t){delete this.map[Q(this.map,t)]},Mt.prototype.deleteAll=function(){this.map={}},Mt.prototype.forEach=function(t,e){var n=this;L(this.map,function(a,s){L(a,function(a){return t.call(e,a,s,n)})})};var Lt=function(t,e){var n=e.url,a=e.headers,s=e.status,i=e.statusText;this.url=n,this.ok=s>=200&&s<300,this.status=s||0,this.statusText=i||"",this.headers=new Mt(a),this.body=t,m(t)?this.bodyText=t:v(t)&&(this.bodyBlob=t,nt(t)&&(this.bodyText=et(t)))};Lt.prototype.blob=function(){return g(this.bodyBlob)},Lt.prototype.text=function(){return g(this.bodyText)},Lt.prototype.json=function(){return g(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(Lt.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var bt=function(t){this.body=null,this.params={},yt(this,t,{method:_(t.method||"GET")}),this.headers instanceof Mt||(this.headers=new Mt(this.headers))};bt.prototype.getUrl=function(){return E(this)},bt.prototype.getBody=function(){return this.body},bt.prototype.respondWith=function(t,e){return new Lt(t,yt(e||{},{url:this.getUrl()}))};var kt={Accept:"application/json, text/plain, */*"},Yt={"Content-Type":"application/json;charset=utf-8"};at.options={},at.headers={put:Yt,post:Yt,patch:Yt,delete:Yt,common:kt,custom:{}},at.interceptor={before:U,method:G,jsonp:V,json:z,form:I,header:q,cors:N},at.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){at[t]=function(e,n){return this(yt(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){at[t]=function(e,n,a){return this(yt(a||{},{url:e,method:t,body:n}))}}),st.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(rt),e.default=rt},function(t,e){},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(39),s=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={install:s.default.install}},function(t,e,n){"use strict";function a(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){function t(t,n){var a={};return n.forEach(function(s){n.indexOf(s)>=n.indexOf(t.logLevel)?a[s]=function(){for(var n=arguments.length,a=Array(n),r=0;r<n;r++)a[r]=arguments[r];var o=i(),d=t.showMethodName?o+" "+t.separator+" ":"",l=t.showLogLevel?s+" "+t.separator+" ":"",u=t.stringifyArguments?a.map(function(t){return JSON.stringify(t)}):a;e(s,l,d,u,t.showConsoleColors)}:a[s]=function(){}}),a}function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(arguments.length>4&&void 0!==arguments[4]&&arguments[4]&&("warn"===t||"error"===t||"fatal"===t)){var i;(i=console)["fatal"===t?"error":t].apply(i,[e,n].concat(a(s)))}else{var r;(r=console).log.apply(r,[e,n].concat(a(s)))}}function n(t,e){return!(!(t.logLevel&&"string"==typeof t.logLevel&&e.indexOf(t.logLevel)>-1)||t.stringifyArguments&&"boolean"!=typeof t.stringifyArguments||t.showLogLevel&&"boolean"!=typeof t.showLogLevel||t.showConsoleColors&&"boolean"!=typeof t.showConsoleColors||t.separator&&("string"!=typeof t.separator||"string"==typeof t.separator&&t.separator.length>3)||t.showMethodName&&"boolean"!=typeof t.showMethodName)}function s(e,a){if(a=Object.assign(r,a),!n(a,o))throw new Error("Provided options for vuejs-logger are not valid.");e.$log=t(a,o),e.prototype.$log=e.$log}function i(){var t={};try{throw new Error("")}catch(e){t=e}var e=t.stack.split("\n")[3];return/ /.test(e)&&(e=e.trim().split(" ")[1]),e&&e.includes(".")&&(e=e.split(".")[1]),e}var r={logLevel:"debug",separator:"|",stringifyArguments:!1,showLogLevel:!1,showMethodName:!1,showConsoleColors:!1},o=["debug","info","warn","error","fatal"];return{install:s,isValidOptions:n,print:e,initLoggerInstance:t,logLevels:o}}()},function(t,e,n){var a=n(9),s=n(14),i=n(42)(!1),r=n(19)("IE_PROTO");t.exports=function(t,e){var n,o=s(t),d=0,l=[];for(n in o)n!=r&&a(o,n)&&l.push(n);for(;e.length>d;)a(o,n=e[d++])&&(~i(l,n)||l.push(n));return l}},function(t,e,n){var a=n(22);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},function(t,e,n){var a=n(14),s=n(43),i=n(44);t.exports=function(t){return function(e,n,r){var o,d=a(e),l=s(d.length),u=i(r,l);if(t&&n!=n){for(;l>u;)if((o=d[u++])!=o)return!0}else for(;l>u;u++)if((t||u in d)&&d[u]===n)return t||u||0;return!t&&-1}}},function(t,e,n){var a=n(15),s=Math.min;t.exports=function(t){return t>0?s(a(t),9007199254740991):0}},function(t,e,n){var a=n(15),s=Math.max,i=Math.min;t.exports=function(t,e){return t=a(t),t<0?s(t+e,0):i(t,e)}},function(t,e,n){var a=n(46);t.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,s){return t.call(e,n,a,s)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){t.exports=!n(5)&&!n(17)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var a=n(12);t.exports=function(t,e){if(!a(t))return t;var n,s;if(e&&"function"==typeof(n=t.toString)&&!a(s=n.call(t)))return s;if("function"==typeof(n=t.valueOf)&&!a(s=n.call(t)))return s;if(!e&&"function"==typeof(n=t.toString)&&!a(s=n.call(t)))return s;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){"use strict";var a=n(24),s=n(21),i=n(61),r=n(6),o=n(20),d=n(62),l=n(51),u=n(66),c=n(7)("iterator"),_=!([].keys&&"next"in[].keys()),m=function(){return this};t.exports=function(t,e,n,f,p,h,v){d(n,e,f);var y,g,M,L=function(t){if(!_&&t in w)return w[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},b=e+" Iterator",k="values"==p,Y=!1,w=t.prototype,D=w[c]||w["@@iterator"]||p&&w[p],T=D||L(p),x=p?k?L("entries"):T:void 0,S="Array"==e?w.entries||D:D;if(S&&(M=u(S.call(new t)))!==Object.prototype&&M.next&&(l(M,b,!0),a||"function"==typeof M[c]||r(M,c,m)),k&&D&&"values"!==D.name&&(Y=!0,T=function(){return D.call(this)}),a&&!v||!_&&!Y&&w[c]||r(w,c,T),o[e]=T,o[b]=m,p)if(y={values:k?T:L("values"),keys:h?T:L("keys"),entries:x},v)for(g in y)g in w||i(w,g,y[g]);else s(s.P+s.F*(_||Y),e,y);return y}},function(t,e,n){var a=n(16).f,s=n(9),i=n(7)("toStringTag");t.exports=function(t,e,n){t&&!s(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},function(t,e,n){var a,s;a=n(72),s=n(74),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){n(54),t.exports=n(3).Object.keys},function(t,e,n){var a=n(29),s=n(30);n(55)("keys",function(){return function(t){return s(a(t))}})},function(t,e,n){var a=n(21),s=n(3),i=n(17);t.exports=function(t,e){var n=(s.Object||{})[t]||Object[t],r={};r[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",r)}},function(t,e,n){n(57),n(67),t.exports=n(69)},function(t,e,n){n(58);for(var a=n(4),s=n(6),i=n(20),r=n(7)("toStringTag"),o="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(","),d=0;d<o.length;d++){var l=o[d],u=a[l],c=u&&u.prototype;c&&!c[r]&&s(c,r,l),i[l]=i.Array}},function(t,e,n){"use strict";var a=n(59),s=n(60),i=n(20),r=n(14);t.exports=n(50)(Array,"Array",function(t,e){this._t=r(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,s(1)):"keys"==e?s(0,n):"values"==e?s(0,t[n]):s(0,[n,t[n]])},"values"),i.Arguments=i.Array,a("keys"),a("values"),a("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports=n(6)},function(t,e,n){"use strict";var a=n(63),s=n(28),i=n(51),r={};n(6)(r,n(7)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=a(r,{next:s(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var a=n(11),s=n(64),i=n(26),r=n(19)("IE_PROTO"),o=function(){},d=function(){var t,e=n(27)("iframe"),a=i.length;for(e.style.display="none",n(65).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),d=t.F;a--;)delete d.prototype[i[a]];return d()};t.exports=Object.create||function(t,e){var n;return null!==t?(o.prototype=a(t),n=new o,o.prototype=null,n[r]=t):n=d(),void 0===e?n:s(n,e)}},function(t,e,n){var a=n(16),s=n(11),i=n(30);t.exports=n(5)?Object.defineProperties:function(t,e){s(t);for(var n,r=i(e),o=r.length,d=0;o>d;)a.f(t,n=r[d++],e[n]);return t}},function(t,e,n){var a=n(4).document;t.exports=a&&a.documentElement},function(t,e,n){var a=n(9),s=n(29),i=n(19)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=s(t),a(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,n){"use strict";var a=n(68)(!0);n(50)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=a(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var a=n(15),s=n(13);t.exports=function(t){return function(e,n){var i,r,o=String(s(e)),d=a(n),l=o.length;return d<0||d>=l?t?"":void 0:(i=o.charCodeAt(d),i<55296||i>56319||d+1===l||(r=o.charCodeAt(d+1))<56320||r>57343?t?o.charAt(d):i:t?o.slice(d,d+2):r-56320+(i-55296<<10)+65536)}}},function(t,e,n){var a=n(11),s=n(70);t.exports=n(3).getIterator=function(t){var e=s(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return a(e.call(t))}},function(t,e,n){var a=n(71),s=n(7)("iterator"),i=n(20);t.exports=n(3).getIteratorMethod=function(t){if(void 0!=t)return t[s]||t["@@iterator"]||i[a(t)]}},function(t,e,n){var a=n(22),s=n(7)("toStringTag"),i="Arguments"==a(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=r(e=Object(t),s))?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},function(t,e,n){"use strict";function a(t,e){var n=void 0;for(n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}var s=n(49),i=function(t){return t&&t.__esModule?t:{default:t}}(s),r=n(73);t.exports={name:"multiple-select",mixins:[r.mixin],props:{options:{default:function(){return[]},type:Array},disabled:{default:!0,type:Boolean},selected:{default:function(){return[]},type:Array},placeHolderText:{default:"Please select something",type:String},changedSelection:{default:function(t){return t},type:Function},dontLock:{default:!1,type:Boolean},is_pro_version:{default:!1,type:Boolean},apply_limit:{default:!1,type:Boolean}},mounted:function(){var t=!0,e=!1,n=void 0;try{for(var a,s=(0,i.default)(this.selected);!(t=(a=s.next()).done);t=!0){var r=a.value;if(r.selected){var o=0,d=!0,l=!1,u=void 0;try{for(var c,_=(0,i.default)(this.options);!(d=(c=_.next()).done);d=!0){c.value.value===r.value&&(this.options[o].selected=r.selected),o++}}catch(t){l=!0,u=t}finally{try{!d&&_.return&&_.return()}finally{if(l)throw u}}}}}catch(t){e=!0,n=t}finally{try{!t&&s.return&&s.return()}finally{if(e)throw n}}},updated:function(){var t=!0,e=!1,n=void 0;try{for(var a,s=(0,i.default)(this.selected);!(t=(a=s.next()).done);t=!0){var r=a.value;if(r.selected){var o=0,d=!0,l=!1,u=void 0;try{for(var c,_=(0,i.default)(this.options);!(d=(c=_.next()).done);d=!0){c.value.value===r.value&&(this.options[o].selected=r.selected),o++}}catch(t){l=!0,u=t}finally{try{!d&&_.return&&_.return()}finally{if(l)throw u}}}}}catch(t){e=!0,n=t}finally{try{!t&&s.return&&s.return()}finally{if(e)throw n}}},created:function(){var t=0,e=!0,n=!1,a=void 0;try{for(var s,r=(0,i.default)(this.selected);!(e=(s=r.next()).done);e=!0){var o=s.value;if(o.selected){var d=0,l=!0,u=!1,c=void 0;try{for(var _,m=(0,i.default)(this.options);!(l=(_=m.next()).done);l=!0){_.value.value===o.value&&(this.options[d].selected=o.selected,t++),d++}}catch(t){u=!0,c=t}finally{try{!l&&m.return&&m.return()}finally{if(u)throw c}}}}}catch(t){n=!0,a=t}finally{try{!e&&r.return&&r.return()}finally{if(n)throw a}}this.rand=Math.round(1e3*Math.random());var f=0,p=!0,h=!1,v=void 0;try{for(var y,g=(0,i.default)(this.options);!(p=(y=g.next()).done);p=!0){y.value;this.options[f].selected=!1,f++}}catch(t){h=!0,v=t}finally{try{!p&&g.return&&g.return()}finally{if(h)throw v}}},data:function(){return{search:"",highlighted:-1,no_results:!1,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link,magic_flag:!1,rand:0}},watch:{search:function(t){this.$emit("update",t)},selected:function(t){this.$emit("display-limiter-notice",this.selected.length)}},computed:{is_focused:function(){return{"is-focused":!0===this.magic_flag}},is_visible:function(){return{"d-none":!1===this.magic_flag}},is_one:function(){if(!this.dontLock){if(1===this.options.length&&!1===this.options[0].selected)return!0;if(1===this.options.length&&!0===this.options[0].selected)return!0}return!1},autocomplete_placeholder:function(){return this.selected.length>0?"":this.placeHolderText},is_disabled:function(){return!this.disabled},has_results:function(){var t=0,e=!0,n=!1,a=void 0;try{for(var s,r=(0,i.default)(this.options);!(e=(s=r.next()).done);e=!0){var o=s.value;this.filterSearch(o)&&t++}}catch(t){n=!0,a=t}finally{try{!e&&r.return&&r.return()}finally{if(n)throw a}}return!t}},methods:{closeDropdown:function(){this.magic_flag=!1},highlightItem:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.highlighted--:this.highlighted++;var t=this.$refs.autocomplete_results.children.length-1;t<0&&(t=0),this.highlighted>t&&(this.highlighted=0),this.highlighted<0&&(this.highlighted=t),this.$refs.autocomplete_results.children[this.highlighted].firstChild.focus()},popLast:function(){""===this.search&&(this.selected.pop(),this.magic_flag=!1)},markMatch:function(t,e){var n=t;if(-1!==t.toLowerCase().indexOf(e.toLowerCase())&&""!==e){var a=new RegExp(e,"ig");n=t.replace(a,function(t){return"<mark>"+t+"</mark>"})}return n},filterSearch:function(t){return(-1!==t.name.toLowerCase().indexOf(this.search.toLowerCase())||""===this.search)&&(!t.selected&&!a(t,this.selected))},addToSelected:function(t){if(!this.is_disabled&&!1!==this.limit_selection()){var e=this.options[t];e.selected=!0,this.selected.push(e),this.$refs.search.focus(),this.magic_flag=!1,this.search="",this.changedSelection(this.selected)}},removeSelected:function(t){this.is_disabled||(this.selected.splice(t,1),this.$refs.search.focus(),this.magic_flag=!1,this.search="",this.changedSelection(this.selected))},limit_selection:function(){return!(!0===this.apply_limit&&!1===this.is_pro_version&&this.selected.length>3)||(this.$refs.search.focus(),this.magic_flag=!1,this.search="",!1)}}}},function(t,e,n){"use strict";function a(t,e,n){s(t);var a=n.context,i=e.value;if("function"==typeof i){var o=!1;setTimeout(function(){o=!0},0),t[r]=function(e){var n=e.path||(e.composedPath?e.composedPath():void 0);if(o&&(n?n.indexOf(t)<0:!t.contains(e.target)))return i.call(a,e)},document.documentElement.addEventListener("click",t[r],!1)}}function s(t){document.documentElement.removeEventListener("click",t[r],!1),delete t[r]}var i=n(8);i="default"in i?i.default:i;/^2\./.test(i.version)||i.util.warn("VueClickaway 2.2.2 only supports Vue 2.x, and does not support Vue "+i.version);var r="_vue_clickaway_handler",o={bind:a,update:function(t,e){e.value!==e.oldValue&&a(t,e)},unbind:s},d={directives:{onClickaway:o}};e.version="2.2.2",e.directive=o,e.mixin=d},function(t,e){t.exports='\n\t<div class="form-autocomplete" style="width: 100%;" v-on-clickaway="closeDropdown">\n\t\t\x3c!-- autocomplete input container --\x3e\n\t\t<div class="form-autocomplete-input form-input" :class="is_focused">\n\t\t\t\n\t\t\t\x3c!-- autocomplete chips --\x3e\n\t\t\t<label class="chip" v-for="( option, index ) in selected">\n\t\t\t\t{{option.name}}\n\t\t\t\t<a href="#" class="btn btn-clear" aria-label="Close" @click.prevent="removeSelected(index)"\n\t\t\t\t role="button"></a>\n\t\t\t</label>\n\t\t\t\n\t\t\t\x3c!-- autocomplete real input box --\x3e\n\t\t\t<input style="height: 1.0rem;" class="form-input" type="text" ref="search" v-model="search"\n\t\t\t :placeholder="autocomplete_placeholder" @click="magic_flag = true" @focus="magic_flag = true"\n\t\t\t @keyup="magic_flag = true" @keydown.8="popLast()" @keydown.38="highlightItem(true)"\n\t\t\t @keydown.40="highlightItem()" :disabled="is_disabled">\n\t\t</div>\n\t\t\n\t\t\x3c!-- autocomplete suggestion list --\x3e\n\t\t<ul class="menu" ref="autocomplete_results" :class="is_visible"\n\t\t style="overflow-y: scroll; max-height: 120px">\n\t\t\t\x3c!-- menu list chips --\x3e\n\t\t\t<li class="menu-item" v-for="( option, index ) in options" v-if="filterSearch(option)">\n\t\t\t\t<a href="#" @click.prevent="addToSelected(index)" @keydown.38="highlightItem(true)"\n\t\t\t\t @keydown.40="highlightItem()">\n\t\t\t\t\t<div class="tile tile-centered">\n\t\t\t\t\t\t<div class="tile-content" v-html="markMatch(option.name, search)"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li v-if="has_results">\n\t\t\t\t<a href="#">\n\t\t\t\t\t<div class="tile tile-centered">\n\t\t\t\t\t\t<div class="tile-content"><i>{{labels.multiselect_not_found}}"{{search}}" ...</i></div>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n'},function(t,e,n){var a,s;n(76),a=n(78),s=n(79),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(77);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .input-group .input-group-addon.btn.active[_v-1c9c2ce2] {\n\t\tbackground-color: #8bc34a;\n\t\tborder-color: #33691e;\n\t\tcolor: #FFF;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"button-checkbox",props:{value:{default:"0",type:String},label:{default:"",type:String},id:{default:function(){var t="day";return""!==this.label&&void 0!==this.label&&(t=t+"_"+this.label.toLowerCase()),t}},checked:{default:!1,type:Boolean}},data:function(){return{componentCheckState:this.checked}},computed:{is_active:function(){return{active:!0===this.componentCheckState}}},watch:{checked:function(){this.componentCheckState=this.checked}},methods:{toggleThis:function(){this.componentCheckState=!this.componentCheckState,this.componentCheckState?this.$emit("add-day",this.value):this.$emit("rmv-day",this.value)}}}},function(t,e){t.exports='\n\t<button class="btn input-group-addon column" :class="is_active" @click="toggleThis()" _v-1c9c2ce2="">{{label}}</button>\n'},function(t,e,n){var a,s;n(81),a=n(83),s=n(84),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(82);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop-upsell-box[_v-4cbae0f4]{\n\t\tmargin-top:20px;\n\t}\n\t#rop_core .rop-upsell-business-card[_v-4cbae0f4],\n\t#rop_core .rop-upsell-pro-card[_v-4cbae0f4] {\n\t\tpadding: 0;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"upsell-sidebar",data:function(){return{license:this.$store.state.licence,upsell_link:ropApiSettings.upsell_link,to_pro_upsell:ROP_ASSETS_URL+"img/to_pro.png",labels:this.$store.state.labels.general,to_business_upsell:ROP_ASSETS_URL+"img/to_business.png"}}}},function(t,e){t.exports='\n\t<div id="rop-upsell-box" _v-4cbae0f4="">\n\t\t<div class="card rop-upsell-pro-card" v-if="license < 1 " _v-4cbae0f4="">\n\t\t\t<a :href="upsell_link" target="_blank" _v-4cbae0f4="">\n\t\t\t\t<img class="img-responsive" :src="to_pro_upsell" :alt="labels.upgrade_pro_cta" _v-4cbae0f4="">\n\t\t\t</a>\n\t\t</div>\n\t\t<div class="card rop-upsell-business-card" v-if="license === 1" _v-4cbae0f4="">\n\t\t\t<a :href="upsell_link" target="_blank" _v-4cbae0f4="">\n\t\t\t\t<img class="img-responsive" :src="to_business_upsell" :alt="labels.upgrade_biz_cta" _v-4cbae0f4="">\n\t\t\t</a>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(223),a=n(225),s=n(226),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a,s;n(252),a=n(254),s=n(255),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},s={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,n,i,r){var o=a(e),d=s[t][a(e)];return 2===o&&(d=d[n?0:1]),d.replace(/%d/i,e)}},r=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar",{months:r,monthsShort:r,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},s=function(t){return function(e,s,i,r){var o=n(e),d=a[t][n(e)];return 2===o&&(d=d[s?0:1]),d.replace(/%d/i,e)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar-ly",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,a=t%100-n,s=t>=100?100:null;return t+(e[n]||e[a]||e[s])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===a?n?"хвіліна":"хвіліну":"h"===a?n?"гадзіна":"гадзіну":t+" "+e(s[a],+t)}return t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return t+" "+s({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}function n(t){switch(a(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}function a(t){return t>9?a(t%10):t}function s(t,e){return 2===e?i(t):t}function i(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}return t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return a+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return a+=1===t?"dan":"dana";case"MM":return a+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return a+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5&&1!=~~(t/10)}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"pár sekund":"pár sekundami";case"ss":return n||s?i+(e(t)?"sekundy":"sekund"):i+"sekundami";case"m":return n?"minuta":s?"minutu":"minutou";case"mm":return n||s?i+(e(t)?"minuty":"minut"):i+"minutami";case"h":return n?"hodina":s?"hodinu":"hodinou";case"hh":return n||s?i+(e(t)?"hodiny":"hodin"):i+"hodinami";case"d":return n||s?"den":"dnem";case"dd":return n||s?i+(e(t)?"dny":"dní"):i+"dny";case"M":return n||s?"měsíc":"měsícem";case"MM":return n||s?i+(e(t)?"měsíce":"měsíců"):i+"měsíci";case"y":return n||s?"rok":"rokem";case"yy":return n||s?i+(e(t)?"roky":"let"):i+"lety"}}var a="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),s="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),i=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],r=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;return t.defineLocale("cs",{months:a,monthsShort:s,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="",a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=a[e]),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];return t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}return t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,n){var a=this._calendarEl[t],s=n&&n.hours();return e(a)&&(a=a.apply(n)),a.replace("{}",s%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?s[n][2]?s[n][2]:s[n][1]:a?s[n][0]:s[n][1]}return t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,a,s){var i="";switch(a){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":i=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":i=s?"tunnin":"tuntia";break;case"d":return s?"päivän":"päivä";case"dd":i=s?"päivän":"päivää";break;case"M":return s?"kuukauden":"kuukausi";case"MM":i=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":i=s?"vuoden":"vuotta"}return i=n(t,s)+" "+i}function n(t,e){return t<10?e?s[t]:a[t]:t}var a="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),s=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",a[7],a[8],a[9]];return t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");return t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Méitheamh","Iúil","Lúnasa","Meán Fómhair","Deaireadh Fómhair","Samhain","Nollaig"],n=["Eaná","Feab","Márt","Aibr","Beal","Méit","Iúil","Lúna","Meán","Deai","Samh","Noll"],a=["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Satharn"],s=["Dom","Lua","Mái","Céa","Déa","hAo","Sat"],i=["Do","Lu","Má","Ce","Dé","hA","Sa"];return t.defineLocale("ga",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:a,weekdaysShort:s,weekdaysMin:i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Amárach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inné aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",ss:"%d soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d mí",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],a=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],s=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],i=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];return t.defineLocale("gd",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:a,weekdaysShort:s,weekdaysMin:i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka voran","ek vor"],hh:[t+" voranim",t+" voram"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?s[n][0]:s[n][1]}return t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};return t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return a+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return a+=1===t?"dan":"dana";case"MM":return a+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return a+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s=t;switch(n){case"s":return a||e?"néhány másodperc":"néhány másodperce";case"ss":return s+(a||e)?" másodperc":" másodperce";case"m":return"egy"+(a||e?" perc":" perce");case"mm":return s+(a||e?" perc":" perce");case"h":return"egy"+(a||e?" óra":" órája");case"hh":return s+(a||e?" óra":" órája");case"d":return"egy"+(a||e?" nap":" napja");case"dd":return s+(a||e?" nap":" napja");case"M":return"egy"+(a||e?" hónap":" hónapja");case"MM":return s+(a||e?" hónap":" hónapja");case"y":return"egy"+(a||e?" év":" éve");case"yy":return s+(a||e?" év":" éve")}return""}function n(t){return(t?"":"[múlt] ")+"["+a[this.day()]+"] LT[-kor]"}var a="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?i+(n||s?"sekúndur":"sekúndum"):i+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?i+(n||s?"mínútur":"mínútum"):n?i+"mínúta":i+"mínútu";case"hh":return e(t)?i+(n||s?"klukkustundir":"klukkustundum"):i+"klukkustund";case"d":return n?"dagur":s?"dag":"degi";case"dd":return e(t)?n?i+"dagar":i+(s?"daga":"dögum"):n?i+"dagur":i+(s?"dag":"degi");case"M":return n?"mánuður":s?"mánuð":"mánuði";case"MM":return e(t)?n?i+"mánuðir":i+(s?"mánuði":"mánuðum"):n?i+"mánuður":i+(s?"mánuð":"mánuði");case"y":return n||s?"ár":"ári";case"yy":return e(t)?i+(n||s?"ár":"árum"):i+(n||s?"ár":"ári")}}return t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ja",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()<this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(t){return this.week()<t.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};return t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};return t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};return t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=["کانونی دووەم","شوبات","ئازار","نیسان","ئایار","حوزەیران","تەمموز","ئاب","ئەیلوول","تشرینی یەكەم","تشرینی دووەم","كانونی یەکەم"];return t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),weekdaysShort:"یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(t){return/ئێواره‌/.test(t)},meridiem:function(t,e,n){return t<12?"به‌یانی":"ئێواره‌"},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:"[به‌یانی كاتژمێر] LT",nextWeek:"dddd [كاتژمێر] LT",lastDay:"[دوێنێ كاتژمێر] LT",lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:"له‌ %s",past:"%s",s:"چه‌ند چركه‌یه‌ك",ss:"چركه‌ %d",m:"یه‌ك خوله‌ك",mm:"%d خوله‌ك",h:"یه‌ك كاتژمێر",hh:"%d كاتژمێر",d:"یه‌ك ڕۆژ",dd:"%d ڕۆژ",M:"یه‌ك مانگ",MM:"%d مانگ",y:"یه‌ك ساڵ",yy:"%d ساڵ"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кечээ саат] LT",lastWeek:"[Өткөн аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?s[n][0]:s[n][1]}function n(t){return s(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t}function a(t){return s(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t}function s(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,n=t/10;return s(0===e?n:e)}if(t<1e4){for(;t>=10;)t/=10;return s(t)}return t/=1e3,s(t)}return t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:a,s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){return e?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"}function n(t,e,n,a){return e?s(n)[0]:a?s(n)[1]:s(n)[2]}function a(t){return t%10==0||t>10&&t<20}function s(t){return r[t].split("_")}function i(t,e,i,r){var o=t+" ";return 1===t?o+n(t,e,i[0],r):e?o+(a(t)?s(i)[1]:s(i)[0]):r?o+s(i)[1]:o+(a(t)?s(i)[1]:s(i)[2])}var r={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:e,ss:i,m:n,mm:i,h:n,hh:i,d:n,dd:i,M:n,MM:i,y:n,yy:i},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function n(t,n,a){return t+" "+e(i[a],t,n)}function a(t,n,a){return e(i[a],t,n)}function s(t,e){return e?"dažas sekundes":"dažām sekundēm"}var i={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};return t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:s,ss:n,m:a,mm:n,h:a,hh:n,d:a,dd:n,M:a,MM:n,y:a,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}return t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s="";if(e)switch(n){case"s":s="काही सेकंद";break;case"ss":s="%d सेकंद";break;case"m":s="एक मिनिट";break;case"mm":s="%d मिनिटे";break;case"h":s="एक तास";break;case"hh":s="%d तास";break;case"d":s="एक दिवस";break;case"dd":s="%d दिवस";break;case"M":s="एक महिना";break;case"MM":s="%d महिने";break;case"y":s="एक वर्ष";break;case"yy":s="%d वर्षे"}else switch(n){case"s":s="काही सेकंदां";break;case"ss":s="%d सेकंदां";break;case"m":s="एका मिनिटा";break;case"mm":s="%d मिनिटां";break;case"h":s="एका तासा";break;case"hh":s="%d तासां";break;case"d":s="एका दिवसा";break;case"dd":s="%d दिवसां";break;case"M":s="एका महिन्या";break;case"MM":s="%d महिन्यां";break;case"y":s="एका वर्षा";break;case"yy":s="%d वर्षां"}return s.replace(/%d/i,t)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return a[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return n[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};return t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};return t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function n(t,n,a){var s=t+" ";switch(a){case"ss":return s+(e(t)?"sekundy":"sekund");case"m":return n?"minuta":"minutę";case"mm":return s+(e(t)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return s+(e(t)?"godziny":"godzin");case"MM":return s+(e(t)?"miesiące":"miesięcy");case"yy":return s+(e(t)?"lata":"lat")}}var a="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),s="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return t.defineLocale("pl",{months:function(t,e){return t?""===e?"("+s[t.month()]+"|"+a[t.month()]+")":/D MMMM/.test(e)?s[t.month()]:a[t.month()]:a},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:n,m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},s=" ";return(t%100>=20||t>=100&&t%100==0)&&(s=" de "),t+s+a[n]}return t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?n?"минута":"минуту":t+" "+e(s[a],+t)}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];return t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:n,m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];return t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"pár sekúnd":"pár sekundami";case"ss":return n||s?i+(e(t)?"sekundy":"sekúnd"):i+"sekundami";case"m":return n?"minúta":s?"minútu":"minútou";case"mm":return n||s?i+(e(t)?"minúty":"minút"):i+"minútami";case"h":return n?"hodina":s?"hodinu":"hodinou";case"hh":return n||s?i+(e(t)?"hodiny":"hodín"):i+"hodinami";case"d":return n||s?"deň":"dňom";case"dd":return n||s?i+(e(t)?"dni":"dní"):i+"dňami";case"M":return n||s?"mesiac":"mesiacom";case"MM":return n||s?i+(e(t)?"mesiace":"mesiacov"):i+"mesiacmi";case"y":return n||s?"rok":"rokom";case"yy":return n||s?i+(e(t)?"roky":"rokov"):i+"rokmi"}}var a="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),s="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return t.defineLocale("sk",{months:a,monthsShort:s,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s=t+" ";switch(n){case"s":return e||a?"nekaj sekund":"nekaj sekundami";case"ss":return s+=1===t?e?"sekundo":"sekundi":2===t?e||a?"sekundi":"sekundah":t<5?e||a?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return s+=1===t?e?"minuta":"minuto":2===t?e||a?"minuti":"minutama":t<5?e||a?"minute":"minutami":e||a?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return s+=1===t?e?"ura":"uro":2===t?e||a?"uri":"urama":t<5?e||a?"ure":"urami":e||a?"ur":"urami";case"d":return e||a?"en dan":"enim dnem";case"dd":return s+=1===t?e||a?"dan":"dnem":2===t?e||a?"dni":"dnevoma":e||a?"dni":"dnevi";case"M":return e||a?"en mesec":"enim mesecem";case"MM":return s+=1===t?e||a?"mesec":"mesecem":2===t?e||a?"meseca":"mesecema":t<5?e||a?"mesece":"meseci":e||a?"mesecev":"meseci";case"y":return e||a?"eno leto":"enim letom";case"yy":return s+=1===t?e||a?"leto":"letom":2===t?e||a?"leti":"letoma":t<5?e||a?"leta":"leti":e||a?"let":"leti"}}return t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};return t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"}function n(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"}function a(t,e,n,a){var i=s(t);switch(n){case"ss":return i+" lup";case"mm":return i+" tup";case"hh":return i+" rep";case"dd":return i+" jaj";case"MM":return i+" jar";case"yy":return i+" DIS"}}function s(t){var e=Math.floor(t%1e3/100),n=Math.floor(t%100/10),a=t%10,s="";return e>0&&(s+=i[e]+"vatlh"),n>0&&(s+=(""!==s?" ":"")+i[n]+"maH"),a>0&&(s+=(""!==s?" ":"")+i[a]),""===s?"pagh":s}var i="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");return t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:e,past:n,s:"puS lup",ss:a,m:"wa’ tup",mm:a,h:"wa’ rep",hh:a,d:"wa’ jaj",dd:a,M:"wa’ jar",MM:a,y:"wa’ DIS",yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var a=t%10,s=t%100-a,i=t>=100?100:null;return t+(e[a]||e[s]||e[i])}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return a?s[n][0]:e?s[n][0]:s[n][1]}return t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===a?n?"хвилина":"хвилину":"h"===a?n?"година":"годину":t+" "+e(s[a],+t)}function a(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return!0===t?n.nominative.slice(1,7).concat(n.nominative.slice(0,1)):t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative}function s(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}return t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:a,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:s("[Сьогодні "),nextDay:s("[Завтра "),lastDay:s("[Вчора "),nextWeek:s("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return s("[Минулої] dddd [").call(this);case 1:case 2:case 4:return s("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:n,m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(8),i=a(s),r=n(34),o=a(r),d=n(215),l=a(d);window.addEventListener("load",function(){new i.default({el:"#rop_core",store:o.default,components:{MainPagePanel:l.default},created:function(){o.default.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),o.default.dispatch("fetchAJAXPromise",{req:"get_available_services"}),o.default.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}),o.default.dispatch("fetchAJAXPromise",{req:"get_active_accounts"})}})})},function(t,e,n){var a,s;n(216),a=n(218),s=n(311),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(217);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .badge[data-badge]::after {\n position: absolute;\n bottom: -16px;\n right: 0px;\n }\n\n #rop_core .rop-api-not-available {\n margin: 10px 0px 10px 0px;\n }\n\n #rop_core .badge.badge-logs::after {\n right: auto;\n top: 0px;\n }\n\n #rop_core .badge.badge-logs {\n padding-right: 10px;\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(219),o=a(r),d=n(248),l=a(d),u=n(257),c=a(u),_=n(286),m=a(_),f=n(294),p=a(f),h=n(299),v=a(h),y=n(304),g=a(y),M=n(0),L=(a(M),n(80)),b=a(L);t.exports={name:"main-page-panel",computed:{is_preloading_over:function(){return this.$store.state.hide_preloading},displayTabs:function(){return this.$store.state.displayTabs},page:function(){return this.$store.state.page},is_rest_api_error:function(){return this.$store.state.api_not_available},is_fb_domain_notice:function(){return this.$store.state.fb_exception_toast},current_time:{get:function(){return this.$store.state.cron_status.current_time},set:function(t){this.$store.state.cron_status.current_time=t}},date_format:function(){return this.$store.state.cron_status.date_format},logs_no:function(){return this.$store.state.cron_status.logs_number},btn_class:function(){var t="btn-"+(this.start_status?"danger":"success");return this.haveAccountsActive||(t+=" tooltip button-disabled "),t},status_color_class:function(){var t="sharing-status-"+(this.start_status?"sharing":"notsharing");return this.haveAccountsActive||(t=" sharing-status-notsharing "),this.status_is_error_display?" sharing-status-error ":t},status_label_display:function(){var t=this.$store.state.labels.general,e=this.start_status?t.sharing_to_account:t.sharing_not_started;return this.haveAccountsActive||(e=t.sharing_not_started),this.status_is_error_display?t.status+": "+t.error_check_log:t.status+": "+e},status_is_error_display:function(){return this.status_is_error_display},haveAccounts:function(){return(0,i.default)(this.$store.state.authenticatedServices).length>0},haveAccountsActive:function(){return(0,i.default)(this.$store.state.activeAccounts).length>0},start_status:function(){return this.$store.state.cron_status.current_status},generalSettings:function(){return this.$store.state.generalSettings}},mounted:function(){var t=this;setInterval(function(){t.current_time>0&&(t.current_time+=1)},1e3),this.get_toast_message(!1)},created:function(){},data:function(){return{to_pro_upsell:ROP_ASSETS_URL+"img/to_pro.png",to_business_upsell:ROP_ASSETS_URL+"img/to_business.png",plugin_logo:ROP_ASSETS_URL+"img/logo_rop.png",license:this.$store.state.licence,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link,staging:ropApiSettings.staging,is_loading:!1,is_loading_logs:!1,status_is_error_display:!1}},methods:{close_fb_domain_notice:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.$store.dispatch("fetchAJAXPromise",{req:"fb_exception_toast",data:{action:"hide"}}).then(function(e){t.$log.info("Succesfully closed facebook domain toast."),t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},togglePosting:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0;var e=!1===this.start_status?"start":"stop";this.$store.dispatch("fetchAJAXPromise",{req:"manage_cron",data:{action:e}}).then(function(e){t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},switchTab:function(t){this.$store.commit("setTabView",t)},get_toast_message:function(t){var e=this;if(this.is_loading_logs)return void this.$log.warn("Request in progress...Bail");this.is_loading_logs=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_toast",data:{force:t}}).then(function(t){if(e.$log.info("Succesfully fetched toast log."),e.is_loading_logs=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),t.length)for(var n in t)if("error"===t[n].type){var a={type:t[n].type,show:!0,title:"Error encountered",message:t[n].message};e.$store.commit("updateState",{stateData:a,requestName:"update_toast"})}else"status_error"===t[n].type&&(e.$log.warn("Status is error check logs, global admin notice will be displayed"),e.status_is_error_display=!0)},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t),e.is_loading_logs=!1})}},components:{accounts:o.default,settings:l.default,"accounts-selector":c.default,queue:m.default,logs:p.default,"upsell-sidebar":b.default,toast:v.default,countdown:g.default}}},function(t,e,n){var a,s;n(220),a=n(222),s=n(247),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(221);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .columns.py-2 .text-gray[_v-45c67b1d] {\n margin: 0;\n line-height: normal;\n }\n\n #rop_core .input-group[_v-45c67b1d] {\n width: 100%;\n }\n\n b[_v-45c67b1d] {\n margin-bottom: 5px;\n display: block;\n }\n\n #rop_core .text-gray b[_v-45c67b1d] {\n display: inline;\n }\n\n #rop_core .input-group .input-group-addon[_v-45c67b1d] {\n padding: 3px 5px;\n }\n\n #rop_core .rop-available-accounts h5[_v-45c67b1d] {\n margin-bottom: 15px;\n }\n\n @media ( max-width: 600px ) {\n #rop_core .panel-body .text-gray[_v-45c67b1d] {\n margin-bottom: 10px;\n }\n\n #rop_core .text-right[_v-45c67b1d] {\n text-align: left;\n }\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(85),o=a(r),d=n(227),l=a(d),u=n(232),c=a(u),_=n(237),m=a(_);t.exports={name:"account-view",data:function(){return{addAccountActive:!1,accountsCount:0,is_loading:!1,twitter_warning:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,pro_installed:ropApiSettings.pro_installed,is_preloading:this.$store.state.hide_preloading}},mounted:function(){0===this.is_preloading&&this.page_loader_module_display()},computed:{accounts:function(){var t={},e=0,n=this.$store.state.authenticatedServices;for(var a in n)if(n.hasOwnProperty(a)){var s=n[a];for(var r in s.available_accounts)s.available_accounts.hasOwnProperty(r)&&(t[r]=s.available_accounts[r],"twitter"===s.service&&(e+=(0,i.default)(s.available_accounts).length))}return this.twitter_warning=e>1,this.$log.info("All accounts: ",t),this.$log.debug("Preloading: ",this.$store.state.hide_preloading),this.accountsCount=(0,i.default)(t).length,this.is_preloading=this.$store.state.hide_preloading,t},checkLicense:function(){return this.$store.state.licence<1}},methods:{page_loader_module_display:function(){this.$refs.Preloader.show()},resetAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"reset_accounts",data:{}}).then(function(e){t.is_loading=!1,!0===t.$parent.start_status&&t.$parent.togglePosting(),t.$store.dispatch("fetchAJAXPromise",{req:"get_available_services"}).then(function(e){t.is_loading=!1})},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})}},components:{SignInBtn:o.default,ServiceUserTile:l.default,AddAccountTile:c.default,vue_spinner:m.default}}},function(t,e,n){var a=n(224);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop-sign-in-area .btn[disabled][_v-90680408]{\n\t\tcursor:not-allowed;\n\t\tpointer-events: auto;\n\t\topacity: 0.3;\n\t}\n\t.big-btn#gmb-btn[_v-90680408]{\n\tpadding: 0 35px 0 14px;\n\t}\n\t.btn-gmb[_v-90680408]{\n\ttext-transform: uppercase;\n\t}\n\t#rop_core .btn.btn-buffer[_v-90680408]{\n\t\tdisplay: none;\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(49),o=a(r);t.exports={name:"sign-in-btn",created:function(){},data:function(){return{modal:{isOpen:!1,serviceName:"",description:"",data:{}},showAdvanceConfig:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,activePopup:"",appOrigin:ropAuthAppData.authAppUrl,appPathFB:ropAuthAppData.authAppFacebookPath,appPathTW:ropAuthAppData.authAppTwitterPath,appPathLI:ropAuthAppData.authAppLinkedInPath,appPathBuffer:ropAuthAppData.authAppBufferPath,appPathTumblr:ropAuthAppData.authAppTumblrPath,appPathGmb:ropAuthAppData.authAppGmbPath,appAdminEmail:ropAuthAppData.adminEmail,siteAdminUrl:ropAuthAppData.adminUrl,appUniqueId:ropAuthAppData.authToken,appSignature:ropAuthAppData.authSignature,windowParameters:"top=20,left=100,width=560,height=670",authPopupWindow:null,showLiAppBtn:ropApiSettings.show_li_app_btn,showTmblrAppBtn:ropApiSettings.show_tmblr_app_btn,showBtn:!1}},methods:{getTooltip:function(t,e){if(void 0!==t&&!1===t.active)return this.labels.only_in_pro;var n=0;for(var a in this.$store.state.authenticatedServices)this.$store.state.authenticatedServices[a].service===e&&n++;var s=0;for(var i in this.$store.state.activeAccounts)this.$store.state.activeAccounts[i].service===e&&s++;return void 0!==t&&(t.allowed_accounts<=n||t.allowed_accounts<=s)?this.labels.limit_reached:""},checkDisabled:function(t,e){if(void 0!==t&&!1===t.active)return!0;var n=0;for(var a in this.$store.state.authenticatedServices)this.$store.state.authenticatedServices[a].service===e&&n++;var s=0;for(var i in this.$store.state.activeAccounts)this.$store.state.activeAccounts[i].service===e&&s++;return void 0!==t&&(t.allowed_accounts<=n||t.allowed_accounts<=s)||this.$store.state.auth_in_progress},requestAuthorization:function(t){this.selected_network=t,this.$store.state.auth_in_progress=!0,this.$store.state.availableServices[this.selected_network].two_step_sign_in?(this.modal.serviceName=this.$store.state.availableServices[this.selected_network].name,this.modal.description=this.$store.state.availableServices[this.selected_network].description,this.modal.data=this.$store.state.availableServices[this.selected_network].credentials,this.openModal()):(this.activePopup=this.selected_network,this.getUrlAndGo([]))},openPopup:function(t){this.$log.debug("Opening popup for url ",t),this.$store.commit("logMessage",["Trying to open popup for url:"+t,"notice"]),window.open(t,"_self")},getUrlAndGo:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"get_service_sign_in_url",updateState:!1,data:{service:this.selected_network,credentials:t}}).then(function(t){t.url&&""!=t.url?e.openPopup(t.url):(e.cancelModal(),alert("Could not authenticate, please make sure you entered the correct credentials."))},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},requestAuthentication:function(){this.$store.dispatch("fetchAJAX",{req:"authenticate_service",data:{service:this.selected_network}})},openModal:function(){this.modal.isOpen=!0},closeModal:function(){var t={},e=!0,n=!0,a=!1,s=void 0;try{for(var r,d=(0,o.default)((0,i.default)(this.modal.data));!(n=(r=d.next()).done);n=!0){var l=r.value;t[l]="","value"in this.modal.data[l]&&""!==this.modal.data[l].value?(t[l]=this.modal.data[l].value,this.modal.data[l].error=!1):(this.modal.data[l].error=!0,e=!1)}}catch(t){a=!0,s=t}finally{try{!n&&d.return&&d.return()}finally{if(a)throw s}}if(!e)return void this.$forceUpdate();this.activePopup=this.selected_network,this.getUrlAndGo(t),this.modal.isOpen=!1},cancelModal:function(){this.$store.state.auth_in_progress=!1,this.showAdvanceConfig=!1,this.modal.isOpen=!1},addAccountFB:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_fb",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountTW:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_tw",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountLI:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_li",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountBuffer:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_buffer",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountTumblr:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_tumblr",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountGmb:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_gmb",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},getChildWindowMessage:function(t){~t.origin.indexOf(this.appOrigin)&&("Twitter"===this.modal.serviceName?this.addAccountTW(JSON.parse(t.data)):"Facebook"===this.modal.serviceName?this.addAccountFB(JSON.parse(t.data)):"LinkedIn"===this.modal.serviceName?this.addAccountLI(JSON.parse(t.data)):"Buffer"===this.modal.serviceName?this.addAccountBuffer(JSON.parse(t.data)):"Tumblr"===this.modal.serviceName?this.addAccountTumblr(JSON.parse(t.data)):"Gmb"===this.modal.serviceName&&this.addAccountGmb(JSON.parse(t.data)))},openPopupFB:function(){var t=this,e=this.appOrigin+this.appPathFB+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authFB",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupTW:function(){var t=this,e=this.appOrigin+this.appPathTW+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authTW",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupLI:function(){var t=this,e=this.appOrigin+this.appPathLI+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authLI",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupBuffer:function(){var t=this,e=this.appOrigin+this.appPathBuffer+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authLI",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupTumblr:function(){var t=this,e=this.appOrigin+this.appPathTumblr+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authTmblr",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupGmb:function(){var t=this,e=this.appOrigin+this.appPathGmb+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authGmb",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})}},computed:{selected_service:function(){return this.services[this.selected_network]},selected_network:{get:function(){var t=this.modal.serviceName;return(0,i.default)(this.services)[0]&&""===t&&(t=(0,i.default)(this.services)[0]),t.toLowerCase()},set:function(t){this.modal.serviceName=t}},services:function(){return this.$store.state.availableServices},modalActiveClass:function(){return{active:!0===this.modal.isOpen}},serviceId:function(){return"service-"+this.modal.serviceName.toLowerCase()},isFacebook:function(){return"Facebook"===this.modal.serviceName},isTwitter:function(){return"Twitter"===this.modal.serviceName},isLinkedIn:function(){return"LinkedIn"===this.modal.serviceName},isBuffer:function(){return"Buffer"===this.modal.serviceName},isTumblr:function(){return"Tumblr"===this.modal.serviceName},isGmb:function(){return"Gmb"===this.modal.serviceName},isPinterest:function(){return"Pinterest"===this.modal.serviceName},isAllowedTumblr:function(){var t=!0;return this.showTmblrAppBtn||(t=!1),t}}}},function(t,e){t.exports='\n\t<div id="rop-sign-in-area" _v-90680408="">\n\t\t<div class="input-group text-right buttons-wrap" _v-90680408="">\n\t\t\t<button v-for="( service, network ) in services" :disabled="checkDisabled( service, network )" :title="getTooltip( service, network )" class="btn input-group-btn" :class="\'btn-\' + network" @click="requestAuthorization( network )" _v-90680408="">\n\t\t\t\t<i v-if="network !== \'buffer\' &amp;&amp; network !== \'gmb\'" class="fa fa-fw" :class="\'fa-\' + network" _v-90680408=""></i>\n\t\t\t\t<i v-if="network === \'buffer\'" class="fa fa-fw fa-plus-square" _v-90680408=""></i>\n\t\t\t\t<i v-if="network === \'gmb\'" class="fa fa-fw fa-google" _v-90680408=""></i>\n\t\t\t\t{{service.name}}\n\t\t\t</button>\n\n\t\t</div>\n\n\t\t<div class="modal" :class="modalActiveClass" _v-90680408="">\n\t\t\t<div class="modal-overlay" _v-90680408=""></div>\n\t\t\t<div class="modal-container" _v-90680408="">\n\t\t\t\t<div class="modal-header" _v-90680408="">\n\t\t\t\t\t<button class="btn btn-clear float-right" @click="cancelModal()" _v-90680408=""></button>\n\t\t\t\t\t<div class="modal-title h5" _v-90680408="">{{ modal.serviceName }} {{labels.service_popup_title}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="modal-body" _v-90680408="">\n\t\t\t\t\t<div class="content" _v-90680408="">\n\t\t\t\t\t\t<div class="auth-app" v-if="isFacebook" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupFB()" _v-90680408="">{{labels.fb_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isTwitter" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupTW()" _v-90680408="">{{labels.tw_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isLinkedIn" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupLI()" _v-90680408="">{{labels.li_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isTumblr &amp;&amp; isAllowedTumblr" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupTumblr()" _v-90680408="">{{labels.tumblr_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isBuffer" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupBuffer()" _v-90680408="">{{labels.buffer_app_signin_btn}}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isGmb" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" id="gmb-btn" @click="openPopupGmb()" _v-90680408="">{{labels.gmb_app_signin_btn}}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div id="rop-advanced-config" v-if="isFacebook || isTwitter || isLinkedIn || (isTumblr &amp;&amp; isAllowedTumblr)" _v-90680408="">\n\t\t\t\t\t\t<button class="btn btn-primary" v-on:click="showAdvanceConfig = !showAdvanceConfig" _v-90680408="">{{labels.show_advance_config}}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="showAdvanceConfig &amp;&amp; (isFacebook || isTwitter || isLinkedIn || (isTumblr &amp;&amp; isAllowedTumblr) )" _v-90680408="">\n\t\t\t\t\t\t<div class="form-group" v-for="( field, id ) in modal.data" _v-90680408="">\n\t\t\t\t\t\t\t<label class="form-label" :for="field.id" _v-90680408="">{{ field.name }}</label>\n\t\t\t\t\t\t\t<input :class="[ \'form-input\', field.error ? \' is-error\' : \'\' ]" type="text" :id="field.id" v-model="field.value" :placeholder="field.name" _v-90680408="">\n\t\t\t\t\t\t\t<small class="text-error" v-if="field.error" _v-90680408="">{{labels.field_required}}</small>\n\t\t\t\t\t\t\t<p class="text-gray" _v-90680408="">{{ field.description }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="(!isTwitter &amp;&amp; !isFacebook &amp;&amp; !isLinkedIn &amp;&amp; !isBuffer &amp;&amp; !isGmb &amp;&amp; !isTumblr) || (isTumblr &amp;&amp; !isAllowedTumblr)" _v-90680408="">\n\t\t\t\t\t\t<div class="form-group" v-for="( field, id ) in modal.data" _v-90680408="">\n\t\t\t\t\t\t\t<label class="form-label" :for="field.id" _v-90680408="">{{ field.name }}</label>\n\t\t\t\t\t\t\t<input :class="[ \'form-input\', field.error ? \' is-error\' : \'\' ]" type="text" :id="field.id" v-model="field.value" :placeholder="field.name" _v-90680408="">\n\t\t\t\t\t\t\t<small class="text-error" v-if="field.error" _v-90680408="">{{labels.field_required}}</small>\n\t\t\t\t\t\t\t<p class="text-gray" _v-90680408="">{{ field.description }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="isFacebook || isTwitter || isLinkedIn || isBuffer || isGmb || (isTumblr &amp;&amp; isAllowedTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<p class="text-left pull-left mr-2" v-html="labels.rs_app_info" _v-90680408=""></p>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="showAdvanceConfig &amp;&amp; (isFacebook || isTwitter || isLinkedIn || isTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<div class="text-left pull-left mr-2" v-html="modal.description" _v-90680408=""></div>\n\t\t\t\t\t<button class="btn btn-primary" @click="closeModal()" _v-90680408="">{{labels.sign_in_btn}}</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="(!isTwitter &amp;&amp; !isFacebook &amp;&amp; !isLinkedIn &amp;&amp; !isBuffer &amp;&amp; !isGmb &amp;&amp; !isTumblr) || (isTumblr &amp;&amp; !isAllowedTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<div class="text-left pull-left mr-2" v-html="modal.description" _v-90680408=""></div>\n\t\t\t\t\t<button class="btn btn-primary" @click="closeModal()" _v-90680408="">{{labels.sign_in_btn}}</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(228),a=n(230),s=n(231),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(229);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.rop-remove-account[_v-1669a290]{\n\t\twidth:15px;\n\t\ttext-align: center;\n\t\tcursor: pointer;\n\t\theight: 100%;\n\t\t-ms-flex: 0 0 auto;\n\t\tline-height: 40px;\n\t\topacity: 1;\n\t\tmargin-left:0;\n\t\ttransition-timing-function: ease-in;\n\t\ttransition: 1s;\n\t\tz-index:9999;\n\t}\n\n",""])},function(t,e,n){"use strict";var a=n(8),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"service-user-tile",props:["account_data","account_id"],data:function(){return{is_loading:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link}},computed:{checkDisabled:function(){if(this.account_data.active)return!1;var t=this.$store.state.availableServices;if(void 0===t[this.account_data.service])return this.$log.info("No available service ",this.account_data.service),!0;if(!1===t[this.account_data.service].active)return this.$log.info("Service is not allowed",this.account_data.service),!0;var e=t[this.account_data.service].allowed_accounts;if("facebook"===this.account_data.service&&this.user.includes("Facebook Group:")&&!this.isPro)return!0;var n=0;for(var a in this.$store.state.activeAccounts)this.$store.state.activeAccounts[a].service===this.account_data.service&&n++;return this.$log.info("Service limit details ",this.account_data.service,e,n),e<=n},isPro:function(){return this.$store.state.licence>0},type:function(){return!0===this.account_data.active?"active":"inactive"},service:function(){var t=this.account_data.service;return t=""!==this.img?t.concat(" ").concat("has_image"):t.concat(" ").concat("no-image")},icon:function(){var t="fa-";return"facebook"===this.account_data.service&&(t=t.concat("facebook")),"twitter"===this.account_data.service&&(t=t.concat("twitter")),"linkedin"===this.account_data.service&&(t=t.concat("linkedin")),"tumblr"===this.account_data.service&&(t=t.concat("tumblr")),"pinterest"===this.account_data.service&&(t=t.concat("pinterest")),t},img:function(){var t="";return""!==this.account_data.img&&void 0!==this.account_data.img&&(t=this.account_data.img),t},user:function(){return this.account_data.user},link:function(){return this.account_data.link},serviceInfo:function(){return this.account_data.account.concat(" "+this.labels.at+": ").concat(this.account_data.created)}},methods:{removeAccount:function(t){var e=this;if(s.default.$log.info("Remove account",t),this.is_loading)return void s.default.$log.warn("Request in progress...Bail...",t);this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"remove_account",data:{account_id:t}}).then(function(t){e.$store.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}).then(function(t){e.is_loading=!1},function(t){e.is_loading=!1}),e.$store.dispatch("fetchAJAXPromise",{req:"get_available_services"}).then(function(t){},function(t){s.default.$log.error("service-user-tile.vue => fetchAJAXPromise::get_available_services issue: ",t)})},function(t){e.is_loading=!1,s.default.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},toggleAccount:function(t,e){var n=this,a=t.split("_");if(3!==a.length)return void s.default.$log.error("Invalid id format for active account ",t);var i=a[0]+"_"+a[1];this.$store.state.authenticatedServices[i].available_accounts[t].active="inactive"!==e,this.$log.info("Before toggle ",this.$store.state.activeAccounts),"inactive"===e?s.default.delete(this.$store.state.activeAccounts,t):s.default.set(this.$store.state.activeAccounts,t,this.$store.state.authenticatedServices[i].available_accounts[t]),this.$store.dispatch("fetchAJAXPromise",{req:"toggle_account",data:{account_id:t,state:e}}).then(function(t){n.$store.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1})},function(t){n.is_loading=!1,s.default.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},startToggleAccount:function(t,e){if(s.default.$log.info("Toggle account",t,e),this.is_loading)return void s.default.$log.warn("Request in progress...Bail...",t,e);this.is_loading=!0,this.toggleAccount(t,e)}}}},function(t,e){t.exports='\n\t<div class="tile tile-centered rop-account" :class="\'rop-\'+type+\'-account\'" _v-1669a290="">\n\n\t\t<div class="tile-icon" _v-1669a290="">\n\t\t\t<div class="icon_box" :class="service" _v-1669a290="">\n\t\t\t\t<img class="service_account_image" :src="img" v-if="img" _v-1669a290="">\n\t\t\t\t<i class="fa " :class="icon" aria-hidden="true" _v-1669a290=""></i>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="tile-content" _v-1669a290="">\n\t\t\t<div class="tile-title" _v-1669a290=""><a :href="link" target="_blank" _v-1669a290="">{{ user }}</a></div>\n\t\t\t<div class="tile-subtitle text-gray" _v-1669a290="">{{ serviceInfo }}</div>\n\t\t</div>\n\t\t<div class="tile-action" _v-1669a290="">\n\t\t\t<div class="form-group" _v-1669a290="">\n\t\t\t\t<label class="form-switch" _v-1669a290="">\n\t\t\t\t\t<div class="ajax-loader " _v-1669a290=""><i class="fa fa-spinner fa-spin" v-show="is_loading" _v-1669a290=""></i></div>\n\t\t\t\t\t<input :disabled="checkDisabled" type="checkbox" v-model="account_data.active" @change="startToggleAccount( account_id, type )" _v-1669a290="">\n\t\t\t\t\t<i class="form-icon" _v-1669a290=""></i>\n\t\t\t\t</label>\n\t\t\t</div>\n\n \t\t<div class="tile-icon rop-remove-account tooltip tooltip-right" @click="removeAccount(account_id) " :data-tooltip="labels.remove_account" v-if=" ! account_data.active" _v-1669a290="">\n\t\t\t<i class="fa fa-trash" v-if=" ! is_loading" _v-1669a290=""></i>\n\t\t\t<i class="fa fa-spinner fa-spin" v-else="" _v-1669a290=""></i>\n\t\t</div>\n\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(233),a=n(235),s=n(236),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(234);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.icon_box[_v-c7c6b28e] {\n\t\tbackground: #efefef;\n\t\tpadding: 0;\n\t\ttransition: .3s ease;\n\t}\n\n\t.icon_box.close .fa[_v-c7c6b28e] {\n\t\tline-height: 1.6em;\n\t}\n\n\t.icon_box.open .fa[_v-c7c6b28e] {\n\t\tline-height: 1.7em;\n\t\twidth: 20px;\n\t\ttransform: rotate(-135deg);\n\t\t-webkit-transform: rotate(-135deg);\n\t}\n\n\t.fa[_v-c7c6b28e] {\n\t\ttransition: all .3s cubic-bezier(.34, 1.61, .7, 1);\n\t}\n\n",""])},function(t,e,n){"use strict";var a=n(85),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"add-account-tile",data:function(){return{addAccountActive:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,add_more_clicked:!1,added_networks:ropApiSettings.added_networks}},computed:{},components:{SignInBtn:s.default},methods:{addMore:function(){this.add_more_clicked=!0}}}},function(t,e){t.exports='\n\t<div _v-c7c6b28e="">\n\t\t<div class="tile-content" _v-c7c6b28e="">\n\t\t</div>\n\t\t<div class="rop-add-account" _v-c7c6b28e="">\n <button class="btn btn-secondary" v-if="!this.add_more_clicked &amp;&amp; this.added_networks >= 2" @click="addMore()" _v-c7c6b28e="">\n <i class="fa fa-plus" _v-c7c6b28e=""></i>{{labels.add_all_cta}}\n </button>\n\n\t\t\t\t\t<sign-in-btn v-if="this.add_more_clicked || this.added_networks < 2" _v-c7c6b28e=""></sign-in-btn>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(238),a=n(240),s=n(246),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(239);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n .preloader-container[_v-0bef4ce3] {\n position: relative;\n z-index: 9998;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n width: 100%;\n height: 218px;\n background-color: rgba(255, 255, 255, 0.1);\n display: block;\n }\n\n .preloader-body[_v-0bef4ce3] {\n width: 350px;\n height: 80px;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n text-align: center;\n display: block;\n }\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(241),s=function(t){return t&&t.__esModule?t:{default:t}}(a),i={"loader-style":s.default};e.default={name:"vue-spinner",mounted:function(){},props:{spinner_style:{type:String,default:"loader-style"},loading:{type:Boolean,default:!0},color:{type:String,default:"#429bf4"},size:{type:String,default:"30px"},margin:{type:String,default:"2px"},radius:{type:String,default:"100%"},preloader_message:{type:String,default:"Loading..."}},data:function(){return{display_the_preloader:!1,loading_message:this.preloader_message}},components:i,methods:{show:function(){this.display_the_preloader=!0},hide:function(){this.display_the_preloader=!1}}}},function(t,e,n){var a,s;n(242),a=n(244),s=n(245),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(243);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\n .preloader-loading-item .normal-dot[_v-8eaa7080] {\n animation: dot-do-animation 0.7s infinite linear;\n animation-fill-mode: both;\n display: inline-block;\n }\n\n .preloader-loading-item .normal-dot-odd[_v-8eaa7080] {\n animation-delay: 0s;\n }\n\n .preloader-loading-item .normal-dot-even[_v-8eaa7080] {\n animation-delay: 0.50s;\n }\n\n @keyframes dot-do-animation {\n 50% {\n transform: scale(0.75);\n -webkit-opacity: 0.2;\n opacity: 0.2;\n }\n 100% {\n transform: scale(1);\n -webkit-opacity: 1;\n opacity: 1;\n }\n }\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"preload_three_dots",props:{loading:{type:Boolean,default:!0},color:{type:String,default:"#5dc596"},size:{type:String,default:"15px"},margin:{type:String,default:"2px"},radius:{type:String,default:"100%"}},data:function(){return{dot_style:{backgroundColor:this.color,height:this.size,width:this.size,margin:this.margin,borderRadius:this.radius}}}}},function(t,e){t.exports='\n <div class="preloader-loading-item" v-show="loading" _v-8eaa7080="">\n <div class="normal-dot normal-dot-odd" v-bind:style="dot_style" _v-8eaa7080=""></div>\n <div class="normal-dot normal-dot-even" v-bind:style="dot_style" _v-8eaa7080=""></div>\n <div class="normal-dot normal-dot-odd" v-bind:style="dot_style" _v-8eaa7080=""></div>\n </div>\n'},function(t,e){t.exports='\n <transition v-if="display_the_preloader" _v-0bef4ce3="">\n <div class="preloader-container" _v-0bef4ce3="">\n <div class="preloader-body text-center" _v-0bef4ce3="">\n <p class="empty-title h5" v-html="loading_message" _v-0bef4ce3=""></p>\n <component v-bind:is="spinner_style" :loading="loading" :color="color" :size="size" :margin="margin" :radius="radius" _v-0bef4ce3=""></component>\n </div>\n </div>\n </transition>\n'},function(t,e){t.exports='\n <div class="tab-view" _v-45c67b1d="">\n <div class="panel-body" _v-45c67b1d="">\n <div class="toast toast-warning" v-html="labels.twitter_warning" v-if="twitter_warning" _v-45c67b1d="">\n\n </div>\n <div class="container" _v-45c67b1d="">\n <div class="columns" :class="\'rop-tab-state-\'+is_loading" _v-45c67b1d="">\n <div class="column col-sm-12 col-md-12 col-lg-12 text-left rop-available-accounts mt-2" _v-45c67b1d="">\n <vue_spinner :preloader_message="labels.preloader_message_accounts" ref="Preloader" v-if="is_preloading === 0" _v-45c67b1d=""></vue_spinner>\n <div class="empty mb-2" v-if="accountsCount === 0 &amp;&amp; is_preloading > 0" _v-45c67b1d="">\n <div class="empty-icon" _v-45c67b1d="">\n <i class="fa fa-3x fa-user-circle-o" _v-45c67b1d=""></i>\n </div>\n <p class="empty-title h5" _v-45c67b1d="">{{labels.no_accounts}}</p>\n <p class="empty-subtitle" _v-45c67b1d="">{{labels.no_accounts_desc}}</p>\n </div>\n <div class="account-container" v-for="( account, id ) in accounts" v-if="is_preloading > 0" _v-45c67b1d="">\n <service-user-tile :account_data="account" :account_id="id" _v-45c67b1d=""></service-user-tile>\n <span class="divider" _v-45c67b1d=""></span>\n </div>\n <div class="add-accounts" v-if="is_preloading > 0" id="rop-add-account-button" _v-45c67b1d="">\n <add-account-tile _v-45c67b1d=""></add-account-tile>\n <span class="divider" _v-45c67b1d=""></span>\n </div>\n </div>\n </div>\n </div>\n <div class="panel-footer" v-if="is_preloading > 0" _v-45c67b1d="">\n <div class="columns my-2" v-if="checkLicense &amp;&amp; pro_installed" _v-45c67b1d="">\n <div class="column col-12" _v-45c67b1d="">\n <i class="fa fa-info-circle " _v-45c67b1d=""></i> <span v-html="labels.activate_license" _v-45c67b1d=""></span>\n </div>\n </div>\n <div class="columns my-2" v-if="(checkLicense &amp;&amp; accountsCount === 2) &amp;&amp; !pro_installed" _v-45c67b1d="">\n <div class="column col-12" _v-45c67b1d="">\n <p class="upsell" _v-45c67b1d="">\n <i class="fa fa-info-circle " _v-45c67b1d=""></i> <span v-html="labels.upsell_accounts" _v-45c67b1d=""></span>\n </p>\n </div>\n </div>\n <div class="column col-12 text-right" _v-45c67b1d="">\n <button class="btn btn-secondary" @click="resetAccountData()" _v-45c67b1d="">\n <i class="fa fa-ban" v-if="!this.is_loading" _v-45c67b1d=""></i>\n <i class="fa fa-spinner fa-spin" v-else="" _v-45c67b1d=""></i>\n {{labels.remove_all_cta}}\n </button>\n </div>\n </div>\n </div>\n\n </div>\n'},function(t,e,n){var a,s;n(249),a=n(251),s=n(256),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(250);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .panel-body .text-gray[_v-e19866cc] {\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t}\n\n\t#rop_core .input-group[_v-e19866cc] {\n\t\twidth: 100%;\n\t}\n\n\tb[_v-e19866cc] {\n\t\tmargin-bottom: 5px;\n\t\tdisplay: block;\n\t}\n\n\t#rop_core .input-group .input-group-addon[_v-e19866cc] {\n\t\tpadding: 3px 5px;\n\t}\n\n\t@media ( max-width: 600px ) {\n\t\t#rop_core .panel-body .text-gray[_v-e19866cc] {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t#rop_core .text-right[_v-e19866cc] {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n\t.rop-post-type-badge[_v-e19866cc]{\n\t\ttext-align: center;\n\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(86),i=a(s),r=n(52),o=a(r);t.exports={name:"settings-view",data:function(){return{searchQuery:"",postTimeout:"",labels:this.$store.state.labels.settings,upsell_link:ropApiSettings.upsell_link,is_loading:!1,is_taxonomy_message:!1}},computed:{generalSettings:function(){return this.$store.state.generalSettings},isPro:function(){return this.$store.state.licence>=1},isTaxLimit:function(){return ropApiSettings.tax_apply_limit>0},isBiz:function(){return this.$store.state.licence>1},postTypes:function(){return this.$store.state.generalSettings.available_post_types},taxonomies:function(){return this.$store.state.generalSettings.available_taxonomies},checkMediaPostType:function(){var t=this.$store.state.generalSettings.selected_post_types;return void 0!==t&&null!==t&&(!(t.length<0)&&t.map(function(t){return t.value}).indexOf("attachment")>-1)},isInstantShare:function(){return this.$store.state.generalSettings.instant_share},isCustomMsgs:function(){return this.$store.state.generalSettings.custom_messages}},mounted:function(){this.$log.info("In General Settings state "),this.getGeneralSettings()},methods:{displayProMessage:function(t){!this.isPro&&t>=4&&(!0===this.isTaxLimit?this.is_taxonomy_message=!0:this.is_taxonomy_message=!1)},getGeneralSettings:function(){var t=this;0===this.$store.state.generalSettings.length&&(this.is_loading=!0,this.$log.info("Fetching general settings."),this.$store.dispatch("fetchAJAXPromise",{req:"get_general_settings"}).then(function(e){t.is_loading=!1,t.$log.debug("Succesfully fetched.")},function(e){t.is_loading=!1,t.$log.error("Can not fetch the general settings.")}))},searchUpdate:function(t){this.searchQuery=t},updatedPostTypes:function(t){var e=[];for(var n in t)e.push(t[n].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_post_types"}),this.$store.dispatch("fetchAJAX",{req:"get_taxonomies",data:{post_types:e}})},updatedTaxonomies:function(t){var e=[];if(this.isPro||!1===this.isTaxLimit){this.is_taxonomy_message=!1;for(var n in t)e.push(t[n].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_taxonomies"})}else if(t.length>3)this.is_taxonomy_message=!0;else{this.is_taxonomy_message=!1;for(var a in t)e.push(t[a].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_taxonomies"})}},saveGeneralSettings:function(){var t=this,e=this.$store.state.generalSettings.selected_post_types,n=this.$store.state.generalSettings.selected_taxonomies,a=this.generalSettings.exclude_taxonomies;this.generalSettings.selected_posts;this.is_loading=!0,this.$log.info("Sending request for saving general settings.."),this.$store.dispatch("fetchAJAXPromise",{req:"save_general_settings",updateState:!1,data:{available_taxonomies:this.generalSettings.available_taxonomies,default_interval:this.generalSettings.default_interval,minimum_post_age:this.generalSettings.minimum_post_age,maximum_post_age:this.generalSettings.maximum_post_age,number_of_posts:this.generalSettings.number_of_posts,more_than_once:this.generalSettings.more_than_once,selected_post_types:e,selected_taxonomies:n,exclude_taxonomies:a,ga_tracking:this.generalSettings.ga_tracking,custom_messages:this.generalSettings.custom_messages,custom_messages_share_order:this.generalSettings.custom_messages_share_order,instant_share:this.generalSettings.instant_share,true_instant_share:this.generalSettings.true_instant_share,instant_share_default:this.generalSettings.instant_share_default,instant_share_future_scheduled:this.generalSettings.instant_share_future_scheduled,housekeeping:this.generalSettings.housekeeping}}).then(function(e){t.is_loading=!1,t.$log.info("Successfully saved general settings.")},function(e){t.$log.error("Successfully saved general settings."),t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})}},components:{counterInput:i.default,MultipleSelect:o.default}}},function(t,e,n){var a=n(253);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .input-group.rop-counter-group {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n\t\n\t#rop_core .btn.increment-btn {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\twidth: 1rem;\n\t\theight: 0.85rem;\n\t\tpadding: 0.025rem 0.010rem;\n\t\tline-height: 0.3rem;\n\t\tz-index: 2;\n\t\tcolor: #ababab;\n\t\tborder-color: #ababab;\n\t}\n\t\n\t#rop_core .btn.increment-btn:hover, #rop_core .btn.increment-btn:active, #rop_core .btn.increment-btn:focus {\n\t\tbackground-color: #00a6e3;\n\t\tcolor: #fff;\n\t\tborder-color: #00a6e3;\n\t}\n\t\n\t#rop_core .btn.increment-btn.up {\n\t\ttop: 0;\n\t}\n\t\n\t#rop_core .btn.increment-btn.down {\n\t\tbottom: 0;\n\t}\n\t\n\tinput.rop-counter::-webkit-inner-spin-button {\n\t\tdisplay: none;\n\t}\n",""])},function(t,e,n){"use strict";var a=null;t.exports={name:"counter-input",props:{id:{default:""},value:{default:0,type:Number},allowNegative:{default:!1,type:Boolean},minVal:{default:0,type:Number},maxVal:{default:0,type:Number}},data:function(){return{pressStartTime:null,incrementUp:0,incrementDown:0,inputValue:0}},computed:{inputValueC:{get:function(){return this.value},set:function(t){this.inputValue=parseFloat(t),this.$emit("update:value",this.inputValue)}}},methods:{updateInput:function(){this.inputValue=this.value.toString(),this.inputValue=parseFloat(this.inputValue);var t=new Date,e=parseInt((t.getTime()-this.pressStartTime.getTime())/1e3),n=e;0===e&&(n=1),n=parseInt(n),1===this.incrementUp&&(this.inputValue+=n,this.inputValue>this.maxVal&&0!==this.maxVal&&(this.inputValue=this.maxVal)),1===this.incrementDown&&(this.inputValue-=n,this.inputValue<0&&!1===this.allowNegative&&(this.inputValue=0),this.inputValue<this.minVal&&(this.inputValue=this.minVal)),this.inputValue=parseFloat(this.inputValue.toFixed(1)),this.$emit("update:value",this.inputValue)},isPressed:function(t){"up"===t?this.incrementUp=1:this.incrementDown=1,this.pressStartTime=new Date,this.updateInput(),a=setInterval(this.updateInput,250)},isReleased:function(t){"up"===t?this.incrementUp=0:this.incrementDown=0,this.pressStartTime=null,clearInterval(a)}}}},function(t,e){t.exports='\n\t<div class="input-group rop-counter-group">\n\t\t<input class="form-input rop-counter" type="text" v-model="inputValueC" :id="id">\n\t\t<button class="btn input-group-btn increment-btn up" @mousedown="isPressed(\'up\')" @mouseup="isReleased(\'up\')"><i\n\t\t\t\tclass="fa fa-fw fa-caret-up"></i></button>\n\t\t<button class="btn input-group-btn increment-btn down" @mousedown="isPressed(\'down\')"\n\t\t @mouseup="isReleased(\'down\')"><i class="fa fa-fw fa-caret-down"></i></button>\n\t</div>\n'},function(t,e){t.exports='\n <div class="tab-view" _v-e19866cc="">\n <div class="panel-body" _v-e19866cc="">\n <div class="container" :class="\'rop-tab-state-\'+is_loading" _v-e19866cc="">\n <div class="columns py-2" v-if="! isBiz" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.min_interval_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.min_interval_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="default_interval" :value.sync="generalSettings.default_interval" _v-e19866cc=""></counter-input>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.min_days_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.min_days_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="min_post_age" :max-val="365" :value.sync="generalSettings.minimum_post_age" _v-e19866cc=""></counter-input>\n </div>\n </div>\n \x3c!-- Max Post Age --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.max_days_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.max_days_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="max_post_age" :max-val="365" :value.sync="generalSettings.maximum_post_age" _v-e19866cc=""></counter-input>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.no_posts_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.no_posts_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="no_of_posts" :value.sync="generalSettings.number_of_posts" _v-e19866cc=""></counter-input>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n \x3c!-- Share more than once --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.share_once_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.share_once_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" id="share_more_than_once" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.more_than_once" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i> {{labels.share_once_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.post_types_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.post_types_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <multiple-select id="rop_post_types" :options="postTypes" :disabled="isPro" :selected="generalSettings.selected_post_types" :changed-selection="updatedPostTypes" _v-e19866cc=""></multiple-select>\n\n <p class="text-primary rop-post-type-badge" v-if="checkMediaPostType " v-html="labels.post_types_attachament_info" _v-e19866cc=""></p>\n </div>\n </div>\n\n <div class="columns " v-if="!isPro" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.post_types_upsell}}</p>\n </div>\n </div>\n\n\t\t\t\t<span class="divider" v-if="!isPro" _v-e19866cc=""></span>\n\n \x3c!-- Taxonomies --\x3e\n\t\t\t\t<div class="columns py-2" v-if="!isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.taxonomies_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.taxonomies_desc" _v-e19866cc=""></span></p>\n </div>\n <div id="rop_taxonomies" class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="input-group" _v-e19866cc="">\n <multiple-select :options="taxonomies" :selected="generalSettings.selected_taxonomies" :changed-selection="updatedTaxonomies" :is_pro_version="isPro" :apply_limit="isTaxLimit" v-on:display-limiter-notice="displayProMessage" _v-e19866cc=""></multiple-select>\n <span class="input-group-addon vertical-align" _v-e19866cc="">\n\t\t\t\t\t\t\t\t<label class="form-checkbox" _v-e19866cc="">\n\t\t\t\t\t\t\t\t\t<input type="checkbox" v-model="generalSettings.exclude_taxonomies" _v-e19866cc="">\n\t\t\t\t\t\t\t\t\t<i class="form-icon" _v-e19866cc=""></i>{{labels.taxonomies_exclude}}\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</span>\n </div>\n <p class="text-primary rop-post-type-badge" v-if="is_taxonomy_message" v-html="labels.post_types_taxonomy_limit" _v-e19866cc=""></p>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n \x3c!-- Google Analytics --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.ga_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.ga_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.ga_tracking" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.ga_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.instant_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_instant_share" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.true_instant_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.true_instant_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.true_instant_share" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.true_instant_share_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_default_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.instant_share_default_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share_default" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_default_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_future_scheduled_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.instant_share_future_scheduled_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share_future_scheduled" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_future_scheduled_yes}}\n </label>\n </div>\n </div>\n </div>\n \x3c!-- Upsell --\x3e\n <div class="columns " v-if="!isPro &amp;&amp; isInstantShare" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.instant_share_future_scheduled_upsell}}</p>\n </div>\n </div>\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.custom_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.custom_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_custom_share_msg" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" :disabled="!isPro" v-model="generalSettings.custom_messages" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.custom_share_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" v-if="isCustomMsgs" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.custom_share_order_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.custom_share_order_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_custom_share_msg" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" :disabled="!isPro" v-model="generalSettings.custom_messages_share_order" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.custom_share_order_yes}}\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- Upsell --\x3e\n <div class="columns " v-if="!isPro" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.custom_share_upsell}}</p>\n </div>\n </div>\n <span class="divider" v-if="isCustomMsgs" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.housekeeping}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.housekeeping_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.housekeeping" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.housekeeping_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n </div>\n </div>\n <div class="panel-footer text-right" _v-e19866cc="">\n <button class="btn btn-primary" @click="saveGeneralSettings()" _v-e19866cc=""><i class="fa fa-check" v-if="!this.is_loading" _v-e19866cc=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-e19866cc=""></i> {{labels.save}}\n </button>\n </div>\n </div>\n'},function(t,e,n){var a,s;n(258),a=n(260),s=n(285),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(259);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.icon_box[_v-6ded7d15] {\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tpadding: 5px;\n\t}\n\n\t.icon_box.no-image[_v-6ded7d15] {\n\t\tpadding: 0;\n\t}\n\n\t.icon_box.has_image > .fa[_v-6ded7d15] {\n\t\twidth: 15px;\n\t\theight: 15px;\n\t\tpadding: 0;\n\t\tline-height: 15px;\n\t}\n\n\t.icon_box.no-image > .fa[_v-6ded7d15] {\n\t\tfont-size: 20px;\n\t\tbackground: transparent;\n\t\tline-height: 30px;\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(261),o=a(r),d=n(264),l=a(d),u=n(269),c=a(u),_=n(52),m=a(_);t.exports={name:"account-selector-view",props:{type:{default:function(){return""},type:String}},data:function(){var t=null;return void 0!==(0,i.default)(this.$store.state.activeAccounts)[0]&&(t=(0,i.default)(this.$store.state.activeAccounts)[0]),{selected_account:t,component_label:"",allow_footer:!0,license:this.$store.state.licence,action:"",labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,is_loading:!1}},mounted:function(){this.setupData()},filters:{capitalize:function(t){return t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""}},computed:{active_data:function(){return"post-format"===this.type?this.$store.state.activePostFormat:"schedule"===this.type?this.$store.state.activeSchedule:[]},accountsCount:function(){return(0,i.default)(this.$store.state.activeAccounts).length},active_accounts:{get:function(){var t=this.$store.state.activeAccounts,e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return this.$log.info("Available accounts",e),e},set:function(t){this.setupData()}},active_account_name:function(){return this.active_accounts[this.selected_account].user}},watch:{type:function(){this.setupData()}},methods:{setupData:function(){var t=this.type.replace("-","_"),e="";"post-format"===this.type&&(e="post format",this.allow_footer=!0),"schedule"===this.type&&(e="schedule",this.allow_footer=this.license>1),this.action=t,this.component_label=e,this.checkActiveData()},getAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");void 0!==this.active_accounts[this.selected_account]&&(this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_"+this.action,data:{}}).then(function(e){t.$log.info("Successfully fetched account data",t.type,t.selected_account),t.is_loading=!1},function(e){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e),t.is_loading=!1}))},saveAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"save_"+this.action,data:{service:this.active_accounts[this.selected_account].service,account_id:this.selected_account,data:this.active_data[this.selected_account]}}).then(function(e){t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},getIcon:function(t){var e="fa-";return"facebook"===t.service&&(e=e.concat("facebook")),"twitter"===t.service&&(e=e.concat("twitter")),"linkedin"===t.service&&(e=e.concat("linkedin")),"tumblr"===t.service&&(e=e.concat("tumblr")),"pinterest"===t.service&&(e=e.concat("pinterest")),e},resetAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"reset_"+this.action,data:{service:this.active_accounts[this.selected_account].service,account_id:this.selected_account}}).then(function(e){t.is_loading=!1,t.$log.info("Succesfully reseted account",t.type)},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)}),this.$forceUpdate()},checkActiveData:function(){void 0===this.active_data[this.selected_account]&&this.getAccountData()},setActiveAccount:function(t){return this.is_loading?void this.$log.warn("Request in progress...Bail"):this.selected_account===t?void this.$log.info("Account already active"):(this.$log.info("Switched account data ",this.type,t),this.selected_account=t,void this.checkActiveData())}},components:{"empty-active-accounts":o.default,"post-format":l.default,schedule:c.default,MultipleSelect:m.default}}},function(t,e,n){var a,s;a=n(262),s=n(263),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";t.exports={name:"empty-active-accounts",data:function(){return{labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link}},methods:{goToAccounts:function(){this.$store.commit("setTabView","accounts")}}}},function(t,e){t.exports='\n\t<div class="empty">\n\t\t<div class="empty-icon">\n\t\t\t<i class="fa fa-3x fa-user-circle-o"></i>\n\t\t</div>\n\t\t<p class="empty-title h5">{{labels.no_active_accounts}}</p>\n\t\t<p class="empty-subtitle" v-html="labels.no_active_accounts_desc"></p>\n\t\t<button class="btn btn-primary" @click="goToAccounts()">{{labels.go_to_accounts_btn}}</button>\n\t</div>\n'},function(t,e,n){var a,s;n(265),a=n(267),s=n(268),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(266);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .panel-body .text-gray[_v-2ea0dffc] {\n margin: 0;\n line-height: normal;\n }\n\n b[_v-2ea0dffc] {\n margin-bottom: 5px;\n display: block;\n }\n\n #rop_core .input-group .input-group-addon[_v-2ea0dffc] {\n padding: 3px 5px;\n }\n\n @media ( max-width: 600px ) {\n #rop_core .panel-body .text-gray[_v-2ea0dffc] {\n margin-bottom: 10px;\n }\n\n #rop_core .text-right[_v-2ea0dffc] {\n text-align: left;\n }\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(49),i=a(s),r=n(52),o=a(r);t.exports={name:"post-format",props:["account_id","license"],data:function(){return{labels:this.$store.state.labels.post_format,labels_settings:this.$store.state.labels.settings,upsell_link:ropApiSettings.upsell_link,selected_tax_filter:[]}},created:function(){this.get_taxonomy_list()},methods:{get_taxonomy_list:function(){var t=this;0===this.$store.state.generalSettings.length&&(this.is_loading=!0,this.$log.info("Fetching general settings."),this.$store.dispatch("fetchAJAXPromise",{req:"get_general_settings"}).then(function(e){t.is_loading=!1,t.$log.debug("Succesfully fetched.")},function(e){t.is_loading=!1,t.$log.error("Can not fetch the general settings.")}))},updated_tax_filter:function(t){var e=[];for(var n in t)e.push(t[n].value);var a=[],s=!0,r=!1,o=void 0;try{for(var d,l=(0,i.default)(this.taxonomy);!(s=(d=l.next()).done);s=!0){var u=d.value,c=!0,_=!1,m=void 0;try{for(var f,p=(0,i.default)(e);!(c=(f=p.next()).done);c=!0){var h=f.value;h=parseInt(h);parseInt(u.value)===h&&a.push(u)}}catch(t){_=!0,m=t}finally{try{!c&&p.return&&p.return()}finally{if(_)throw m}}}}catch(t){r=!0,o=t}finally{try{!s&&l.return&&l.return()}finally{if(r)throw o}}this.post_format.taxonomy_filter=a}},computed:{post_format:function(){return this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[]},isPro:function(){return this.license>0},short_url_service:function(){var t=this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[];return t.short_url_service?t.short_url_service:""},taxonomy_filter:function(){var t=this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[];if(t.taxonomy_filter){var e=0,n=!0,a=!1,s=void 0;try{for(var r,o=(0,i.default)(t.taxonomy_filter);!(n=(r=o.next()).done);n=!0){r.value;t.taxonomy_filter[e].selected=!0,e++}}catch(t){a=!0,s=t}finally{try{!n&&o.return&&o.return()}finally{if(a)throw s}}}return t.taxonomy_filter?t.taxonomy_filter:[]},taxonomy:function(){return this.$store.state.generalSettings.available_taxonomies}},watch:{short_url_service:function(){var t=this;this.$store.dispatch("fetchAJAXPromise",{req:"get_shortner_credentials",data:{short_url_service:this.short_url_service}}).then(function(e){t.post_format.shortner_credentials=e},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})}},filters:{capitalize:function(t){if(!t)return"";t=t.toString().split("_");for(var e="",n=0;n<t.length;n++)e+=t[n].charAt(0).toUpperCase()+t[n].slice(1)+" ";return e}},components:{MultipleSelect:o.default}}},function(t,e){t.exports='\n <div _v-2ea0dffc="">\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.post_content_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.post_content_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.post_content" _v-2ea0dffc="">\n <option value="post_title" _v-2ea0dffc="">{{labels.post_content_option_title}}</option>\n <option value="post_content" _v-2ea0dffc="">{{labels.post_content_option_content}}</option>\n <option value="post_title_content" _v-2ea0dffc="">{{labels.post_content_option_title_content}}</option>\n <option value="custom_field" _v-2ea0dffc="">{{labels.post_content_option_custom_field}}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.post_content === \'custom_field\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.custom_meta_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.custom_meta_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.custom_meta_field" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.max_char_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.max_char_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="number" v-model="post_format.maximum_length" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.add_char_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels.add_char_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n\t\t\t\t\t<textarea class="form-input" v-model="post_format.custom_text" v-bind:placeholder="labels.add_char_placeholder" _v-2ea0dffc="">{{post_format.custom_text}}</textarea>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <p class="text-gray" _v-2ea0dffc="">{{labels.add_pos_title}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.custom_text_pos" _v-2ea0dffc="">\n <option value="beginning" _v-2ea0dffc="">{{labels.add_pos_option_start}}</option>\n <option value="end" _v-2ea0dffc="">{{labels.add_pos_option_end}}</option>\n </select>\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.add_link_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.add_link_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.include_link" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.add_link_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.meta_link_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.meta_link_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.url_from_meta" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.meta_link_yes}}\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- Custom Field --\x3e\n <div class="columns py-2" v-if="post_format.url_from_meta" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.meta_link_name_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.meta_link_name_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.url_meta_key" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels_settings.taxonomies_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels_settings.taxonomies_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <multiple-select :disabled="!!isPro" :options="taxonomy" :selected="taxonomy_filter" :name="post_format.taxonomy_filter" :changed-selection="updated_tax_filter" :key="this.account_id" _v-2ea0dffc=""></multiple-select>\n <span class="input-group-addon vertical-align" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n\t\t\t\t\t\t <input :disabled="!isPro" type="checkbox" v-model="post_format.exclude_taxonomies" _v-2ea0dffc="">\n\t\t\t\t\t\t\t<i class="form-icon" _v-2ea0dffc=""></i>{{labels_settings.taxonomies_exclude}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</span>\n </div>\n </div>\n </div>\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.taxonomy_based_sharing_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.use_shortner_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.use_shortner_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.short_url" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.use_shortner_yes}}\n </label>\n </div>\n </div>\n </div>\n <div class="columns py-2" v-if="post_format.short_url" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.shortner_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.shortner_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.short_url_service" _v-2ea0dffc="">\n \x3c!-- rviv.ly currently blacklisted --\x3e\n \x3c!-- <option value="rviv.ly">rviv.ly</option> --\x3e\n <option value="bit.ly" _v-2ea0dffc="">bit.ly</option>\n <option value="firebase" _v-2ea0dffc="">google firebase</option>\n <option value="ow.ly" _v-2ea0dffc="">ow.ly</option>\n <option value="is.gd" _v-2ea0dffc="">is.gd</option>\n <option value="rebrand.ly" _v-2ea0dffc="">rebrand.ly</option>\n <option value="wp_short_url" _v-2ea0dffc="">wp_short_url</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.short_url" v-for="( credential, key_name ) in post_format.shortner_credentials" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{ key_name | capitalize }}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.shortner_field_desc_start}} "{{key_name}}"\n {{labels.shortner_field_desc_end}}\n <strong _v-2ea0dffc="">{{post_format.short_url_service}}</strong> {{labels.shortner_api_field}}.</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.shortner_credentials[key_name]" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hashtags_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hashtags_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.hashtags" _v-2ea0dffc="">\n <option value="no-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_no}}</option>\n <option value="common-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_common}}</option>\n <option value="categories-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_cats}}</option>\n <option value="tags-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_tags}}</option>\n <option value="custom-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_field}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class="columns py-2" v-if="post_format.hashtags === \'common-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hastags_common_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hastags_common_desc}} ",".</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.hashtags_common" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.hashtags === \'custom-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hastags_field_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hastags_field_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.hashtags_custom" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.hashtags !== \'no-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hashtags_length_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hashtags_length_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="number" v-model="post_format.hashtags_length" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.image_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels.image_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.image" :disabled="!isPro" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.image_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.image_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n \x3c!-- Google Analytics --\x3e\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.utm_campaign_medium}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.utm_campaign_medium_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input type="text" :disabled="!isPro" class="form-input" v-model="post_format.utm_campaign_medium" placeholder="social" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.utm_campaign_name}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.utm_campaign_name_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input type="text" :disabled="!isPro" class="form-input" v-model="post_format.utm_campaign_name" placeholder="ReviveOldPost" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.custom_utm_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n </div>\n'},function(t,e,n){var a,s;n(270),a=n(272),s=n(284),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(271);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.rop-control-container-false[_v-07e2d0a2] {\n\t\tcursor:not-allowed !important;\n\t}\n\t#rop_core .panel-body .text-gray[_v-07e2d0a2] {\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t}\n\n\tb[_v-07e2d0a2] {\n\t\tmargin-bottom: 5px;\n\t\tdisplay: block;\n\t}\n\n\t#rop_core .input-group .input-group-addon[_v-07e2d0a2] {\n\t\tpadding: 3px 5px;\n\t}\n\n\t.time-picker[_v-07e2d0a2] {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t@media ( max-width: 600px ) {\n\t\t#rop_core .panel-body .text-gray[_v-07e2d0a2] {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t#rop_core .text-right[_v-07e2d0a2] {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(75),i=a(s),r=n(273),o=a(r),d=n(86),l=a(d),u=n(0),c=a(u);t.exports={name:"account-schedule",props:["account_id","license"],data:function(){return{days:{Mon:{value:"1",checked:!1},Tue:{value:"2",checked:!1},Wed:{value:"3",checked:!1},Thu:{value:"4",checked:!1},Fri:{value:"5",checked:!1},Sat:{value:"6",checked:!1},Sun:{value:"7",checked:!1}},labels:this.$store.state.labels.schedule,upsell_link:ropApiSettings.upsell_link}},computed:{schedule:function(){return this.$store.state.activeSchedule[this.account_id]?this.$store.state.activeSchedule[this.account_id]:[]},daysObject:function(){var t=this.days;for(var e in t)t[e].checked=this.isChecked(t[e].value);return t},formatedDate:function(){return void 0===this.date_format?"":c.default.utc(this.current_time,"X").format(this.date_format.replace("mm","mm:ss"))},current_time:{get:function(){return this.$store.state.cron_status.current_time},set:function(t){this.$store.state.cron_status.current_time=t}},date_format:function(){return this.$store.state.cron_status.date_format}},methods:{isChecked:function(t){return void 0!==this.schedule.interval_f&&this.schedule.interval_f.week_days.indexOf(t)>-1},getTime:function(t){var e=this.schedule.interval_f.time[t],n=e.split(":");return{HH:n[0],mm:n[1]}},syncTime:function(t,e){void 0!==this.schedule.interval_f.time[e]&&(this.schedule.interval_f.time[e]=t.data.HH+":"+t.data.mm)},addTime:function(){this.schedule.interval_f.time.push("00:00")},rmvTime:function(t){this.schedule.interval_f.time.splice(t,1)},addDay:function(t){this.schedule.interval_f.week_days.push(t)},rmvDay:function(t){var e=this.schedule.interval_f.week_days.indexOf(t);e>-1&&this.schedule.interval_f.week_days.splice(e,1)}},components:{ButtonCheckbox:i.default,CounterInput:l.default,VueTimepicker:o.default}}},function(t,e,n){t.exports=n(274)},function(t,e,n){var a,s;n(275),a=n(278),s=n(281),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(276);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.i(n(277),""),e.push([t.i,"\n",""])},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,".time-picker {\n display: inline-block;\n position: relative;\n font-size: 1em;\n width: 10em;\n font-family: sans-serif;\n vertical-align: middle;\n}\n\n.time-picker * {\n box-sizing: border-box;\n}\n\n.time-picker input.display-time {\n border: 1px solid #d2d2d2;\n width: 10em;\n height: 2.2em;\n padding: 0.3em 0.5em;\n font-size: 1em;\n}\n\n.time-picker .clear-btn {\n position: absolute;\n display: flex;\n flex-flow: column nowrap;\n justify-content: center;\n align-items: center;\n top: 0;\n right: 0;\n bottom: 0;\n margin-top: -0.15em;\n z-index: 3;\n font-size: 1.1em;\n line-height: 1em;\n vertical-align: middle;\n width: 1.3em;\n color: #d2d2d2;\n background: rgba(255,255,255,0);\n text-align: center;\n font-style: normal;\n\n -webkit-transition: color .2s;\n transition: color .2s;\n}\n\n.time-picker .clear-btn:hover {\n color: #797979;\n cursor: pointer;\n}\n\n.time-picker .time-picker-overlay {\n z-index: 2;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.time-picker .dropdown {\n position: absolute;\n z-index: 5;\n top: calc(2.2em + 2px);\n left: 0;\n background: #fff;\n box-shadow: 0 1px 6px rgba(0,0,0,0.15);\n width: 10em;\n height: 10em;\n font-weight: normal;\n}\n\n.time-picker .dropdown .select-list {\n width: 10em;\n height: 10em;\n overflow: hidden;\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n justify-content: space-between;\n}\n\n.time-picker .dropdown ul {\n padding: 0;\n margin: 0;\n list-style: none;\n\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.time-picker .dropdown ul.minutes,\n.time-picker .dropdown ul.seconds,\n.time-picker .dropdown ul.apms{\n border-left: 1px solid #fff;\n}\n\n.time-picker .dropdown ul li {\n text-align: center;\n padding: 0.3em 0;\n color: #161616;\n}\n\n.time-picker .dropdown ul li:not(.hint):hover {\n background: rgba(0,0,0,.08);\n color: #161616;\n cursor: pointer;\n}\n\n.time-picker .dropdown ul li.active,\n.time-picker .dropdown ul li.active:hover {\n background: #41B883;\n color: #fff;\n}\n\n.time-picker .dropdown .hint {\n color: #a5a5a5;\n cursor: default;\n font-size: 0.8em;\n}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=n(18),i=a(s),r=n(279),o=a(r),d={HOUR_TOKENS:["HH","H","hh","h","kk","k"],MINUTE_TOKENS:["mm","m"],SECOND_TOKENS:["ss","s"],APM_TOKENS:["A","a"]};e.default={name:"VueTimepicker",props:{value:{type:Object},hideClearButton:{type:Boolean},format:{type:String},minuteInterval:{type:Number},secondInterval:{type:Number},id:{type:String}},data:function(){return{hours:[],minutes:[],seconds:[],apms:[],showDropdown:!1,muteWatch:!1,hourType:"HH",minuteType:"mm",secondType:"",apmType:"",hour:"",minute:"",second:"",apm:"",fullValues:void 0}},computed:{displayTime:function(){var t=String(this.format||"HH:mm");return this.hour&&(t=t.replace(new RegExp(this.hourType,"g"),this.hour)),this.minute&&(t=t.replace(new RegExp(this.minuteType,"g"),this.minute)),this.second&&this.secondType&&(t=t.replace(new RegExp(this.secondType,"g"),this.second)),this.apm&&this.apmType&&(t=t.replace(new RegExp(this.apmType,"g"),this.apm)),t},showClearBtn:function(){return!!(this.hour&&""!==this.hour||this.minute&&""!==this.minute)}},watch:{format:"renderFormat",minuteInterval:function(t){this.renderList("minute",t)},secondInterval:function(t){this.renderList("second",t)},value:"readValues",displayTime:"fillValues"},methods:{formatValue:function(t,e){switch(t){case"H":case"m":case"s":return String(e);case"HH":case"mm":case"ss":return e<10?"0"+e:String(e);case"h":case"k":return String(e+1);case"hh":case"kk":return e+1<10?"0"+(e+1):String(e+1);default:return""}},checkAcceptingType:function(t,e,n){if(!t||!e||!e.length)return"";for(var a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return t[a];return n||""},renderFormat:function(t){t=t||this.format,t&&t.length||(t="HH:mm"),this.hourType=this.checkAcceptingType(d.HOUR_TOKENS,t,"HH"),this.minuteType=this.checkAcceptingType(d.MINUTE_TOKENS,t,"mm"),this.secondType=this.checkAcceptingType(d.SECOND_TOKENS,t),this.apmType=this.checkAcceptingType(d.APM_TOKENS,t),this.renderHoursList(),this.renderList("minute"),this.secondType&&this.renderList("second"),this.apmType&&this.renderApmList();var e=this;this.$nextTick(function(){e.readValues()})},renderHoursList:function(){var t="h"===this.hourType||"hh"===this.hourType?12:24;this.hours=[];for(var e=0;e<t;e++)this.hours.push(this.formatValue(this.hourType,e))},renderList:function(t,e){if("second"===t)e=e||this.secondInterval;else{if("minute"!==t)return;e=e||this.minuteInterval}0===e?e=60:e>60?(window.console.warn("`"+t+"-interval` should be less than 60. Current value is",e),e=1):e<1?(window.console.warn("`"+t+"-interval` should be NO less than 1. Current value is",e),e=1):e||(e=1),"minute"===t?this.minutes=[]:this.seconds=[];for(var n=0;n<60;n+=e)"minute"===t?this.minutes.push(this.formatValue(this.minuteType,n)):this.seconds.push(this.formatValue(this.secondType,n))},renderApmList:function(){this.apms=[],this.apmType&&(this.apms="A"===this.apmType?["AM","PM"]:["am","pm"])},readValues:function(){if(this.value&&!this.muteWatch){var t=JSON.parse((0,o.default)(this.value||{})),e=(0,i.default)(t);0!==e.length&&(e.indexOf(this.hourType)>-1&&(this.hour=t[this.hourType]),e.indexOf(this.minuteType)>-1&&(this.minute=t[this.minuteType]),e.indexOf(this.secondType)>-1?this.second=t[this.secondType]:this.second=0,e.indexOf(this.apmType)>-1&&(this.apm=t[this.apmType]),this.fillValues())}},fillValues:function(){var t={},e=this.hour,n=this.hourType,a=e||0===e?Number(e):"",s=this.isTwelveHours(n),i=!(!s||!this.apm)&&String(this.apm).toLowerCase();if(d.HOUR_TOKENS.forEach(function(r){if(r===n)return void(t[r]=e);var o=void 0,d=void 0;switch(r){case"H":case"HH":if(!String(a).length)return void(t[r]="");o=s?"pm"===i?a<12?a+12:a:a%12:a%24,t[r]="HH"===r&&o<10?"0"+o:String(o);break;case"k":case"kk":if(!String(a).length)return void(t[r]="");o=s?"pm"===i?a<12?a+12:a:12===a?24:a:0===a?24:a,t[r]="kk"===r&&o<10?"0"+o:String(o);break;case"h":case"hh":if(i)o=a,d=i||"am";else{if(!String(a).length)return t[r]="",t.a="",void(t.A="");a>11?(d="pm",o=12===a?12:a%12):(d=s?"":"am",o=a%12==0?12:a)}t[r]="hh"===r&&o<10?"0"+o:String(o),t.a=d,t.A=d.toUpperCase()}}),this.minute||0===this.minute){var r=Number(this.minute);t.m=String(r),t.mm=r<10?"0"+r:String(r)}else t.m="",t.mm="";if(this.second||0===this.second){var o=Number(this.second);t.s=String(o),t.ss=o<10?"0"+o:String(o)}else t.s="",t.ss="";this.fullValues=t,this.updateTimeValue(t),this.$emit("change",{data:t})},updateTimeValue:function(t){this.muteWatch=!0;var e=this,n=JSON.parse((0,o.default)(this.value||{})),a={};(0,i.default)(n).forEach(function(e){a[e]=t[e]}),this.$emit("input",a),this.$nextTick(function(){e.muteWatch=!1})},isTwelveHours:function(t){return"h"===t||"hh"===t},toggleDropdown:function(){this.showDropdown=!this.showDropdown},select:function(t,e){"hour"===t?this.hour=e:"minute"===t?this.minute=e:"second"===t?this.second=e:"apm"===t&&(this.apm=e)},clearTime:function(){this.hour="",this.minute="",this.second="",this.apm=""}},mounted:function(){this.renderFormat()}}},function(t,e,n){t.exports={default:n(280),__esModule:!0}},function(t,e,n){var a=n(3),s=a.JSON||(a.JSON={stringify:JSON.stringify});t.exports=function(t){return s.stringify.apply(s,arguments)}},function(t,e){t.exports='\n<span class="time-picker">\n <input class="display-time" :id="id" v-model="displayTime" @click.stop="toggleDropdown" type="text" readonly />\n <span class="clear-btn" v-if="!hideClearButton" v-show="!showDropdown && showClearBtn" @click.stop="clearTime">&times;</span>\n <div class="time-picker-overlay" v-if="showDropdown" @click.stop="toggleDropdown"></div>\n <div class="dropdown" v-show="showDropdown">\n <div class="select-list">\n <ul class="hours">\n <li class="hint" v-text="hourType"></li>\n <li v-for="hr in hours" v-text="hr" :class="{active: hour === hr}" @click.stop="select(\'hour\', hr)"></li>\n </ul>\n <ul class="minutes">\n <li class="hint" v-text="minuteType"></li>\n <li v-for="m in minutes" v-text="m" :class="{active: minute === m}" @click.stop="select(\'minute\', m)"></li>\n </ul>\n <ul class="seconds" v-if="secondType">\n <li class="hint" v-text="secondType"></li>\n <li v-for="s in seconds" v-text="s" :class="{active: second === s}" @click.stop="select(\'second\', s)"></li>\n </ul>\n <ul class="apms" v-if="apmType">\n <li class="hint" v-text="apmType"></li>\n <li v-for="a in apms" v-text="a" :class="{active: apm === a}" @click.stop="select(\'apm\', a)"></li>\n </ul>\n </div>\n </div>\n</span>\n'},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){function a(t){return n(s(t))}function s(t){var e=i[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}var i={"./af":87,"./af.js":87,"./ar":88,"./ar-dz":89,"./ar-dz.js":89,"./ar-kw":90,"./ar-kw.js":90,"./ar-ly":91,"./ar-ly.js":91,"./ar-ma":92,"./ar-ma.js":92,"./ar-sa":93,"./ar-sa.js":93,"./ar-tn":94,"./ar-tn.js":94,"./ar.js":88,"./az":95,"./az.js":95,"./be":96,"./be.js":96,"./bg":97,"./bg.js":97,"./bm":98,"./bm.js":98,"./bn":99,"./bn.js":99,"./bo":100,"./bo.js":100,"./br":101,"./br.js":101,"./bs":102,"./bs.js":102,"./ca":103,"./ca.js":103,"./cs":104,"./cs.js":104,"./cv":105,"./cv.js":105,"./cy":106,"./cy.js":106,"./da":107,"./da.js":107,"./de":108,"./de-at":109,"./de-at.js":109,"./de-ch":110,"./de-ch.js":110,"./de.js":108,"./dv":111,"./dv.js":111,"./el":112,"./el.js":112,"./en-SG":113,"./en-SG.js":113,"./en-au":114,"./en-au.js":114,"./en-ca":115,"./en-ca.js":115,"./en-gb":116,"./en-gb.js":116,"./en-ie":117,"./en-ie.js":117,"./en-il":118,"./en-il.js":118,"./en-nz":119,"./en-nz.js":119,"./eo":120,"./eo.js":120,"./es":121,"./es-do":122,"./es-do.js":122,"./es-us":123,"./es-us.js":123,"./es.js":121,"./et":124,"./et.js":124,"./eu":125,"./eu.js":125,"./fa":126,"./fa.js":126,"./fi":127,"./fi.js":127,"./fo":128,"./fo.js":128,"./fr":129,"./fr-ca":130,"./fr-ca.js":130,"./fr-ch":131,"./fr-ch.js":131,"./fr.js":129,"./fy":132,"./fy.js":132,"./ga":133,"./ga.js":133,"./gd":134,"./gd.js":134,"./gl":135,"./gl.js":135,"./gom-latn":136,"./gom-latn.js":136,"./gu":137,"./gu.js":137,"./he":138,"./he.js":138,"./hi":139,"./hi.js":139,"./hr":140,"./hr.js":140,"./hu":141,"./hu.js":141,"./hy-am":142,"./hy-am.js":142,"./id":143,"./id.js":143,"./is":144,"./is.js":144,"./it":145,"./it-ch":146,"./it-ch.js":146,"./it.js":145,"./ja":147,"./ja.js":147,"./jv":148,"./jv.js":148,"./ka":149,"./ka.js":149,"./kk":150,"./kk.js":150,"./km":151,"./km.js":151,"./kn":152,"./kn.js":152,"./ko":153,"./ko.js":153,"./ku":154,"./ku.js":154,"./ky":155,"./ky.js":155,"./lb":156,"./lb.js":156,"./lo":157,"./lo.js":157,"./lt":158,"./lt.js":158,"./lv":159,"./lv.js":159,"./me":160,"./me.js":160,"./mi":161,"./mi.js":161,"./mk":162,"./mk.js":162,"./ml":163,"./ml.js":163,"./mn":164,"./mn.js":164,"./mr":165,"./mr.js":165,"./ms":166,"./ms-my":167,"./ms-my.js":167,"./ms.js":166,"./mt":168,"./mt.js":168,"./my":169,"./my.js":169,"./nb":170,"./nb.js":170,"./ne":171,"./ne.js":171,"./nl":172,"./nl-be":173,"./nl-be.js":173,"./nl.js":172,"./nn":174,"./nn.js":174,"./pa-in":175,"./pa-in.js":175,"./pl":176,"./pl.js":176,"./pt":177,"./pt-br":178,"./pt-br.js":178,"./pt.js":177,"./ro":179,"./ro.js":179,"./ru":180,"./ru.js":180,"./sd":181,"./sd.js":181,"./se":182,"./se.js":182,"./si":183,"./si.js":183,"./sk":184,"./sk.js":184,"./sl":185,"./sl.js":185,"./sq":186,"./sq.js":186,"./sr":187,"./sr-cyrl":188,"./sr-cyrl.js":188,"./sr.js":187,"./ss":189,"./ss.js":189,"./sv":190,"./sv.js":190,"./sw":191,"./sw.js":191,"./ta":192,"./ta.js":192,"./te":193,"./te.js":193,"./tet":194,"./tet.js":194,"./tg":195,"./tg.js":195,"./th":196,"./th.js":196,"./tl-ph":197,"./tl-ph.js":197,"./tlh":198,"./tlh.js":198,"./tr":199,"./tr.js":199,"./tzl":200,"./tzl.js":200,"./tzm":201,"./tzm-latn":202,"./tzm-latn.js":202,"./tzm.js":201,"./ug-cn":203,"./ug-cn.js":203,"./uk":204,"./uk.js":204,"./ur":205,"./ur.js":205,"./uz":206,"./uz-latn":207,"./uz-latn.js":207,"./uz.js":206,"./vi":208,"./vi.js":208,"./x-pseudo":209,"./x-pseudo.js":209,"./yo":210,"./yo.js":210,"./zh-cn":211,"./zh-cn.js":211,"./zh-hk":212,"./zh-hk.js":212,"./zh-tw":213,"./zh-tw.js":213};a.keys=function(){return Object.keys(i)},a.resolve=s,t.exports=a,a.id=283},function(t,e){t.exports='\n\t<div :class="\'rop-control-container-\'+ ( license > 1 ) + \' rop-schedule-tab-container\'" _v-07e2d0a2="">\n\n\t\t<div class="columns py-2 rop-control" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_type_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_type_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<select class="form-select" v-model="schedule.type" _v-07e2d0a2="">\n\t\t\t\t\t\t<option value="recurring" _v-07e2d0a2="">{{labels.schedule_type_option_rec}}</option>\n\t\t\t\t\t\t<option value="fixed" _v-07e2d0a2="">{{labels.schedule_type_option_fix}}</option>\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Fixed Schedule Days --\x3e\n\t\t<div class="columns py-2 rop-control" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_fixed_days_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_fixed_days_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group input-group" _v-07e2d0a2="">\n\t\t\t\t\t<button-checkbox v-for="( data, label ) in daysObject" :key="label" :value="data.value" :label="label" :checked="data.checked" @add-day="addDay" @rmv-day="rmvDay" _v-07e2d0a2=""></button-checkbox>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Fixed Schedule time --\x3e\n\t\t<div class="columns py-2 rop-control" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_fixed_time_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_fixed_time_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<div class="input-group" v-for="( time, index ) in schedule.interval_f.time" _v-07e2d0a2="">\n\t\t\t\t\t\t<vue-timepicker :minute-interval="5" class="timepicker-style-fix" :value="getTime( index )" @change="syncTime( $event, index )" hide-clear-button="" _v-07e2d0a2=""></vue-timepicker>\n\t\t\t\t\t\t<button class="btn btn-danger input-group-btn" v-if="schedule.interval_f.time.length > 1" @click="rmvTime( index )" _v-07e2d0a2="">\n\t\t\t\t\t\t\t<i class="fa fa-fw fa-minus" _v-07e2d0a2=""></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button class="btn btn-success input-group-btn" v-if="index == schedule.interval_f.time.length - 1" @click="addTime()" _v-07e2d0a2="">\n\t\t\t\t\t\t\t<i class="fa fa-fw fa-plus" _v-07e2d0a2=""></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Current time --\x3e\n<div class="column col-6 col-sm-12 vertical-align float-right" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t<div class="toast rop-current-time text-center" v-if="formatedDate" _v-07e2d0a2="">\n\t\t\t\t{{labels.time_now}}: {{ formatedDate }}\n\t\t</div>\n</div>\n\n\t\t<div class="columns py-2 rop-control" v-else="" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_rec_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_rec_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<counter-input id="interval_r" :value.sync="schedule.interval_r" _v-07e2d0a2=""></counter-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Upsell --\x3e\n\t\t<div class="columns py-2" v-if="license < 2" _v-07e2d0a2="">\n\t\t\t<div class="column text-center" _v-07e2d0a2="">\n\t\t\t\t<p class="upsell" _v-07e2d0a2=""><i class="fa fa-lock" _v-07e2d0a2=""></i> {{labels.schedule_upsell}}</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<span class="divider" _v-07e2d0a2=""></span>\n\t</div>\n'},function(t,e){t.exports='\n\t<div class="tab-view" _v-6ded7d15="">\n\t\t<div class="panel-body" _v-6ded7d15="">\n\t\t\t<div class="d-inline-block mt-2 column col-12" _v-6ded7d15="">\n\t\t\t\t<p class="text-gray" _v-6ded7d15=""><i class="fa fa-info-circle" _v-6ded7d15=""></i> <span v-html="labels.accounts_selector" _v-6ded7d15=""></span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<empty-active-accounts v-if="accountsCount === 0" _v-6ded7d15=""></empty-active-accounts>\n\t\t\t<div class="container" v-if="accountsCount > 0" _v-6ded7d15="">\n\t\t\t\t<div class="columns" _v-6ded7d15="">\n\t\t\t\t\t<div class="column col-3 col-sm-12 col-md-12 col-xl-3 col-lg-3 col-xs-12 col-rop-selector-accounts" _v-6ded7d15="">\n\t\t\t\t\t\t<span class="divider" _v-6ded7d15=""></span>\n\t\t\t\t\t\t<div v-for="( account, id ) in active_accounts" _v-6ded7d15="">\n\t\t\t\t\t\t\t<div class="rop-selector-account-container" :class="{active: selected_account===id}" @click="setActiveAccount(id)" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t<div class="tile tile-centered rop-account" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t<div class="tile-icon" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t<div class="icon_box" :class=" (account.img ? \'has_image\' : \'no-image\' ) + \' \' +account.service " _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t\t<img class="service_account_image" :src="account.img" v-if="account.img" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t\t<i class="fa " :class="getIcon(account)" aria-hidden="true" _v-6ded7d15=""></i>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="tile-content" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t<p class="rop-account-name" _v-6ded7d15="">{{account.user}}</p>\n\t\t\t\t\t\t\t\t\t\t<strong class="rop-service-name" _v-6ded7d15="">{{account.service}}</strong>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class="divider" _v-6ded7d15=""></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-9 col-sm-12 col-md-12 col-xl-9 col-lg-9 col-xs-12" :class="\'rop-tab-state-\'+is_loading" _v-6ded7d15="">\n\t\t\t\t\t\t<component :is="type" :account_id="selected_account" :license="license" _v-6ded7d15=""></component>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="panel-footer" v-if="accountsCount > 0" _v-6ded7d15="">\n\t\t\t<div class="panel-actions text-right" v-if="allow_footer" _v-6ded7d15="">\n\t\t\t\t<button class="btn btn-secondary" @click="resetAccountData()" _v-6ded7d15=""><i class="fa fa-ban" v-if="!this.is_loading" _v-6ded7d15=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-6ded7d15=""></i> {{labels.reset_selector_btn}} {{component_label}}\n\t\t\t\t\t{{labels.for}}\n\t\t\t\t\t<b _v-6ded7d15="">{{active_account_name}}</b>\n\t\t\t\t</button>\n\t\t\t\t<button class="btn btn-primary" @click="saveAccountData()" _v-6ded7d15=""><i class="fa fa-check" v-if="!this.is_loading" _v-6ded7d15=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-6ded7d15=""></i> {{labels.save_selector_btn}} {{component_label}}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;a=n(287),s=n(293),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(288),o=a(r);t.exports={name:"queue-view",computed:{queueCount:function(){return(0,i.default)(this.$store.state.queue).length},queue:function(){return this.$store.state.queue},start_status:function(){return this.$store.state.cron_status.current_status},is_business:function(){return this.$store.state.licence>1}},data:function(){return{is_loading:!1,labels:this.$store.state.labels.queue,upsell_link:ropApiSettings.upsell_link}},watch:{start_status:function(t){this.refreshQueue()}},mounted:function(){this.start_status&&this.refreshQueue(!1)},methods:{refreshQueue:function(t){var e=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.$store.state.queue=[],this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_queue",data:{force:t}}).then(function(t){e.is_loading=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron"})},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})}},components:{QueueCard:o.default}}},function(t,e,n){var a,s;n(289),a=n(291),s=n(292),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(290);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.fa[_v-0395a54b] {\n\t\tbackground: transparent;\n\t}\n\t\n\t#rop_core .vertical-align[_v-0395a54b] {\n\t\t-ms-flex-align: end;\n\t\t align-items: flex-end;\n\t}\n\t\n\t#rop_core figure.figure[_v-0395a54b] {\n\t\tmargin: -.7em -2em -1em 0;\n\t}\n\t\n\t@media (max-width: 600px) {\n\t\t#rop_core .vertical-align[_v-0395a54b] {\n\t\t\t-ms-flex-align: center;\n\t\t\t align-items: center;\n\t\t}\n\t\t\n\t\t#rop_core figure.figure[_v-0395a54b] {\n\t\t\tmargin: 10px auto 0;\n\t\t}\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"queue-card",props:{id:{default:""},enabled:{default:!1,type:Boolean},card_data:{default:{},type:Object}},data:function(){return{edit:!1,labels:this.$store.state.labels.queue,upsell_link:ropApiSettings.upsell_link,video_placeholder:ROP_ASSETS_URL+"img/video_placeholder.jpg",is_loading:!1,post_edit:{}}},computed:{content:function(){return void 0!==this.card_data.content?this.card_data.content:{}},active_accounts:function(){return this.$store.state.activeAccounts}},mounted:function(){},watch:{},methods:{skipPost:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="skip",this.$store.dispatch("fetchAJAXPromise",{req:"skip_queue_event",data:{account_id:t,post_id:e}}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},blockPost:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="block",this.$store.dispatch("fetchAJAXPromise",{req:"block_queue_event",data:{account_id:t,post_id:e}}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},toggleEditState:function(){this.edit=!this.edit},getAccountName:function(t){return void 0===this.active_accounts[t]?"":this.active_accounts[t].user},checkCount:function(t){this.post_edit.text="",this.post_edit.text!==t.srcElement.value&&(this.post_edit.text=t.srcElement.value)},saveChanges:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="edit",this.$store.dispatch("fetchAJAXPromise",{req:"update_queue_event",data:{account_id:t,post_id:e,custom_data:this.post_edit}}).then(function(t){n.is_loading=!1,n.toggleEditState()},function(t){n.is_loading=!1,n.toggleEditState(),Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},cancelChanges:function(){this.post_edit={},this.toggleEditState()},uploadImage:function(){var t=wp.media({title:this.labels.insert_media_title,library:{type:"image"},multiple:!1,button:{text:this.labels.insert_media_btn}}),e=this;t.on("select",function(){var n=t.state().get("selection").first().toJSON();e.content.post_image=n.url,e.post_edit.image=n.url}),t.open()},removeImage:function(){var t=this;t.content.post_image=null,t.post_edit.image=null},iconClass:function(t){var e="fa-user";if(null!==t){e="fa-";var n=this.active_accounts[t];void 0!==n&&"facebook"===n.service&&(e=e.concat("facebook facebook")),void 0!==n&&"twitter"===n.service&&(e=e.concat("twitter twitter")),void 0!==n&&"linkedin"===n.service&&(e=e.concat("linkedin linkedin")),void 0!==n&&"tumblr"===n.service&&(e=e.concat("tumblr tumblr")),void 0!==n&&"pinterest"===n.service&&(e=e.concat("pinterest pinterest"))}return e},hashtags:function(t){var e=new RegExp("#\\S+","ig");return t.toString().replace(e,function(t,e,n){return","===t.slice(-1)?"<strong>"+t.substring(0,t.lastIndexOf(","))+"</strong>,":"<strong>"+t+"</strong>"})}}}},function(t,e){t.exports='\n\t<div class="card" _v-0395a54b="">\n\t\t<div class="columns" _v-0395a54b="">\n\t\t\t<div class="column col-sm-12 col-justified" _v-0395a54b="">\n\t\t\t\t<div class="columns" _v-0395a54b="">\n\t\t\t\t\t<div class="column" _v-0395a54b="">\n\t\t\t\t\t\t<p class="text-gray text-left " _v-0395a54b=""><i class="fa fa-clock-o" _v-0395a54b=""></i> {{card_data.date}} <b _v-0395a54b=""><i class="fa fa-at" _v-0395a54b=""></i></b> <i class="service fa" :class="iconClass( card_data.account_id )" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{getAccountName(card_data.account_id)}}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns" v-if="!edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-12" _v-0395a54b="">\n\t\t\t\t\t\t<p v-html="content.content + hashtags( content.hashtags )" _v-0395a54b=""></p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="form-group columns" v-if="edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-12" v-if="content.post_with_image" _v-0395a54b="">\n\t\t\t\t\t\t<label class="form-label" for="image" _v-0395a54b="">{{labels.queue_image}}</label>\n\t\t\t\t\t\t<div class="input-group" _v-0395a54b="">\n\t\t\t\t\t\t\t<span class="input-group-addon" _v-0395a54b=""><i class="fa fa-file-image-o" _v-0395a54b=""></i></span>\n\t\t\t\t\t\t\t<input id="image" type="text" class="form-input" :value="content.post_image" readonly="" _v-0395a54b="">\n\t\t\t\t\t\t\t<button class="btn btn-primary input-group-btn tooltip" @click="uploadImage" :data-tooltip="labels.upload_image" _v-0395a54b="">\n\t\t\t\t\t\t\t\t<i class="fa fa-upload" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button class="btn btn-danger input-group-btn tooltip" @click="removeImage" :data-tooltip="labels.remove_image" _v-0395a54b="">\n\t\t\t\t\t\t\t\t<i class="fa fa-remove" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-12" _v-0395a54b="">\n\t\t\t\t\t\t<label class="form-label" for="content" _v-0395a54b="">{{labels.queue_content}}</label>\n\t\t\t\t\t\t<textarea class="form-input" id="content" placeholder="" rows="3" @keyup="checkCount" _v-0395a54b="">{{content.content}}</textarea>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns col-justified" v-if="!edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-warning tooltip tooltip-bottom " @click="skipPost(card_data.account_id, card_data.post_id)" :data-tooltip="labels.reschedule_post" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'skip\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-step-forward" v-else="" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.skip_btn_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-danger tooltip tooltip-bottom " :data-tooltip="labels.ban_post" @click="blockPost(card_data.account_id, card_data.post_id)" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'block\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-ban" aria-hidden="true" v-else="" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.block_btn_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-primary" @click="toggleEditState" v-if="!edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-pencil" aria-hidden="true" _v-0395a54b=""></i> {{labels.edit_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3 col-ml-auto text-right" v-if="content.post_url !== \'\'" _v-0395a54b="">\n\t\t\t\t\t\t<p class="m-0" _v-0395a54b="">\n\t\t\t\t\t\t\t<b _v-0395a54b="">{{labels.link_title}}:</b>\n\t\t\t\t\t\t\t<a :href="content.post_url" target="_blank" class="tooltip" :data-tooltip="labels.link_shortned_start + \' \' + ( content.short_url_service == \'\' ? \'permalink\' : content.short_url_service ) " _v-0395a54b="">\n\t\t\t\t\t\t\t\t{{\'{\' + ( content.short_url_service == \'\' ? \'permalink\' : content.short_url_service ) +\n\t\t\t\t\t\t\t\t\'}\'}}</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns" v-else="" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-success" @click="saveChanges(card_data.account_id, card_data.post_id)" v-if="edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'edit\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-check" aria-hidden="true" v-else="" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.save_edit}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-warning" @click="cancelChanges" v-if="edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-times" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.cancel_edit}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="column col-4 col-sm-12 vertical-align" v-if="!edit &amp;&amp; content.post_with_image" _v-0395a54b="">\n\t\t\t\t<div v-if="content.post_image !== \'\'" _v-0395a54b="">\n\t\t\t\t\t<figure class="figure" v-if="content.post_image !== \'\'" _v-0395a54b="">\n\t\t\t\t\t\t<img :src="( content.mimetype.type.indexOf(\'image\') > -1 ? content.post_image : video_placeholder )" class="img-fit-cover img-responsive" _v-0395a54b="">\n\t\t\t\t\t</figure>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class="rop-image-placeholder" v-else="" _v-0395a54b="">\n\t\t\t\t\t<summary _v-0395a54b="">\n\t\t\t\t\t\t<i class="fa fa-file-image-o" _v-0395a54b=""></i>\n\t\t\t\t\t\t{{labels.queue_no_image}}\n\t\t\t\t\t</summary>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e){t.exports='\n\t<div class="tab-view rop-queue-tab-container">\n\t\t<div class="panel-body" :class="\'rop-tab-state-\'+is_loading">\n\t\t\t<div class="columns" v-if="! start_status">\n\t\t\t\t<div class="column col-12 text-center empty-container">\n\t\t\t\t\t<div class="empty-icon">\n\t\t\t\t\t\t<i class="fa fa-3x fa-info-circle"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class="empty-title h5">{{labels.sharing_not_started}}</p>\n\t\t\t\t\t<p class="empty-subtitle">{{labels.sharing_not_started_desc}}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div v-else-if="start_status && queueCount > 0 ">\n\n\t\t\t\t<div class="columns py-2" v-if="! is_business">\n\t\t\t\t\t<div class="column text-center">\n\t\t\t\t\t\t<p class="upsell"><i class="fa fa-lock"></i> <span v-html="labels.biz_only"></span></p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t\x3c!-- When sharing is started but we have the business plan. --\x3e\n\t\t\t\t<div class="d-inline-block mt-2 column col-12">\n\t\t\t\t\t<p class="text-gray info-paragraph"><i class="fa fa-info-circle"></i> {{labels.queue_desc}}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="empty" v-else-if="start_status && queueCount === 0">\n\t\t\t\t<div class="empty-icon">\n\t\t\t\t\t<i class="fa fa-3x fa-info-circle"></i>\n\t\t\t\t</div>\n\t\t\t\t<p class="empty-title h5">{{labels.no_posts}}</p>\n\t\t\t\t<p class="empty-subtitle" v-html="labels.no_posts_desc"></p>\n\t\t\t</div>\n\t\t\t<div class="columns" v-if="start_status && queueCount > 0">\n\t\t\t\t<div class="column col-12 text-left" v-for=" (data, index) in queue ">\n\t\t\t\t\t<queue-card :card_data="data.post_data" :id="index" :enabled="is_business"/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="panel-footer text-rightcade" v-if="start_status">\n\t\t\t<button class="btn btn-secondary" @click="refreshQueue(true)">\n\t\t\t\t<i class="fa fa-refresh" v-if="!is_loading"></i>\n\t\t\t\t<i class="fa fa-spinner fa-spin" v-else></i>\n\t\t\t\t{{labels.refresh_btn}}\n\t\t\t</button>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(295),a=n(297),s=n(298),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(296);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .toast.log-toast p[_v-ed733db4] {\n\t\tmargin: 0px;\n\t\tline-height: inherit;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4]:hover {\n\t\topacity: 0.9;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4] {\n\t\tpadding: 0.1rem;\n\t\tpadding-left: 10px;\n\t\tmargin-top: 2px;\n\t}\n\n\t#rop_core .container[_v-ed733db4] {\n\t\tmin-height: 400px;\n\t}\n",""])},function(t,e,n){"use strict";var a=n(0),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"logs-view",props:["model"],data:function(){return{is_loading:!1,labels:this.$store.state.labels.logs,upsell_link:ropApiSettings.upsell_link}},mounted:function(){this.getLogs()},computed:{logs:function(){return this.$store.state.page.logs},logs_no:function(){return this.$store.state.cron_status.logs_number}},watch:{logs_no:function(){this.getLogs()}},methods:{getLogs:function(t){var e=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_log",data:{force:t}}).then(function(n){if(e.$log.info("Succesfully fetched logs."),e.is_loading=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),!0===t){var a={type:"success",show:!1,title:"",message:""};e.$store.commit("updateState",{stateData:a,requestName:"update_toast"})}},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t),e.is_loading=!1})},formatDate:function(t){var e=this.$store.state.cron_status.date_format;return"undefined"===e?"":s.default.utc(t,"X").format(e.replace("mm","mm:ss"))}}}},function(t,e){t.exports='\n\t<div class="tab-view" _v-ed733db4="">\n\t\t<div class="panel-body" _v-ed733db4="">\n\t\t\t<div class=" columns mt-2" v-if="logs_no > 0" _v-ed733db4="">\n\t\t\t\t<div class="column col-12 text-right " _v-ed733db4="">\n\t\t\t\t\t<button class="btn btn-secondary " @click="getLogs(true)" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-remove" v-if="!is_loading" _v-ed733db4=""></i>\n\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-else="" _v-ed733db4=""></i>\n\t\t\t\t\t\t{{labels.clear_btn}}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="columns" _v-ed733db4="">\n\t\t\t\t<div class="empty column col-12" v-if="is_loading" _v-ed733db4="">\n\t\t\t\t\t<div class="empty-icon" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-3x fa-spinner fa-spin" _v-ed733db4=""></i>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="empty column col-12" v-else-if="logs_no === 0" _v-ed733db4="">\n\t\t\t\t\t<div class="empty-icon" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-3x fa-info-circle" _v-ed733db4=""></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class="empty-title h5" _v-ed733db4="">{{labels.no_logs}}</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="column col-12 mt-2" v-for=" (data, index) in logs " v-else-if="logs_no > 0" _v-ed733db4="">\n\t\t\t\t\t<div class="toast log-toast" :class="\'toast-\' + data.type" _v-ed733db4="">\n\t\t\t\t\t\t<small class="pull-right text-right" _v-ed733db4="">{{formatDate ( data.time ) }}</small>\n\t\t\t\t\t\t<p _v-ed733db4="">{{data.message}}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(300),a=n(302),s=n(303),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(301);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .toast.hidden {\n\t\tdisplay: none;\n\t}\n\t#rop_core .toast {\n\t\tmargin: 10px 0;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"toast",computed:{toast:function(){return this.$store.state.toast},toastTypeClass:function(){return{"toast-primary":"info"===this.toast.type,"toast-success":"success"===this.toast.type,"toast-warning":"warning"===this.toast.type,"toast-error":"error"===this.toast.type,hidden:!1===this.toast.show}},iconClass:function(){return{"fa-info-circle":"info"===this.toast.type,"fa-check-circle":"success"===this.toast.type,"fa-exclamation-triangle":"warning"===this.toast.type,"fa-exclamation-circle":"error"===this.toast.type}}},mounted:function(){},created:function(){},methods:{closeThis:function(){this.toast.show=!1}}}},function(t,e){t.exports='\n\t<div class="toast" :class="toastTypeClass" >\n\t\t<button class="btn btn-clear float-right" @click="closeThis"></button>\n\t\t<b><i class="fa" :class="iconClass"></i> {{ toast.title }}</b><br/>\n\t\t<small>{{ toast.message }}</small>\n\t</div>\n'},function(t,e,n){var a,s;a=n(305),s=n(310),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(306),o=a(r),d=n(0),l=a(d);n(309),t.exports={name:"cowntdown",props:["current_time"],data:function(){return{now:(0,o.default)((new Date).getTime()/1e3),timediff:"",diff_seconds:0,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link}},computed:{toTime:function(){return this.$store.state.cron_status.next_event_on},isOn:function(){return this.$store.state.cron_status.current_status},accounts_no:function(){return(0,i.default)(this.$store.state.activeAccounts).length}},watch:{current_time:function(t){if(this.isOn){var e=l.default.utc(t,"X"),n=l.default.utc(this.toTime,"X"),a=l.default.duration(n.diff(e));this.diff_seconds=a.as("second"),this.diff_seconds>0?this.timediff=a.format("d [days], h [hours], m [minutes], s [seconds]"):(this.$store.dispatch("fetchAJAX",{req:"manage_cron"}),this.timediff=this.labels.sharing_now)}}}}},function(t,e,n){t.exports={default:n(307),__esModule:!0}},function(t,e,n){n(308),t.exports=n(3).Math.trunc},function(t,e,n){var a=n(21);a(a.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var a,s,i;/*! Moment Duration Format v2.2.2
17
  * https://github.com/jsmreese/moment-duration-format
18
  * Date: 2018-02-16
19
  *
13
  * https://github.com/pagekit/vue-resource
14
  * Released under the MIT License.
15
  */
16
+ var ot=2;a.reject=function(t){return new a(function(e,n){n(t)})},a.resolve=function(t){return new a(function(e,n){e(t)})},a.all=function(t){return new a(function(e,n){var s=0,i=[];0===t.length&&e(i);for(var r=0;r<t.length;r+=1)a.resolve(t[r]).then(function(n){return function(a){i[n]=a,(s+=1)===t.length&&e(i)}}(r),n)})},a.race=function(t){return new a(function(e,n){for(var s=0;s<t.length;s+=1)a.resolve(t[s]).then(e,n)})};var dt=a.prototype;dt.resolve=function(t){var e=this;if(e.state===ot){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var a=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof a)return void a.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},dt.reject=function(t){var e=this;if(e.state===ot){if(t===e)throw new TypeError("Promise settled with itself.");e.state=1,e.value=t,e.notify()}},dt.notify=function(){var t=this;d(function(){if(t.state!==ot)for(;t.deferred.length;){var e=t.deferred.shift(),n=e[0],a=e[1],s=e[2],i=e[3];try{0===t.state?s("function"==typeof n?n.call(void 0,t.value):t.value):1===t.state&&("function"==typeof a?s(a.call(void 0,t.value)):i(t.value))}catch(t){i(t)}}})},dt.then=function(t,e){var n=this;return new a(function(a,s){n.deferred.push([t,e,a,s]),n.notify()})},dt.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=a),s.all=function(t,e){return new s(Promise.all(t),e)},s.resolve=function(t,e){return new s(Promise.resolve(t),e)},s.reject=function(t,e){return new s(Promise.reject(t),e)},s.race=function(t,e){return new s(Promise.race(t),e)};var lt=s.prototype;lt.bind=function(t){return this.context=t,this},lt.then=function(t,e){return t&&t.bind&&this.context&&(t=t.bind(this.context)),e&&e.bind&&this.context&&(e=e.bind(this.context)),new s(this.promise.then(t,e),this.context)},lt.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new s(this.promise.catch(t),this.context)},lt.finally=function(t){return this.then(function(e){return t.call(this),e},function(e){return t.call(this),Promise.reject(e)})};var ut,ct={},_t=ct.hasOwnProperty,mt=[],ft=mt.slice,pt=!1,ht="undefined"!=typeof window,vt=Array.isArray,yt=Object.assign||Y;E.options={url:"",root:null,params:{}},E.transform={template:$,query:T,root:D},E.transforms=["template","query","root"],E.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){f(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},W(e,t),e.join("&").replace(/%20/g,"+")},E.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};var gt=ht&&"withCredentials"in new XMLHttpRequest,Mt=function(t){var e=this;this.map={},L(t,function(t,n){return e.append(n,t)})};Mt.prototype.has=function(t){return null!==Q(this.map,t)},Mt.prototype.get=function(t){var e=this.map[Q(this.map,t)];return e?e.join():null},Mt.prototype.getAll=function(t){return this.map[Q(this.map,t)]||[]},Mt.prototype.set=function(t,e){this.map[tt(Q(this.map,t)||t)]=[l(e)]},Mt.prototype.append=function(t,e){var n=this.map[Q(this.map,t)];n?n.push(l(e)):this.set(t,e)},Mt.prototype.delete=function(t){delete this.map[Q(this.map,t)]},Mt.prototype.deleteAll=function(){this.map={}},Mt.prototype.forEach=function(t,e){var n=this;L(this.map,function(a,s){L(a,function(a){return t.call(e,a,s,n)})})};var Lt=function(t,e){var n=e.url,a=e.headers,s=e.status,i=e.statusText;this.url=n,this.ok=s>=200&&s<300,this.status=s||0,this.statusText=i||"",this.headers=new Mt(a),this.body=t,m(t)?this.bodyText=t:v(t)&&(this.bodyBlob=t,nt(t)&&(this.bodyText=et(t)))};Lt.prototype.blob=function(){return g(this.bodyBlob)},Lt.prototype.text=function(){return g(this.bodyText)},Lt.prototype.json=function(){return g(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(Lt.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var bt=function(t){this.body=null,this.params={},yt(this,t,{method:_(t.method||"GET")}),this.headers instanceof Mt||(this.headers=new Mt(this.headers))};bt.prototype.getUrl=function(){return E(this)},bt.prototype.getBody=function(){return this.body},bt.prototype.respondWith=function(t,e){return new Lt(t,yt(e||{},{url:this.getUrl()}))};var kt={Accept:"application/json, text/plain, */*"},Yt={"Content-Type":"application/json;charset=utf-8"};at.options={},at.headers={put:Yt,post:Yt,patch:Yt,delete:Yt,common:kt,custom:{}},at.interceptor={before:U,method:G,jsonp:V,json:z,form:I,header:q,cors:N},at.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){at[t]=function(e,n){return this(yt(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){at[t]=function(e,n,a){return this(yt(a||{},{url:e,method:t,body:n}))}}),st.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(rt),e.default=rt},function(t,e){},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(39),s=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={install:s.default.install}},function(t,e,n){"use strict";function a(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){function t(t,n){var a={};return n.forEach(function(s){n.indexOf(s)>=n.indexOf(t.logLevel)?a[s]=function(){for(var n=arguments.length,a=Array(n),r=0;r<n;r++)a[r]=arguments[r];var o=i(),d=t.showMethodName?o+" "+t.separator+" ":"",l=t.showLogLevel?s+" "+t.separator+" ":"",u=t.stringifyArguments?a.map(function(t){return JSON.stringify(t)}):a;e(s,l,d,u,t.showConsoleColors)}:a[s]=function(){}}),a}function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(arguments.length>4&&void 0!==arguments[4]&&arguments[4]&&("warn"===t||"error"===t||"fatal"===t)){var i;(i=console)["fatal"===t?"error":t].apply(i,[e,n].concat(a(s)))}else{var r;(r=console).log.apply(r,[e,n].concat(a(s)))}}function n(t,e){return!(!(t.logLevel&&"string"==typeof t.logLevel&&e.indexOf(t.logLevel)>-1)||t.stringifyArguments&&"boolean"!=typeof t.stringifyArguments||t.showLogLevel&&"boolean"!=typeof t.showLogLevel||t.showConsoleColors&&"boolean"!=typeof t.showConsoleColors||t.separator&&("string"!=typeof t.separator||"string"==typeof t.separator&&t.separator.length>3)||t.showMethodName&&"boolean"!=typeof t.showMethodName)}function s(e,a){if(a=Object.assign(r,a),!n(a,o))throw new Error("Provided options for vuejs-logger are not valid.");e.$log=t(a,o),e.prototype.$log=e.$log}function i(){var t={};try{throw new Error("")}catch(e){t=e}var e=t.stack.split("\n")[3];return/ /.test(e)&&(e=e.trim().split(" ")[1]),e&&e.includes(".")&&(e=e.split(".")[1]),e}var r={logLevel:"debug",separator:"|",stringifyArguments:!1,showLogLevel:!1,showMethodName:!1,showConsoleColors:!1},o=["debug","info","warn","error","fatal"];return{install:s,isValidOptions:n,print:e,initLoggerInstance:t,logLevels:o}}()},function(t,e,n){var a=n(9),s=n(14),i=n(42)(!1),r=n(19)("IE_PROTO");t.exports=function(t,e){var n,o=s(t),d=0,l=[];for(n in o)n!=r&&a(o,n)&&l.push(n);for(;e.length>d;)a(o,n=e[d++])&&(~i(l,n)||l.push(n));return l}},function(t,e,n){var a=n(22);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},function(t,e,n){var a=n(14),s=n(43),i=n(44);t.exports=function(t){return function(e,n,r){var o,d=a(e),l=s(d.length),u=i(r,l);if(t&&n!=n){for(;l>u;)if((o=d[u++])!=o)return!0}else for(;l>u;u++)if((t||u in d)&&d[u]===n)return t||u||0;return!t&&-1}}},function(t,e,n){var a=n(15),s=Math.min;t.exports=function(t){return t>0?s(a(t),9007199254740991):0}},function(t,e,n){var a=n(15),s=Math.max,i=Math.min;t.exports=function(t,e){return t=a(t),t<0?s(t+e,0):i(t,e)}},function(t,e,n){var a=n(46);t.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,s){return t.call(e,n,a,s)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){t.exports=!n(5)&&!n(17)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var a=n(12);t.exports=function(t,e){if(!a(t))return t;var n,s;if(e&&"function"==typeof(n=t.toString)&&!a(s=n.call(t)))return s;if("function"==typeof(n=t.valueOf)&&!a(s=n.call(t)))return s;if(!e&&"function"==typeof(n=t.toString)&&!a(s=n.call(t)))return s;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){"use strict";var a=n(24),s=n(21),i=n(61),r=n(6),o=n(20),d=n(62),l=n(51),u=n(66),c=n(7)("iterator"),_=!([].keys&&"next"in[].keys()),m=function(){return this};t.exports=function(t,e,n,f,p,h,v){d(n,e,f);var y,g,M,L=function(t){if(!_&&t in w)return w[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},b=e+" Iterator",k="values"==p,Y=!1,w=t.prototype,D=w[c]||w["@@iterator"]||p&&w[p],T=D||L(p),x=p?k?L("entries"):T:void 0,S="Array"==e?w.entries||D:D;if(S&&(M=u(S.call(new t)))!==Object.prototype&&M.next&&(l(M,b,!0),a||"function"==typeof M[c]||r(M,c,m)),k&&D&&"values"!==D.name&&(Y=!0,T=function(){return D.call(this)}),a&&!v||!_&&!Y&&w[c]||r(w,c,T),o[e]=T,o[b]=m,p)if(y={values:k?T:L("values"),keys:h?T:L("keys"),entries:x},v)for(g in y)g in w||i(w,g,y[g]);else s(s.P+s.F*(_||Y),e,y);return y}},function(t,e,n){var a=n(16).f,s=n(9),i=n(7)("toStringTag");t.exports=function(t,e,n){t&&!s(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},function(t,e,n){var a,s;a=n(72),s=n(74),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){n(54),t.exports=n(3).Object.keys},function(t,e,n){var a=n(29),s=n(30);n(55)("keys",function(){return function(t){return s(a(t))}})},function(t,e,n){var a=n(21),s=n(3),i=n(17);t.exports=function(t,e){var n=(s.Object||{})[t]||Object[t],r={};r[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",r)}},function(t,e,n){n(57),n(67),t.exports=n(69)},function(t,e,n){n(58);for(var a=n(4),s=n(6),i=n(20),r=n(7)("toStringTag"),o="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(","),d=0;d<o.length;d++){var l=o[d],u=a[l],c=u&&u.prototype;c&&!c[r]&&s(c,r,l),i[l]=i.Array}},function(t,e,n){"use strict";var a=n(59),s=n(60),i=n(20),r=n(14);t.exports=n(50)(Array,"Array",function(t,e){this._t=r(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,s(1)):"keys"==e?s(0,n):"values"==e?s(0,t[n]):s(0,[n,t[n]])},"values"),i.Arguments=i.Array,a("keys"),a("values"),a("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports=n(6)},function(t,e,n){"use strict";var a=n(63),s=n(28),i=n(51),r={};n(6)(r,n(7)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=a(r,{next:s(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var a=n(11),s=n(64),i=n(26),r=n(19)("IE_PROTO"),o=function(){},d=function(){var t,e=n(27)("iframe"),a=i.length;for(e.style.display="none",n(65).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),d=t.F;a--;)delete d.prototype[i[a]];return d()};t.exports=Object.create||function(t,e){var n;return null!==t?(o.prototype=a(t),n=new o,o.prototype=null,n[r]=t):n=d(),void 0===e?n:s(n,e)}},function(t,e,n){var a=n(16),s=n(11),i=n(30);t.exports=n(5)?Object.defineProperties:function(t,e){s(t);for(var n,r=i(e),o=r.length,d=0;o>d;)a.f(t,n=r[d++],e[n]);return t}},function(t,e,n){var a=n(4).document;t.exports=a&&a.documentElement},function(t,e,n){var a=n(9),s=n(29),i=n(19)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=s(t),a(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,n){"use strict";var a=n(68)(!0);n(50)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=a(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var a=n(15),s=n(13);t.exports=function(t){return function(e,n){var i,r,o=String(s(e)),d=a(n),l=o.length;return d<0||d>=l?t?"":void 0:(i=o.charCodeAt(d),i<55296||i>56319||d+1===l||(r=o.charCodeAt(d+1))<56320||r>57343?t?o.charAt(d):i:t?o.slice(d,d+2):r-56320+(i-55296<<10)+65536)}}},function(t,e,n){var a=n(11),s=n(70);t.exports=n(3).getIterator=function(t){var e=s(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return a(e.call(t))}},function(t,e,n){var a=n(71),s=n(7)("iterator"),i=n(20);t.exports=n(3).getIteratorMethod=function(t){if(void 0!=t)return t[s]||t["@@iterator"]||i[a(t)]}},function(t,e,n){var a=n(22),s=n(7)("toStringTag"),i="Arguments"==a(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=r(e=Object(t),s))?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},function(t,e,n){"use strict";function a(t,e){var n=void 0;for(n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}var s=n(49),i=function(t){return t&&t.__esModule?t:{default:t}}(s),r=n(73);t.exports={name:"multiple-select",mixins:[r.mixin],props:{options:{default:function(){return[]},type:Array},disabled:{default:!0,type:Boolean},selected:{default:function(){return[]},type:Array},placeHolderText:{default:"Please select something",type:String},changedSelection:{default:function(t){return t},type:Function},dontLock:{default:!1,type:Boolean},is_pro_version:{default:!1,type:Boolean},apply_limit:{default:!1,type:Boolean}},mounted:function(){var t=!0,e=!1,n=void 0;try{for(var a,s=(0,i.default)(this.selected);!(t=(a=s.next()).done);t=!0){var r=a.value;if(r.selected){var o=0,d=!0,l=!1,u=void 0;try{for(var c,_=(0,i.default)(this.options);!(d=(c=_.next()).done);d=!0){c.value.value===r.value&&(this.options[o].selected=r.selected),o++}}catch(t){l=!0,u=t}finally{try{!d&&_.return&&_.return()}finally{if(l)throw u}}}}}catch(t){e=!0,n=t}finally{try{!t&&s.return&&s.return()}finally{if(e)throw n}}},updated:function(){var t=!0,e=!1,n=void 0;try{for(var a,s=(0,i.default)(this.selected);!(t=(a=s.next()).done);t=!0){var r=a.value;if(r.selected){var o=0,d=!0,l=!1,u=void 0;try{for(var c,_=(0,i.default)(this.options);!(d=(c=_.next()).done);d=!0){c.value.value===r.value&&(this.options[o].selected=r.selected),o++}}catch(t){l=!0,u=t}finally{try{!d&&_.return&&_.return()}finally{if(l)throw u}}}}}catch(t){e=!0,n=t}finally{try{!t&&s.return&&s.return()}finally{if(e)throw n}}},created:function(){var t=0,e=!0,n=!1,a=void 0;try{for(var s,r=(0,i.default)(this.selected);!(e=(s=r.next()).done);e=!0){var o=s.value;if(o.selected){var d=0,l=!0,u=!1,c=void 0;try{for(var _,m=(0,i.default)(this.options);!(l=(_=m.next()).done);l=!0){_.value.value===o.value&&(this.options[d].selected=o.selected,t++),d++}}catch(t){u=!0,c=t}finally{try{!l&&m.return&&m.return()}finally{if(u)throw c}}}}}catch(t){n=!0,a=t}finally{try{!e&&r.return&&r.return()}finally{if(n)throw a}}this.rand=Math.round(1e3*Math.random());var f=0,p=!0,h=!1,v=void 0;try{for(var y,g=(0,i.default)(this.options);!(p=(y=g.next()).done);p=!0){y.value;this.options[f].selected=!1,f++}}catch(t){h=!0,v=t}finally{try{!p&&g.return&&g.return()}finally{if(h)throw v}}},data:function(){return{search:"",highlighted:-1,no_results:!1,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link,magic_flag:!1,rand:0}},watch:{search:function(t){this.$emit("update",t)},selected:function(t){this.$emit("display-limiter-notice",this.selected.length)}},computed:{is_focused:function(){return{"is-focused":!0===this.magic_flag}},is_visible:function(){return{"d-none":!1===this.magic_flag}},is_one:function(){if(!this.dontLock){if(1===this.options.length&&!1===this.options[0].selected)return!0;if(1===this.options.length&&!0===this.options[0].selected)return!0}return!1},autocomplete_placeholder:function(){return this.selected.length>0?"":this.placeHolderText},is_disabled:function(){return!this.disabled},has_results:function(){var t=0,e=!0,n=!1,a=void 0;try{for(var s,r=(0,i.default)(this.options);!(e=(s=r.next()).done);e=!0){var o=s.value;this.filterSearch(o)&&t++}}catch(t){n=!0,a=t}finally{try{!e&&r.return&&r.return()}finally{if(n)throw a}}return!t}},methods:{closeDropdown:function(){this.magic_flag=!1},highlightItem:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.highlighted--:this.highlighted++;var t=this.$refs.autocomplete_results.children.length-1;t<0&&(t=0),this.highlighted>t&&(this.highlighted=0),this.highlighted<0&&(this.highlighted=t),this.$refs.autocomplete_results.children[this.highlighted].firstChild.focus()},popLast:function(){""===this.search&&(this.selected.pop(),this.magic_flag=!1)},markMatch:function(t,e){var n=t;if(-1!==t.toLowerCase().indexOf(e.toLowerCase())&&""!==e){var a=new RegExp(e,"ig");n=t.replace(a,function(t){return"<mark>"+t+"</mark>"})}return n},filterSearch:function(t){return(-1!==t.name.toLowerCase().indexOf(this.search.toLowerCase())||""===this.search)&&(!t.selected&&!a(t,this.selected))},addToSelected:function(t){if(!this.is_disabled&&!1!==this.limit_selection()){var e=this.options[t];e.selected=!0,this.selected.push(e),this.$refs.search.focus(),this.magic_flag=!1,this.search="",this.changedSelection(this.selected)}},removeSelected:function(t){this.is_disabled||(this.selected.splice(t,1),this.$refs.search.focus(),this.magic_flag=!1,this.search="",this.changedSelection(this.selected))},limit_selection:function(){return!(!0===this.apply_limit&&!1===this.is_pro_version&&this.selected.length>3)||(this.$refs.search.focus(),this.magic_flag=!1,this.search="",!1)}}}},function(t,e,n){"use strict";function a(t,e,n){s(t);var a=n.context,i=e.value;if("function"==typeof i){var o=!1;setTimeout(function(){o=!0},0),t[r]=function(e){var n=e.path||(e.composedPath?e.composedPath():void 0);if(o&&(n?n.indexOf(t)<0:!t.contains(e.target)))return i.call(a,e)},document.documentElement.addEventListener("click",t[r],!1)}}function s(t){document.documentElement.removeEventListener("click",t[r],!1),delete t[r]}var i=n(8);i="default"in i?i.default:i;/^2\./.test(i.version)||i.util.warn("VueClickaway 2.2.2 only supports Vue 2.x, and does not support Vue "+i.version);var r="_vue_clickaway_handler",o={bind:a,update:function(t,e){e.value!==e.oldValue&&a(t,e)},unbind:s},d={directives:{onClickaway:o}};e.version="2.2.2",e.directive=o,e.mixin=d},function(t,e){t.exports='\n\t<div class="form-autocomplete" style="width: 100%;" v-on-clickaway="closeDropdown">\n\t\t\x3c!-- autocomplete input container --\x3e\n\t\t<div class="form-autocomplete-input form-input" :class="is_focused">\n\t\t\t\n\t\t\t\x3c!-- autocomplete chips --\x3e\n\t\t\t<label class="chip" v-for="( option, index ) in selected">\n\t\t\t\t{{option.name}}\n\t\t\t\t<a href="#" class="btn btn-clear" aria-label="Close" @click.prevent="removeSelected(index)"\n\t\t\t\t role="button"></a>\n\t\t\t</label>\n\t\t\t\n\t\t\t\x3c!-- autocomplete real input box --\x3e\n\t\t\t<input style="height: 1.0rem;" class="form-input" type="text" ref="search" v-model="search"\n\t\t\t :placeholder="autocomplete_placeholder" @click="magic_flag = true" @focus="magic_flag = true"\n\t\t\t @keyup="magic_flag = true" @keydown.8="popLast()" @keydown.38="highlightItem(true)"\n\t\t\t @keydown.40="highlightItem()" :disabled="is_disabled">\n\t\t</div>\n\t\t\n\t\t\x3c!-- autocomplete suggestion list --\x3e\n\t\t<ul class="menu" ref="autocomplete_results" :class="is_visible"\n\t\t style="overflow-y: scroll; max-height: 120px">\n\t\t\t\x3c!-- menu list chips --\x3e\n\t\t\t<li class="menu-item" v-for="( option, index ) in options" v-if="filterSearch(option)">\n\t\t\t\t<a href="#" @click.prevent="addToSelected(index)" @keydown.38="highlightItem(true)"\n\t\t\t\t @keydown.40="highlightItem()">\n\t\t\t\t\t<div class="tile tile-centered">\n\t\t\t\t\t\t<div class="tile-content" v-html="markMatch(option.name, search)"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li v-if="has_results">\n\t\t\t\t<a href="#">\n\t\t\t\t\t<div class="tile tile-centered">\n\t\t\t\t\t\t<div class="tile-content"><i>{{labels.multiselect_not_found}}"{{search}}" ...</i></div>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n\n'},function(t,e,n){var a,s;n(76),a=n(78),s=n(79),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(77);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .input-group .input-group-addon.btn.active[_v-1c9c2ce2] {\n\t\tbackground-color: #8bc34a;\n\t\tborder-color: #33691e;\n\t\tcolor: #FFF;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"button-checkbox",props:{value:{default:"0",type:String},label:{default:"",type:String},id:{default:function(){var t="day";return""!==this.label&&void 0!==this.label&&(t=t+"_"+this.label.toLowerCase()),t}},checked:{default:!1,type:Boolean}},data:function(){return{componentCheckState:this.checked}},computed:{is_active:function(){return{active:!0===this.componentCheckState}}},watch:{checked:function(){this.componentCheckState=this.checked}},methods:{toggleThis:function(){this.componentCheckState=!this.componentCheckState,this.componentCheckState?this.$emit("add-day",this.value):this.$emit("rmv-day",this.value)}}}},function(t,e){t.exports='\n\t<button class="btn input-group-addon column" :class="is_active" @click="toggleThis()" _v-1c9c2ce2="">{{label}}</button>\n'},function(t,e,n){var a,s;n(81),a=n(83),s=n(84),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(82);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop-upsell-box[_v-4cbae0f4]{\n\t\tmargin-top:20px;\n\t}\n\t#rop_core .rop-upsell-business-card[_v-4cbae0f4],\n\t#rop_core .rop-upsell-pro-card[_v-4cbae0f4] {\n\t\tpadding: 0;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"upsell-sidebar",data:function(){return{license:this.$store.state.licence,upsell_link:ropApiSettings.upsell_link,to_pro_upsell:ROP_ASSETS_URL+"img/to_pro.png",labels:this.$store.state.labels.general,to_business_upsell:ROP_ASSETS_URL+"img/to_business.png"}}}},function(t,e){t.exports='\n\t<div id="rop-upsell-box" _v-4cbae0f4="">\n\t\t<div class="card rop-upsell-pro-card" v-if="license < 1 " _v-4cbae0f4="">\n\t\t\t<a :href="upsell_link" target="_blank" _v-4cbae0f4="">\n\t\t\t\t<img class="img-responsive" :src="to_pro_upsell" :alt="labels.upgrade_pro_cta" _v-4cbae0f4="">\n\t\t\t</a>\n\t\t</div>\n\t\t<div class="card rop-upsell-business-card" v-if="license === 1" _v-4cbae0f4="">\n\t\t\t<a :href="upsell_link" target="_blank" _v-4cbae0f4="">\n\t\t\t\t<img class="img-responsive" :src="to_business_upsell" :alt="labels.upgrade_biz_cta" _v-4cbae0f4="">\n\t\t\t</a>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(223),a=n(225),s=n(226),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a,s;n(252),a=n(254),s=n(255),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},s={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,n,i,r){var o=a(e),d=s[t][a(e)];return 2===o&&(d=d[n?0:1]),d.replace(/%d/i,e)}},r=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar",{months:r,monthsShort:r,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},s=function(t){return function(e,s,i,r){var o=n(e),d=a[t][n(e)];return 2===o&&(d=d[s?0:1]),d.replace(/%d/i,e)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar-ly",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,a=t%100-n,s=t>=100?100:null;return t+(e[n]||e[a]||e[s])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===a?n?"хвіліна":"хвіліну":"h"===a?n?"гадзіна":"гадзіну":t+" "+e(s[a],+t)}return t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return t+" "+s({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}function n(t){switch(a(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}function a(t){return t>9?a(t%10):t}function s(t,e){return 2===e?i(t):t}function i(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}return t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return a+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return a+=1===t?"dan":"dana";case"MM":return a+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return a+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5&&1!=~~(t/10)}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"pár sekund":"pár sekundami";case"ss":return n||s?i+(e(t)?"sekundy":"sekund"):i+"sekundami";case"m":return n?"minuta":s?"minutu":"minutou";case"mm":return n||s?i+(e(t)?"minuty":"minut"):i+"minutami";case"h":return n?"hodina":s?"hodinu":"hodinou";case"hh":return n||s?i+(e(t)?"hodiny":"hodin"):i+"hodinami";case"d":return n||s?"den":"dnem";case"dd":return n||s?i+(e(t)?"dny":"dní"):i+"dny";case"M":return n||s?"měsíc":"měsícem";case"MM":return n||s?i+(e(t)?"měsíce":"měsíců"):i+"měsíci";case"y":return n||s?"rok":"rokem";case"yy":return n||s?i+(e(t)?"roky":"let"):i+"lety"}}var a="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),s="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),i=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],r=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;return t.defineLocale("cs",{months:a,monthsShort:s,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="",a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=a[e]),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?s[n][0]:s[n][1]}return t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];return t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}return t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,n){var a=this._calendarEl[t],s=n&&n.hours();return e(a)&&(a=a.apply(n)),a.replace("{}",s%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],s=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?s[n][2]?s[n][2]:s[n][1]:a?s[n][0]:s[n][1]}return t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,a,s){var i="";switch(a){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":i=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":i=s?"tunnin":"tuntia";break;case"d":return s?"päivän":"päivä";case"dd":i=s?"päivän":"päivää";break;case"M":return s?"kuukauden":"kuukausi";case"MM":i=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":i=s?"vuoden":"vuotta"}return i=n(t,s)+" "+i}function n(t,e){return t<10?e?s[t]:a[t]:t}var a="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),s=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",a[7],a[8],a[9]];return t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaður",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");return t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Méitheamh","Iúil","Lúnasa","Meán Fómhair","Deaireadh Fómhair","Samhain","Nollaig"],n=["Eaná","Feab","Márt","Aibr","Beal","Méit","Iúil","Lúna","Meán","Deai","Samh","Noll"],a=["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Satharn"],s=["Dom","Lua","Mái","Céa","Déa","hAo","Sat"],i=["Do","Lu","Má","Ce","Dé","hA","Sa"];return t.defineLocale("ga",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:a,weekdaysShort:s,weekdaysMin:i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Amárach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inné aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s ó shin",s:"cúpla soicind",ss:"%d soicind",m:"nóiméad",mm:"%d nóiméad",h:"uair an chloig",hh:"%d uair an chloig",d:"lá",dd:"%d lá",M:"mí",MM:"%d mí",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],a=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],s=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],i=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];return t.defineLocale("gd",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:a,weekdaysShort:s,weekdaysMin:i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka voran","ek vor"],hh:[t+" voranim",t+" voram"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?s[n][0]:s[n][1]}return t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};return t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a=t+" ";switch(n){case"ss":return a+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return a+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return a+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return a+=1===t?"dan":"dana";case"MM":return a+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return a+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s=t;switch(n){case"s":return a||e?"néhány másodperc":"néhány másodperce";case"ss":return s+(a||e)?" másodperc":" másodperce";case"m":return"egy"+(a||e?" perc":" perce");case"mm":return s+(a||e?" perc":" perce");case"h":return"egy"+(a||e?" óra":" órája");case"hh":return s+(a||e?" óra":" órája");case"d":return"egy"+(a||e?" nap":" napja");case"dd":return s+(a||e?" nap":" napja");case"M":return"egy"+(a||e?" hónap":" hónapja");case"MM":return s+(a||e?" hónap":" hónapja");case"y":return"egy"+(a||e?" év":" éve");case"yy":return s+(a||e?" év":" éve")}return""}function n(t){return(t?"":"[múlt] ")+"["+a[this.day()]+"] LT[-kor]"}var a="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?i+(n||s?"sekúndur":"sekúndum"):i+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?i+(n||s?"mínútur":"mínútum"):n?i+"mínúta":i+"mínútu";case"hh":return e(t)?i+(n||s?"klukkustundir":"klukkustundum"):i+"klukkustund";case"d":return n?"dagur":s?"dag":"degi";case"dd":return e(t)?n?i+"dagar":i+(s?"daga":"dögum"):n?i+"dagur":i+(s?"dag":"degi");case"M":return n?"mánuður":s?"mánuð":"mánuði";case"MM":return e(t)?n?i+"mánuðir":i+(s?"mánuði":"mánuðum"):n?i+"mánuður":i+(s?"mánuð":"mánuði");case"y":return n||s?"ár":"ári";case"yy":return e(t)?i+(n||s?"ár":"árum"):i+(n||s?"ár":"ári")}}return t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ja",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()<this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(t){return this.week()<t.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};return t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};return t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};return t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=["کانونی دووەم","شوبات","ئازار","نیسان","ئایار","حوزەیران","تەمموز","ئاب","ئەیلوول","تشرینی یەكەم","تشرینی دووەم","كانونی یەکەم"];return t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌".split("_"),weekdaysShort:"یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌".split("_"),weekdaysMin:"ی_د_س_چ_پ_ه_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function(t){return/ئێواره‌/.test(t)},meridiem:function(t,e,n){return t<12?"به‌یانی":"ئێواره‌"},calendar:{sameDay:"[ئه‌مرۆ كاتژمێر] LT",nextDay:"[به‌یانی كاتژمێر] LT",nextWeek:"dddd [كاتژمێر] LT",lastDay:"[دوێنێ كاتژمێر] LT",lastWeek:"dddd [كاتژمێر] LT",sameElse:"L"},relativeTime:{future:"له‌ %s",past:"%s",s:"چه‌ند چركه‌یه‌ك",ss:"چركه‌ %d",m:"یه‌ك خوله‌ك",mm:"%d خوله‌ك",h:"یه‌ك كاتژمێر",hh:"%d كاتژمێر",d:"یه‌ك ڕۆژ",dd:"%d ڕۆژ",M:"یه‌ك مانگ",MM:"%d مانگ",y:"یه‌ك ساڵ",yy:"%d ساڵ"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кечээ саат] LT",lastWeek:"[Өткөн аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?s[n][0]:s[n][1]}function n(t){return s(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t}function a(t){return s(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t}function s(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,n=t/10;return s(0===e?n:e)}if(t<1e4){for(;t>=10;)t/=10;return s(t)}return t/=1e3,s(t)}return t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:a,s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){return e?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"}function n(t,e,n,a){return e?s(n)[0]:a?s(n)[1]:s(n)[2]}function a(t){return t%10==0||t>10&&t<20}function s(t){return r[t].split("_")}function i(t,e,i,r){var o=t+" ";return 1===t?o+n(t,e,i[0],r):e?o+(a(t)?s(i)[1]:s(i)[0]):r?o+s(i)[1]:o+(a(t)?s(i)[1]:s(i)[2])}var r={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:e,ss:i,m:n,mm:i,h:n,hh:i,d:n,dd:i,M:n,MM:i,y:n,yy:i},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function n(t,n,a){return t+" "+e(i[a],t,n)}function a(t,n,a){return e(i[a],t,n)}function s(t,e){return e?"dažas sekundes":"dažām sekundēm"}var i={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};return t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:s,ss:n,m:a,mm:n,h:a,hh:n,d:a,dd:n,M:a,MM:n,y:a,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}return t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s="";if(e)switch(n){case"s":s="काही सेकंद";break;case"ss":s="%d सेकंद";break;case"m":s="एक मिनिट";break;case"mm":s="%d मिनिटे";break;case"h":s="एक तास";break;case"hh":s="%d तास";break;case"d":s="एक दिवस";break;case"dd":s="%d दिवस";break;case"M":s="एक महिना";break;case"MM":s="%d महिने";break;case"y":s="एक वर्ष";break;case"yy":s="%d वर्षे"}else switch(n){case"s":s="काही सेकंदां";break;case"ss":s="%d सेकंदां";break;case"m":s="एका मिनिटा";break;case"mm":s="%d मिनिटां";break;case"h":s="एका तासा";break;case"hh":s="%d तासां";break;case"d":s="एका दिवसा";break;case"dd":s="%d दिवसां";break;case"M":s="एका महिन्या";break;case"MM":s="%d महिन्यां";break;case"y":s="एका वर्षा";break;case"yy":s="%d वर्षां"}return s.replace(/%d/i,t)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return a[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return n[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};return t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],s=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,a){return t?/-MMM-/.test(a)?n[t.month()]:e[t.month()]:e},monthsRegex:s,monthsShortRegex:s,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};return t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function n(t,n,a){var s=t+" ";switch(a){case"ss":return s+(e(t)?"sekundy":"sekund");case"m":return n?"minuta":"minutę";case"mm":return s+(e(t)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return s+(e(t)?"godziny":"godzin");case"MM":return s+(e(t)?"miesiące":"miesięcy");case"yy":return s+(e(t)?"lata":"lat")}}var a="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),s="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return t.defineLocale("pl",{months:function(t,e){return t?""===e?"("+s[t.month()]+"|"+a[t.month()]+")":/D MMMM/.test(e)?s[t.month()]:a[t.month()]:a},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:n,m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var a={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},s=" ";return(t%100>=20||t>=100&&t%100==0)&&(s=" de "),t+s+a[n]}return t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?n?"минута":"минуту":t+" "+e(s[a],+t)}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];return t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:n,m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];return t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5}function n(t,n,a,s){var i=t+" ";switch(a){case"s":return n||s?"pár sekúnd":"pár sekundami";case"ss":return n||s?i+(e(t)?"sekundy":"sekúnd"):i+"sekundami";case"m":return n?"minúta":s?"minútu":"minútou";case"mm":return n||s?i+(e(t)?"minúty":"minút"):i+"minútami";case"h":return n?"hodina":s?"hodinu":"hodinou";case"hh":return n||s?i+(e(t)?"hodiny":"hodín"):i+"hodinami";case"d":return n||s?"deň":"dňom";case"dd":return n||s?i+(e(t)?"dni":"dní"):i+"dňami";case"M":return n||s?"mesiac":"mesiacom";case"MM":return n||s?i+(e(t)?"mesiace":"mesiacov"):i+"mesiacmi";case"y":return n||s?"rok":"rokom";case"yy":return n||s?i+(e(t)?"roky":"rokov"):i+"rokmi"}}var a="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),s="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return t.defineLocale("sk",{months:a,monthsShort:s,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s=t+" ";switch(n){case"s":return e||a?"nekaj sekund":"nekaj sekundami";case"ss":return s+=1===t?e?"sekundo":"sekundi":2===t?e||a?"sekundi":"sekundah":t<5?e||a?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return s+=1===t?e?"minuta":"minuto":2===t?e||a?"minuti":"minutama":t<5?e||a?"minute":"minutami":e||a?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return s+=1===t?e?"ura":"uro":2===t?e||a?"uri":"urama":t<5?e||a?"ure":"urami":e||a?"ur":"urami";case"d":return e||a?"en dan":"enim dnem";case"dd":return s+=1===t?e||a?"dan":"dnem":2===t?e||a?"dni":"dnevoma":e||a?"dni":"dnevi";case"M":return e||a?"en mesec":"enim mesecem";case"MM":return s+=1===t?e||a?"mesec":"mesecem":2===t?e||a?"meseca":"mesecema":t<5?e||a?"mesece":"meseci":e||a?"mesecev":"meseci";case"y":return e||a?"eno leto":"enim letom";case"yy":return s+=1===t?e||a?"leto":"letom":2===t?e||a?"leti":"letoma":t<5?e||a?"leta":"leti":e||a?"let":"leti"}}return t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,a){var s=e.words[a];return 1===a.length?n?s[0]:s[1]:t+" "+e.correctGrammaticalCase(t,s)}};return t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};return t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,a=t>=100?100:null;return t+(e[t]||e[n]||e[a])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"}function n(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"}function a(t,e,n,a){var i=s(t);switch(n){case"ss":return i+" lup";case"mm":return i+" tup";case"hh":return i+" rep";case"dd":return i+" jaj";case"MM":return i+" jar";case"yy":return i+" DIS"}}function s(t){var e=Math.floor(t%1e3/100),n=Math.floor(t%100/10),a=t%10,s="";return e>0&&(s+=i[e]+"vatlh"),n>0&&(s+=(""!==s?" ":"")+i[n]+"maH"),a>0&&(s+=(""!==s?" ":"")+i[a]),""===s?"pagh":s}var i="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");return t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:e,past:n,s:"puS lup",ss:a,m:"wa’ tup",mm:a,h:"wa’ rep",hh:a,d:"wa’ jaj",dd:a,M:"wa’ jar",MM:a,y:"wa’ DIS",yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var a=t%10,s=t%100-a,i=t>=100?100:null;return t+(e[a]||e[s]||e[i])}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,a){var s={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return a?s[n][0]:e?s[n][0]:s[n][1]}return t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,a){var s={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===a?n?"хвилина":"хвилину":"h"===a?n?"година":"годину":t+" "+e(s[a],+t)}function a(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return!0===t?n.nominative.slice(1,7).concat(n.nominative.slice(0,1)):t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative}function s(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}return t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:a,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:s("[Сьогодні "),nextDay:s("[Завтра "),lastDay:s("[Вчора "),nextWeek:s("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return s("[Минулої] dddd [").call(this);case 1:case 2:case 4:return s("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:n,m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var a=100*t+e;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(8),i=a(s),r=n(34),o=a(r),d=n(215),l=a(d);window.addEventListener("load",function(){new i.default({el:"#rop_core",store:o.default,components:{MainPagePanel:l.default},created:function(){o.default.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),o.default.dispatch("fetchAJAXPromise",{req:"get_available_services"}),o.default.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}),o.default.dispatch("fetchAJAXPromise",{req:"get_active_accounts"})}})})},function(t,e,n){var a,s;n(216),a=n(218),s=n(311),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(217);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .badge[data-badge]::after {\n position: absolute;\n bottom: -16px;\n right: 0px;\n }\n\n #rop_core .rop-api-not-available {\n margin: 10px 0px 10px 0px;\n }\n\n #rop_core .badge.badge-logs::after {\n right: auto;\n top: 0px;\n }\n\n #rop_core .badge.badge-logs {\n padding-right: 10px;\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(219),o=a(r),d=n(248),l=a(d),u=n(257),c=a(u),_=n(286),m=a(_),f=n(294),p=a(f),h=n(299),v=a(h),y=n(304),g=a(y),M=n(0),L=(a(M),n(80)),b=a(L);t.exports={name:"main-page-panel",computed:{is_preloading_over:function(){return this.$store.state.hide_preloading},displayTabs:function(){return this.$store.state.displayTabs},page:function(){return this.$store.state.page},is_rest_api_error:function(){return this.$store.state.api_not_available},is_fb_domain_notice:function(){return this.$store.state.fb_exception_toast},current_time:{get:function(){return this.$store.state.cron_status.current_time},set:function(t){this.$store.state.cron_status.current_time=t}},date_format:function(){return this.$store.state.cron_status.date_format},logs_no:function(){return this.$store.state.cron_status.logs_number},btn_class:function(){var t="btn-"+(this.start_status?"danger":"success");return this.haveAccountsActive||(t+=" tooltip button-disabled "),t},status_color_class:function(){var t="sharing-status-"+(this.start_status?"sharing":"notsharing");return this.haveAccountsActive||(t=" sharing-status-notsharing "),this.status_is_error_display?" sharing-status-error ":t},status_label_display:function(){var t=this.$store.state.labels.general,e=this.start_status?t.sharing_to_account:t.sharing_not_started;return this.haveAccountsActive||(e=t.sharing_not_started),this.status_is_error_display?t.status+": "+t.error_check_log:t.status+": "+e},status_is_error_display:function(){return this.status_is_error_display},haveAccounts:function(){return(0,i.default)(this.$store.state.authenticatedServices).length>0},haveAccountsActive:function(){return(0,i.default)(this.$store.state.activeAccounts).length>0},start_status:function(){return this.$store.state.cron_status.current_status},generalSettings:function(){return this.$store.state.generalSettings}},mounted:function(){var t=this;setInterval(function(){t.current_time>0&&(t.current_time+=1)},1e3),this.get_toast_message(!1)},created:function(){},data:function(){return{to_pro_upsell:ROP_ASSETS_URL+"img/to_pro.png",to_business_upsell:ROP_ASSETS_URL+"img/to_business.png",plugin_logo:ROP_ASSETS_URL+"img/logo_rop.png",license:this.$store.state.licence,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link,staging:ropApiSettings.staging,is_loading:!1,is_loading_logs:!1,status_is_error_display:!1}},methods:{close_fb_domain_notice:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.$store.dispatch("fetchAJAXPromise",{req:"fb_exception_toast",data:{action:"hide"}}).then(function(e){t.$log.info("Succesfully closed facebook domain toast."),t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},togglePosting:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0;var e=!1===this.start_status?"start":"stop";this.$store.dispatch("fetchAJAXPromise",{req:"manage_cron",data:{action:e}}).then(function(e){t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},switchTab:function(t){this.$store.commit("setTabView",t)},get_toast_message:function(t){var e=this;if(this.is_loading_logs)return void this.$log.warn("Request in progress...Bail");this.is_loading_logs=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_toast",data:{force:t}}).then(function(t){if(e.$log.info("Succesfully fetched toast log."),e.is_loading_logs=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),t.length)for(var n in t)if("error"===t[n].type){var a={type:t[n].type,show:!0,title:"Error encountered",message:t[n].message};e.$store.commit("updateState",{stateData:a,requestName:"update_toast"})}else"status_error"===t[n].type&&(e.$log.warn("Status is error check logs, global admin notice will be displayed"),e.status_is_error_display=!0)},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t),e.is_loading_logs=!1})}},components:{accounts:o.default,settings:l.default,"accounts-selector":c.default,queue:m.default,logs:p.default,"upsell-sidebar":b.default,toast:v.default,countdown:g.default}}},function(t,e,n){var a,s;n(220),a=n(222),s=n(247),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(221);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .columns.py-2 .text-gray[_v-45c67b1d] {\n margin: 0;\n line-height: normal;\n }\n\n #rop_core .input-group[_v-45c67b1d] {\n width: 100%;\n }\n\n b[_v-45c67b1d] {\n margin-bottom: 5px;\n display: block;\n }\n\n #rop_core .text-gray b[_v-45c67b1d] {\n display: inline;\n }\n\n #rop_core .input-group .input-group-addon[_v-45c67b1d] {\n padding: 3px 5px;\n }\n\n #rop_core .rop-available-accounts h5[_v-45c67b1d] {\n margin-bottom: 15px;\n }\n\n @media ( max-width: 600px ) {\n #rop_core .panel-body .text-gray[_v-45c67b1d] {\n margin-bottom: 10px;\n }\n\n #rop_core .text-right[_v-45c67b1d] {\n text-align: left;\n }\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(85),o=a(r),d=n(227),l=a(d),u=n(232),c=a(u),_=n(237),m=a(_);t.exports={name:"account-view",data:function(){return{addAccountActive:!1,accountsCount:0,is_loading:!1,twitter_warning:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,pro_installed:ropApiSettings.pro_installed,is_preloading:this.$store.state.hide_preloading}},mounted:function(){0===this.is_preloading&&this.page_loader_module_display()},computed:{accounts:function(){var t={},e=0,n=this.$store.state.authenticatedServices;for(var a in n)if(n.hasOwnProperty(a)){var s=n[a];for(var r in s.available_accounts)s.available_accounts.hasOwnProperty(r)&&(t[r]=s.available_accounts[r],"twitter"===s.service&&(e+=(0,i.default)(s.available_accounts).length))}return this.twitter_warning=e>1,this.$log.info("All accounts: ",t),this.$log.debug("Preloading: ",this.$store.state.hide_preloading),this.accountsCount=(0,i.default)(t).length,this.is_preloading=this.$store.state.hide_preloading,t},checkLicense:function(){return this.$store.state.licence<1}},methods:{page_loader_module_display:function(){this.$refs.Preloader.show()},resetAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"reset_accounts",data:{}}).then(function(e){t.is_loading=!1,!0===t.$parent.start_status&&t.$parent.togglePosting(),t.$store.dispatch("fetchAJAXPromise",{req:"get_available_services"}).then(function(e){t.is_loading=!1})},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})}},components:{SignInBtn:o.default,ServiceUserTile:l.default,AddAccountTile:c.default,vue_spinner:m.default}}},function(t,e,n){var a=n(224);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop-sign-in-area .btn[disabled][_v-90680408]{\n\t\tcursor:not-allowed;\n\t\tpointer-events: auto;\n\t\topacity: 0.3;\n\t}\n\t.big-btn#gmb-btn[_v-90680408]{\n\tpadding: 0 35px 0 14px;\n\t}\n\t.btn-gmb[_v-90680408]{\n\ttext-transform: uppercase;\n\t}\n\t#rop_core .btn.btn-buffer[_v-90680408]{\n\t\tdisplay: none;\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(49),o=a(r);t.exports={name:"sign-in-btn",created:function(){},data:function(){return{modal:{isOpen:!1,serviceName:"",description:"",data:{}},showAdvanceConfig:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,activePopup:"",appOrigin:ropAuthAppData.authAppUrl,appPathFB:ropAuthAppData.authAppFacebookPath,appPathTW:ropAuthAppData.authAppTwitterPath,appPathLI:ropAuthAppData.authAppLinkedInPath,appPathBuffer:ropAuthAppData.authAppBufferPath,appPathTumblr:ropAuthAppData.authAppTumblrPath,appPathGmb:ropAuthAppData.authAppGmbPath,appAdminEmail:ropAuthAppData.adminEmail,siteAdminUrl:ropAuthAppData.adminUrl,appUniqueId:ropAuthAppData.authToken,appSignature:ropAuthAppData.authSignature,windowParameters:"top=20,left=100,width=560,height=670",authPopupWindow:null,showLiAppBtn:ropApiSettings.show_li_app_btn,showTmblrAppBtn:ropApiSettings.show_tmblr_app_btn,showBtn:!1}},methods:{getTooltip:function(t,e){if(void 0!==t&&!1===t.active)return this.labels.only_in_pro;var n=0;for(var a in this.$store.state.authenticatedServices)this.$store.state.authenticatedServices[a].service===e&&n++;var s=0;for(var i in this.$store.state.activeAccounts)this.$store.state.activeAccounts[i].service===e&&s++;return void 0!==t&&(t.allowed_accounts<=n||t.allowed_accounts<=s)?this.labels.limit_reached:""},checkDisabled:function(t,e){if(void 0!==t&&!1===t.active)return!0;var n=0;for(var a in this.$store.state.authenticatedServices)this.$store.state.authenticatedServices[a].service===e&&n++;var s=0;for(var i in this.$store.state.activeAccounts)this.$store.state.activeAccounts[i].service===e&&s++;return void 0!==t&&(t.allowed_accounts<=n||t.allowed_accounts<=s)||this.$store.state.auth_in_progress},requestAuthorization:function(t){this.selected_network=t,this.$store.state.auth_in_progress=!0,this.$store.state.availableServices[this.selected_network].two_step_sign_in?(this.modal.serviceName=this.$store.state.availableServices[this.selected_network].name,this.modal.description=this.$store.state.availableServices[this.selected_network].description,this.modal.data=this.$store.state.availableServices[this.selected_network].credentials,this.openModal()):(this.activePopup=this.selected_network,this.getUrlAndGo([]))},openPopup:function(t){this.$log.debug("Opening popup for url ",t),this.$store.commit("logMessage",["Trying to open popup for url:"+t,"notice"]),window.open(t,"_self")},getUrlAndGo:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"get_service_sign_in_url",updateState:!1,data:{service:this.selected_network,credentials:t}}).then(function(t){t.url&&""!=t.url?e.openPopup(t.url):(e.cancelModal(),alert("Could not authenticate, please make sure you entered the correct credentials."))},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},requestAuthentication:function(){this.$store.dispatch("fetchAJAX",{req:"authenticate_service",data:{service:this.selected_network}})},openModal:function(){this.modal.isOpen=!0},closeModal:function(){var t={},e=!0,n=!0,a=!1,s=void 0;try{for(var r,d=(0,o.default)((0,i.default)(this.modal.data));!(n=(r=d.next()).done);n=!0){var l=r.value;t[l]="","value"in this.modal.data[l]&&""!==this.modal.data[l].value?(t[l]=this.modal.data[l].value,this.modal.data[l].error=!1):(this.modal.data[l].error=!0,e=!1)}}catch(t){a=!0,s=t}finally{try{!n&&d.return&&d.return()}finally{if(a)throw s}}if(!e)return void this.$forceUpdate();this.activePopup=this.selected_network,this.getUrlAndGo(t),this.modal.isOpen=!1},cancelModal:function(){this.$store.state.auth_in_progress=!1,this.showAdvanceConfig=!1,this.modal.isOpen=!1},addAccountFB:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_fb",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountTW:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_tw",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountLI:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_li",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountBuffer:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_buffer",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountTumblr:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_tumblr",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},addAccountGmb:function(t){var e=this;this.$store.dispatch("fetchAJAXPromise",{req:"add_account_gmb",updateState:!1,data:t}).then(function(t){window.removeEventListener("message",function(t){return e.getChildWindowMessage(t)}),e.authPopupWindow.close(),window.location.reload()},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},getChildWindowMessage:function(t){~t.origin.indexOf(this.appOrigin)&&("Twitter"===this.modal.serviceName?this.addAccountTW(JSON.parse(t.data)):"Facebook"===this.modal.serviceName?this.addAccountFB(JSON.parse(t.data)):"LinkedIn"===this.modal.serviceName?this.addAccountLI(JSON.parse(t.data)):"Buffer"===this.modal.serviceName?this.addAccountBuffer(JSON.parse(t.data)):"Tumblr"===this.modal.serviceName?this.addAccountTumblr(JSON.parse(t.data)):"Gmb"===this.modal.serviceName&&this.addAccountGmb(JSON.parse(t.data)))},openPopupFB:function(){var t=this,e=this.appOrigin+this.appPathFB+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authFB",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupTW:function(){var t=this,e=this.appOrigin+this.appPathTW+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authTW",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupLI:function(){var t=this,e=this.appOrigin+this.appPathLI+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authLI",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupBuffer:function(){var t=this,e=this.appOrigin+this.appPathBuffer+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authLI",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupTumblr:function(){var t=this,e=this.appOrigin+this.appPathTumblr+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authTmblr",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})},openPopupGmb:function(){var t=this,e=this.appOrigin+this.appPathGmb+"?callback_url="+this.siteAdminUrl+"&token="+this.appUniqueId+"&signature="+this.appSignature+"&data="+this.appAdminEmail;try{this.authPopupWindow.close()}catch(t){}finally{this.authPopupWindow=window.open(e,"authGmb",this.windowParameters),this.cancelModal()}window.addEventListener("message",function(e){return t.getChildWindowMessage(e)})}},computed:{selected_service:function(){return this.services[this.selected_network]},selected_network:{get:function(){var t=this.modal.serviceName;return(0,i.default)(this.services)[0]&&""===t&&(t=(0,i.default)(this.services)[0]),t.toLowerCase()},set:function(t){this.modal.serviceName=t}},services:function(){return this.$store.state.availableServices},modalActiveClass:function(){return{active:!0===this.modal.isOpen}},serviceId:function(){return"service-"+this.modal.serviceName.toLowerCase()},isFacebook:function(){return"Facebook"===this.modal.serviceName},isTwitter:function(){return"Twitter"===this.modal.serviceName},isLinkedIn:function(){return"LinkedIn"===this.modal.serviceName},isBuffer:function(){return"Buffer"===this.modal.serviceName},isTumblr:function(){return"Tumblr"===this.modal.serviceName},isGmb:function(){return"Gmb"===this.modal.serviceName},isPinterest:function(){return"Pinterest"===this.modal.serviceName},isAllowedTumblr:function(){var t=!0;return this.showTmblrAppBtn||(t=!1),t}}}},function(t,e){t.exports='\n\t<div id="rop-sign-in-area" _v-90680408="">\n\t\t<div class="input-group text-right buttons-wrap" _v-90680408="">\n\t\t\t<button v-for="( service, network ) in services" :disabled="checkDisabled( service, network )" :title="getTooltip( service, network )" class="btn input-group-btn" :class="\'btn-\' + network" @click="requestAuthorization( network )" _v-90680408="">\n\t\t\t\t<i v-if="network !== \'buffer\' &amp;&amp; network !== \'gmb\'" class="fa fa-fw" :class="\'fa-\' + network" _v-90680408=""></i>\n\t\t\t\t<i v-if="network === \'buffer\'" class="fa fa-fw fa-plus-square" _v-90680408=""></i>\n\t\t\t\t<i v-if="network === \'gmb\'" class="fa fa-fw fa-google" _v-90680408=""></i>\n\t\t\t\t{{service.name}}\n\t\t\t</button>\n\n\t\t</div>\n\n\t\t<div class="modal" :class="modalActiveClass" _v-90680408="">\n\t\t\t<div class="modal-overlay" _v-90680408=""></div>\n\t\t\t<div class="modal-container" _v-90680408="">\n\t\t\t\t<div class="modal-header" _v-90680408="">\n\t\t\t\t\t<button class="btn btn-clear float-right" @click="cancelModal()" _v-90680408=""></button>\n\t\t\t\t\t<div class="modal-title h5" _v-90680408="">{{ modal.serviceName }} {{labels.service_popup_title}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="modal-body" _v-90680408="">\n\t\t\t\t\t<div class="content" _v-90680408="">\n\t\t\t\t\t\t<div class="auth-app" v-if="isFacebook" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupFB()" _v-90680408="">{{labels.fb_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isTwitter" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupTW()" _v-90680408="">{{labels.tw_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isLinkedIn" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupLI()" _v-90680408="">{{labels.li_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isTumblr &amp;&amp; isAllowedTumblr" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupTumblr()" _v-90680408="">{{labels.tumblr_app_signin_btn}}</button>\n\t\t\t\t\t\t\t<span class="text-center" _v-90680408="">{{labels.app_option_signin}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isBuffer" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" @click="openPopupBuffer()" _v-90680408="">{{labels.buffer_app_signin_btn}}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="auth-app" v-if="isGmb" _v-90680408="">\n\t\t\t\t\t\t\t<button class="btn btn-primary big-btn" id="gmb-btn" @click="openPopupGmb()" _v-90680408="">{{labels.gmb_app_signin_btn}}</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div id="rop-advanced-config" v-if="isFacebook || isTwitter || isLinkedIn || (isTumblr &amp;&amp; isAllowedTumblr)" _v-90680408="">\n\t\t\t\t\t\t<button class="btn btn-primary" v-on:click="showAdvanceConfig = !showAdvanceConfig" _v-90680408="">{{labels.show_advance_config}}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="showAdvanceConfig &amp;&amp; (isFacebook || isTwitter || isLinkedIn || (isTumblr &amp;&amp; isAllowedTumblr) )" _v-90680408="">\n\t\t\t\t\t\t<div class="form-group" v-for="( field, id ) in modal.data" _v-90680408="">\n\t\t\t\t\t\t\t<label class="form-label" :for="field.id" _v-90680408="">{{ field.name }}</label>\n\t\t\t\t\t\t\t<input :class="[ \'form-input\', field.error ? \' is-error\' : \'\' ]" type="text" :id="field.id" v-model="field.value" :placeholder="field.name" _v-90680408="">\n\t\t\t\t\t\t\t<small class="text-error" v-if="field.error" _v-90680408="">{{labels.field_required}}</small>\n\t\t\t\t\t\t\t<p class="text-gray" _v-90680408="">{{ field.description }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="(!isTwitter &amp;&amp; !isFacebook &amp;&amp; !isLinkedIn &amp;&amp; !isBuffer &amp;&amp; !isGmb &amp;&amp; !isTumblr) || (isTumblr &amp;&amp; !isAllowedTumblr)" _v-90680408="">\n\t\t\t\t\t\t<div class="form-group" v-for="( field, id ) in modal.data" _v-90680408="">\n\t\t\t\t\t\t\t<label class="form-label" :for="field.id" _v-90680408="">{{ field.name }}</label>\n\t\t\t\t\t\t\t<input :class="[ \'form-input\', field.error ? \' is-error\' : \'\' ]" type="text" :id="field.id" v-model="field.value" :placeholder="field.name" _v-90680408="">\n\t\t\t\t\t\t\t<small class="text-error" v-if="field.error" _v-90680408="">{{labels.field_required}}</small>\n\t\t\t\t\t\t\t<p class="text-gray" _v-90680408="">{{ field.description }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="isFacebook || isTwitter || isLinkedIn || isBuffer || isGmb || (isTumblr &amp;&amp; isAllowedTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<p class="text-left pull-left mr-2" v-html="labels.rs_app_info" _v-90680408=""></p>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="showAdvanceConfig &amp;&amp; (isFacebook || isTwitter || isLinkedIn || isTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<div class="text-left pull-left mr-2" v-html="modal.description" _v-90680408=""></div>\n\t\t\t\t\t<button class="btn btn-primary" @click="closeModal()" _v-90680408="">{{labels.sign_in_btn}}</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="(!isTwitter &amp;&amp; !isFacebook &amp;&amp; !isLinkedIn &amp;&amp; !isBuffer &amp;&amp; !isGmb &amp;&amp; !isTumblr) || (isTumblr &amp;&amp; !isAllowedTumblr)" class="modal-footer" _v-90680408="">\n\t\t\t\t\t<div class="text-left pull-left mr-2" v-html="modal.description" _v-90680408=""></div>\n\t\t\t\t\t<button class="btn btn-primary" @click="closeModal()" _v-90680408="">{{labels.sign_in_btn}}</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(228),a=n(230),s=n(231),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(229);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.rop-remove-account[_v-1669a290]{\n\t\twidth:15px;\n\t\ttext-align: center;\n\t\tcursor: pointer;\n\t\theight: 100%;\n\t\t-ms-flex: 0 0 auto;\n\t\tline-height: 40px;\n\t\topacity: 1;\n\t\tmargin-left:0;\n\t\ttransition-timing-function: ease-in;\n\t\ttransition: 1s;\n\t\tz-index:9999;\n\t}\n\n",""])},function(t,e,n){"use strict";var a=n(8),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"service-user-tile",props:["account_data","account_id"],data:function(){return{is_loading:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link}},computed:{checkDisabled:function(){if(this.account_data.active)return!1;var t=this.$store.state.availableServices;if(void 0===t[this.account_data.service])return this.$log.info("No available service ",this.account_data.service),!0;if(!1===t[this.account_data.service].active)return this.$log.info("Service is not allowed",this.account_data.service),!0;var e=t[this.account_data.service].allowed_accounts;if("facebook"===this.account_data.service&&this.user.includes("Facebook Group:")&&!this.isPro)return!0;var n=0;for(var a in this.$store.state.activeAccounts)this.$store.state.activeAccounts[a].service===this.account_data.service&&n++;return this.$log.info("Service limit details ",this.account_data.service,e,n),e<=n},isPro:function(){return this.$store.state.licence>0},type:function(){return!0===this.account_data.active?"active":"inactive"},service:function(){var t=this.account_data.service;return t=""!==this.img?t.concat(" ").concat("has_image"):t.concat(" ").concat("no-image")},icon:function(){var t="fa-";return"facebook"===this.account_data.service&&(t=t.concat("facebook")),"twitter"===this.account_data.service&&(t=t.concat("twitter")),"linkedin"===this.account_data.service&&(t=t.concat("linkedin")),"tumblr"===this.account_data.service&&(t=t.concat("tumblr")),"pinterest"===this.account_data.service&&(t=t.concat("pinterest")),t},img:function(){var t="";return""!==this.account_data.img&&void 0!==this.account_data.img&&(t=this.account_data.img),t},user:function(){return this.account_data.user},link:function(){return this.account_data.link},serviceInfo:function(){return this.account_data.account.concat(" "+this.labels.at+": ").concat(this.account_data.created)}},methods:{removeAccount:function(t){var e=this;if(s.default.$log.info("Remove account",t),this.is_loading)return void s.default.$log.warn("Request in progress...Bail...",t);this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"remove_account",data:{account_id:t}}).then(function(t){e.$store.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}).then(function(t){e.is_loading=!1},function(t){e.is_loading=!1}),e.$store.dispatch("fetchAJAXPromise",{req:"get_available_services"}).then(function(t){},function(t){s.default.$log.error("service-user-tile.vue => fetchAJAXPromise::get_available_services issue: ",t)})},function(t){e.is_loading=!1,s.default.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},toggleAccount:function(t,e){var n=this,a=t.split("_");if(3!==a.length)return void s.default.$log.error("Invalid id format for active account ",t);var i=a[0]+"_"+a[1];this.$store.state.authenticatedServices[i].available_accounts[t].active="inactive"!==e,this.$log.info("Before toggle ",this.$store.state.activeAccounts),"inactive"===e?s.default.delete(this.$store.state.activeAccounts,t):s.default.set(this.$store.state.activeAccounts,t,this.$store.state.authenticatedServices[i].available_accounts[t]),this.$store.dispatch("fetchAJAXPromise",{req:"toggle_account",data:{account_id:t,state:e}}).then(function(t){n.$store.dispatch("fetchAJAXPromise",{req:"get_authenticated_services"}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1})},function(t){n.is_loading=!1,s.default.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},startToggleAccount:function(t,e){if(s.default.$log.info("Toggle account",t,e),this.is_loading)return void s.default.$log.warn("Request in progress...Bail...",t,e);this.is_loading=!0,this.toggleAccount(t,e)}}}},function(t,e){t.exports='\n\t<div class="tile tile-centered rop-account" :class="\'rop-\'+type+\'-account\'" _v-1669a290="">\n\n\t\t<div class="tile-icon" _v-1669a290="">\n\t\t\t<div class="icon_box" :class="service" _v-1669a290="">\n\t\t\t\t<img class="service_account_image" :src="img" v-if="img" _v-1669a290="">\n\t\t\t\t<i class="fa " :class="icon" aria-hidden="true" _v-1669a290=""></i>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="tile-content" _v-1669a290="">\n\t\t\t<div class="tile-title" _v-1669a290=""><a :href="link" target="_blank" _v-1669a290="">{{ user }}</a></div>\n\t\t\t<div class="tile-subtitle text-gray" _v-1669a290="">{{ serviceInfo }}</div>\n\t\t</div>\n\t\t<div class="tile-action" _v-1669a290="">\n\t\t\t<div class="form-group" _v-1669a290="">\n\t\t\t\t<label class="form-switch" _v-1669a290="">\n\t\t\t\t\t<div class="ajax-loader " _v-1669a290=""><i class="fa fa-spinner fa-spin" v-show="is_loading" _v-1669a290=""></i></div>\n\t\t\t\t\t<input :disabled="checkDisabled" type="checkbox" v-model="account_data.active" @change="startToggleAccount( account_id, type )" _v-1669a290="">\n\t\t\t\t\t<i class="form-icon" _v-1669a290=""></i>\n\t\t\t\t</label>\n\t\t\t</div>\n\n \t\t<div class="tile-icon rop-remove-account tooltip tooltip-right" @click="removeAccount(account_id) " :data-tooltip="labels.remove_account" v-if=" ! account_data.active" _v-1669a290="">\n\t\t\t<i class="fa fa-trash" v-if=" ! is_loading" _v-1669a290=""></i>\n\t\t\t<i class="fa fa-spinner fa-spin" v-else="" _v-1669a290=""></i>\n\t\t</div>\n\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(233),a=n(235),s=n(236),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(234);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.icon_box[_v-c7c6b28e] {\n\t\tbackground: #efefef;\n\t\tpadding: 0;\n\t\ttransition: .3s ease;\n\t}\n\n\t.icon_box.close .fa[_v-c7c6b28e] {\n\t\tline-height: 1.6em;\n\t}\n\n\t.icon_box.open .fa[_v-c7c6b28e] {\n\t\tline-height: 1.7em;\n\t\twidth: 20px;\n\t\ttransform: rotate(-135deg);\n\t\t-webkit-transform: rotate(-135deg);\n\t}\n\n\t.fa[_v-c7c6b28e] {\n\t\ttransition: all .3s cubic-bezier(.34, 1.61, .7, 1);\n\t}\n\n",""])},function(t,e,n){"use strict";var a=n(85),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"add-account-tile",data:function(){return{addAccountActive:!1,labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,add_more_clicked:!1,added_networks:ropApiSettings.added_networks}},computed:{},components:{SignInBtn:s.default},methods:{addMore:function(){this.add_more_clicked=!0}}}},function(t,e){t.exports='\n\t<div _v-c7c6b28e="">\n\t\t<div class="tile-content" _v-c7c6b28e="">\n\t\t</div>\n\t\t<div class="rop-add-account" _v-c7c6b28e="">\n <button class="btn btn-secondary" v-if="!this.add_more_clicked &amp;&amp; this.added_networks >= 2" @click="addMore()" _v-c7c6b28e="">\n <i class="fa fa-plus" _v-c7c6b28e=""></i>{{labels.add_all_cta}}\n </button>\n\n\t\t\t\t\t<sign-in-btn v-if="this.add_more_clicked || this.added_networks < 2" _v-c7c6b28e=""></sign-in-btn>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(238),a=n(240),s=n(246),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(239);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n .preloader-container[_v-0bef4ce3] {\n position: relative;\n z-index: 9998;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n width: 100%;\n height: 218px;\n background-color: rgba(255, 255, 255, 0.1);\n display: block;\n }\n\n .preloader-body[_v-0bef4ce3] {\n width: 350px;\n height: 80px;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n text-align: center;\n display: block;\n }\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(241),s=function(t){return t&&t.__esModule?t:{default:t}}(a),i={"loader-style":s.default};e.default={name:"vue-spinner",mounted:function(){},props:{spinner_style:{type:String,default:"loader-style"},loading:{type:Boolean,default:!0},color:{type:String,default:"#429bf4"},size:{type:String,default:"30px"},margin:{type:String,default:"2px"},radius:{type:String,default:"100%"},preloader_message:{type:String,default:"Loading..."}},data:function(){return{display_the_preloader:!1,loading_message:this.preloader_message}},components:i,methods:{show:function(){this.display_the_preloader=!0},hide:function(){this.display_the_preloader=!1}}}},function(t,e,n){var a,s;n(242),a=n(244),s=n(245),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(243);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\n .preloader-loading-item .normal-dot[_v-8eaa7080] {\n animation: dot-do-animation 0.7s infinite linear;\n animation-fill-mode: both;\n display: inline-block;\n }\n\n .preloader-loading-item .normal-dot-odd[_v-8eaa7080] {\n animation-delay: 0s;\n }\n\n .preloader-loading-item .normal-dot-even[_v-8eaa7080] {\n animation-delay: 0.50s;\n }\n\n @keyframes dot-do-animation {\n 50% {\n transform: scale(0.75);\n -webkit-opacity: 0.2;\n opacity: 0.2;\n }\n 100% {\n transform: scale(1);\n -webkit-opacity: 1;\n opacity: 1;\n }\n }\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"preload_three_dots",props:{loading:{type:Boolean,default:!0},color:{type:String,default:"#5dc596"},size:{type:String,default:"15px"},margin:{type:String,default:"2px"},radius:{type:String,default:"100%"}},data:function(){return{dot_style:{backgroundColor:this.color,height:this.size,width:this.size,margin:this.margin,borderRadius:this.radius}}}}},function(t,e){t.exports='\n <div class="preloader-loading-item" v-show="loading" _v-8eaa7080="">\n <div class="normal-dot normal-dot-odd" v-bind:style="dot_style" _v-8eaa7080=""></div>\n <div class="normal-dot normal-dot-even" v-bind:style="dot_style" _v-8eaa7080=""></div>\n <div class="normal-dot normal-dot-odd" v-bind:style="dot_style" _v-8eaa7080=""></div>\n </div>\n'},function(t,e){t.exports='\n <transition v-if="display_the_preloader" _v-0bef4ce3="">\n <div class="preloader-container" _v-0bef4ce3="">\n <div class="preloader-body text-center" _v-0bef4ce3="">\n <p class="empty-title h5" v-html="loading_message" _v-0bef4ce3=""></p>\n <component v-bind:is="spinner_style" :loading="loading" :color="color" :size="size" :margin="margin" :radius="radius" _v-0bef4ce3=""></component>\n </div>\n </div>\n </transition>\n'},function(t,e){t.exports='\n <div class="tab-view" _v-45c67b1d="">\n <div class="panel-body" _v-45c67b1d="">\n <div class="toast toast-warning" v-html="labels.twitter_warning" v-if="twitter_warning" _v-45c67b1d="">\n\n </div>\n <div class="container" _v-45c67b1d="">\n <div class="columns" :class="\'rop-tab-state-\'+is_loading" _v-45c67b1d="">\n <div class="column col-sm-12 col-md-12 col-lg-12 text-left rop-available-accounts mt-2" _v-45c67b1d="">\n <vue_spinner :preloader_message="labels.preloader_message_accounts" ref="Preloader" v-if="is_preloading === 0" _v-45c67b1d=""></vue_spinner>\n <div class="empty mb-2" v-if="accountsCount === 0 &amp;&amp; is_preloading > 0" _v-45c67b1d="">\n <div class="empty-icon" _v-45c67b1d="">\n <i class="fa fa-3x fa-user-circle-o" _v-45c67b1d=""></i>\n </div>\n <p class="empty-title h5" _v-45c67b1d="">{{labels.no_accounts}}</p>\n <p class="empty-subtitle" _v-45c67b1d="">{{labels.no_accounts_desc}}</p>\n </div>\n <div class="account-container" v-for="( account, id ) in accounts" v-if="is_preloading > 0" _v-45c67b1d="">\n <service-user-tile :account_data="account" :account_id="id" _v-45c67b1d=""></service-user-tile>\n <span class="divider" _v-45c67b1d=""></span>\n </div>\n <div class="add-accounts" v-if="is_preloading > 0" id="rop-add-account-button" _v-45c67b1d="">\n <add-account-tile _v-45c67b1d=""></add-account-tile>\n <span class="divider" _v-45c67b1d=""></span>\n </div>\n </div>\n </div>\n </div>\n <div class="panel-footer" v-if="is_preloading > 0" _v-45c67b1d="">\n <div class="columns my-2" v-if="checkLicense &amp;&amp; pro_installed" _v-45c67b1d="">\n <div class="column col-12" _v-45c67b1d="">\n <i class="fa fa-info-circle " _v-45c67b1d=""></i> <span v-html="labels.activate_license" _v-45c67b1d=""></span>\n </div>\n </div>\n <div class="columns my-2" v-if="(checkLicense &amp;&amp; accountsCount === 2) &amp;&amp; !pro_installed" _v-45c67b1d="">\n <div class="column col-12" _v-45c67b1d="">\n <p class="upsell" _v-45c67b1d="">\n <i class="fa fa-info-circle " _v-45c67b1d=""></i> <span v-html="labels.upsell_accounts" _v-45c67b1d=""></span>\n </p>\n </div>\n </div>\n <div class="column col-12 text-right" _v-45c67b1d="">\n <button class="btn btn-secondary" @click="resetAccountData()" _v-45c67b1d="">\n <i class="fa fa-ban" v-if="!this.is_loading" _v-45c67b1d=""></i>\n <i class="fa fa-spinner fa-spin" v-else="" _v-45c67b1d=""></i>\n {{labels.remove_all_cta}}\n </button>\n </div>\n </div>\n </div>\n\n </div>\n'},function(t,e,n){var a,s;n(249),a=n(251),s=n(256),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(250);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .panel-body .text-gray[_v-e19866cc] {\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t}\n\n\t#rop_core .input-group[_v-e19866cc] {\n\t\twidth: 100%;\n\t}\n\n\tb[_v-e19866cc] {\n\t\tmargin-bottom: 5px;\n\t\tdisplay: block;\n\t}\n\n\t#rop_core .input-group .input-group-addon[_v-e19866cc] {\n\t\tpadding: 3px 5px;\n\t}\n\n\t@media ( max-width: 600px ) {\n\t\t#rop_core .panel-body .text-gray[_v-e19866cc] {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t#rop_core .text-right[_v-e19866cc] {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n\t.rop-post-type-badge[_v-e19866cc]{\n\t\ttext-align: center;\n\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(86),i=a(s),r=n(52),o=a(r);t.exports={name:"settings-view",data:function(){return{searchQuery:"",postTimeout:"",labels:this.$store.state.labels.settings,upsell_link:ropApiSettings.upsell_link,is_loading:!1,is_taxonomy_message:!1}},computed:{generalSettings:function(){return this.$store.state.generalSettings},isPro:function(){return this.$store.state.licence>=1},isTaxLimit:function(){return ropApiSettings.tax_apply_limit>0},isBiz:function(){return this.$store.state.licence>1},postTypes:function(){return this.$store.state.generalSettings.available_post_types},taxonomies:function(){return this.$store.state.generalSettings.available_taxonomies},checkMediaPostType:function(){var t=this.$store.state.generalSettings.selected_post_types;return void 0!==t&&null!==t&&(!(t.length<0)&&t.map(function(t){return t.value}).indexOf("attachment")>-1)},isInstantShare:function(){return this.$store.state.generalSettings.instant_share},isCustomMsgs:function(){return this.$store.state.generalSettings.custom_messages}},mounted:function(){this.$log.info("In General Settings state "),this.getGeneralSettings()},methods:{displayProMessage:function(t){!this.isPro&&t>=4&&(!0===this.isTaxLimit?this.is_taxonomy_message=!0:this.is_taxonomy_message=!1)},getGeneralSettings:function(){var t=this;0===this.$store.state.generalSettings.length&&(this.is_loading=!0,this.$log.info("Fetching general settings."),this.$store.dispatch("fetchAJAXPromise",{req:"get_general_settings"}).then(function(e){t.is_loading=!1,t.$log.debug("Succesfully fetched.")},function(e){t.is_loading=!1,t.$log.error("Can not fetch the general settings.")}))},searchUpdate:function(t){this.searchQuery=t},updatedPostTypes:function(t){var e=[];for(var n in t)e.push(t[n].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_post_types"}),this.$store.dispatch("fetchAJAX",{req:"get_taxonomies",data:{post_types:e}})},updatedTaxonomies:function(t){var e=[];if(this.isPro||!1===this.isTaxLimit){this.is_taxonomy_message=!1;for(var n in t)e.push(t[n].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_taxonomies"})}else if(t.length>3)this.is_taxonomy_message=!0;else{this.is_taxonomy_message=!1;for(var a in t)e.push(t[a].value);this.$store.commit("updateState",{stateData:t,requestName:"update_selected_taxonomies"})}},saveGeneralSettings:function(){var t=this,e=this.$store.state.generalSettings.selected_post_types,n=this.$store.state.generalSettings.selected_taxonomies,a=this.generalSettings.exclude_taxonomies;this.generalSettings.selected_posts;this.is_loading=!0,this.$log.info("Sending request for saving general settings.."),this.$store.dispatch("fetchAJAXPromise",{req:"save_general_settings",updateState:!1,data:{available_taxonomies:this.generalSettings.available_taxonomies,default_interval:this.generalSettings.default_interval,minimum_post_age:this.generalSettings.minimum_post_age,maximum_post_age:this.generalSettings.maximum_post_age,number_of_posts:this.generalSettings.number_of_posts,more_than_once:this.generalSettings.more_than_once,selected_post_types:e,selected_taxonomies:n,exclude_taxonomies:a,ga_tracking:this.generalSettings.ga_tracking,custom_messages:this.generalSettings.custom_messages,custom_messages_share_order:this.generalSettings.custom_messages_share_order,instant_share:this.generalSettings.instant_share,true_instant_share:this.generalSettings.true_instant_share,instant_share_default:this.generalSettings.instant_share_default,instant_share_future_scheduled:this.generalSettings.instant_share_future_scheduled,housekeeping:this.generalSettings.housekeeping}}).then(function(e){t.is_loading=!1,t.$log.info("Successfully saved general settings.")},function(e){t.$log.error("Successfully saved general settings."),t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})}},components:{counterInput:i.default,MultipleSelect:o.default}}},function(t,e,n){var a=n(253);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .input-group.rop-counter-group {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n\t\n\t#rop_core .btn.increment-btn {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\twidth: 1rem;\n\t\theight: 0.85rem;\n\t\tpadding: 0.025rem 0.010rem;\n\t\tline-height: 0.3rem;\n\t\tz-index: 2;\n\t\tcolor: #ababab;\n\t\tborder-color: #ababab;\n\t}\n\t\n\t#rop_core .btn.increment-btn:hover, #rop_core .btn.increment-btn:active, #rop_core .btn.increment-btn:focus {\n\t\tbackground-color: #00a6e3;\n\t\tcolor: #fff;\n\t\tborder-color: #00a6e3;\n\t}\n\t\n\t#rop_core .btn.increment-btn.up {\n\t\ttop: 0;\n\t}\n\t\n\t#rop_core .btn.increment-btn.down {\n\t\tbottom: 0;\n\t}\n\t\n\tinput.rop-counter::-webkit-inner-spin-button {\n\t\tdisplay: none;\n\t}\n",""])},function(t,e,n){"use strict";var a=null;t.exports={name:"counter-input",props:{id:{default:""},value:{default:0,type:Number},allowNegative:{default:!1,type:Boolean},minVal:{default:0,type:Number},maxVal:{default:0,type:Number}},data:function(){return{pressStartTime:null,incrementUp:0,incrementDown:0,inputValue:0}},computed:{inputValueC:{get:function(){return this.value},set:function(t){this.inputValue=parseFloat(t),this.$emit("update:value",this.inputValue)}}},methods:{updateInput:function(){this.inputValue=this.value.toString(),this.inputValue=parseFloat(this.inputValue);var t=new Date,e=parseInt((t.getTime()-this.pressStartTime.getTime())/1e3),n=e;0===e&&(n=1),n=parseInt(n),1===this.incrementUp&&(this.inputValue+=n,this.inputValue>this.maxVal&&0!==this.maxVal&&(this.inputValue=this.maxVal)),1===this.incrementDown&&(this.inputValue-=n,this.inputValue<0&&!1===this.allowNegative&&(this.inputValue=0),this.inputValue<this.minVal&&(this.inputValue=this.minVal)),this.inputValue=parseFloat(this.inputValue.toFixed(1)),this.$emit("update:value",this.inputValue)},isPressed:function(t){"up"===t?this.incrementUp=1:this.incrementDown=1,this.pressStartTime=new Date,this.updateInput(),a=setInterval(this.updateInput,250)},isReleased:function(t){"up"===t?this.incrementUp=0:this.incrementDown=0,this.pressStartTime=null,clearInterval(a)}}}},function(t,e){t.exports='\n\t<div class="input-group rop-counter-group">\n\t\t<input class="form-input rop-counter" type="text" v-model="inputValueC" :id="id">\n\t\t<button class="btn input-group-btn increment-btn up" @mousedown="isPressed(\'up\')" @mouseup="isReleased(\'up\')"><i\n\t\t\t\tclass="fa fa-fw fa-caret-up"></i></button>\n\t\t<button class="btn input-group-btn increment-btn down" @mousedown="isPressed(\'down\')"\n\t\t @mouseup="isReleased(\'down\')"><i class="fa fa-fw fa-caret-down"></i></button>\n\t</div>\n'},function(t,e){t.exports='\n <div class="tab-view" _v-e19866cc="">\n <div class="panel-body" _v-e19866cc="">\n <div class="container" :class="\'rop-tab-state-\'+is_loading" _v-e19866cc="">\n <div class="columns py-2" v-if="! isBiz" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.min_interval_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.min_interval_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="default_interval" :value.sync="generalSettings.default_interval" _v-e19866cc=""></counter-input>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.min_days_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.min_days_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="min_post_age" :max-val="365" :value.sync="generalSettings.minimum_post_age" _v-e19866cc=""></counter-input>\n </div>\n </div>\n \x3c!-- Max Post Age --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.max_days_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.max_days_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="max_post_age" :max-val="365" :value.sync="generalSettings.maximum_post_age" _v-e19866cc=""></counter-input>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.no_posts_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.no_posts_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <counter-input id="no_of_posts" :value.sync="generalSettings.number_of_posts" _v-e19866cc=""></counter-input>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n \x3c!-- Share more than once --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.share_once_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.share_once_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" id="share_more_than_once" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.more_than_once" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i> {{labels.share_once_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.post_types_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.post_types_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <multiple-select id="rop_post_types" :options="postTypes" :disabled="isPro" :selected="generalSettings.selected_post_types" :changed-selection="updatedPostTypes" _v-e19866cc=""></multiple-select>\n\n <p class="text-primary rop-post-type-badge" v-if="checkMediaPostType " v-html="labels.post_types_attachament_info" _v-e19866cc=""></p>\n </div>\n </div>\n\n <div class="columns " v-if="!isPro" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.post_types_upsell}}</p>\n </div>\n </div>\n\n\t\t\t\t<span class="divider" v-if="!isPro" _v-e19866cc=""></span>\n\n \x3c!-- Taxonomies --\x3e\n\t\t\t\t<div class="columns py-2" v-if="!isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.taxonomies_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.taxonomies_desc" _v-e19866cc=""></span></p>\n </div>\n <div id="rop_taxonomies" class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="input-group" _v-e19866cc="">\n <multiple-select :options="taxonomies" :selected="generalSettings.selected_taxonomies" :changed-selection="updatedTaxonomies" :is_pro_version="isPro" :apply_limit="isTaxLimit" v-on:display-limiter-notice="displayProMessage" _v-e19866cc=""></multiple-select>\n <span class="input-group-addon vertical-align" _v-e19866cc="">\n\t\t\t\t\t\t\t\t<label class="form-checkbox" _v-e19866cc="">\n\t\t\t\t\t\t\t\t\t<input type="checkbox" v-model="generalSettings.exclude_taxonomies" _v-e19866cc="">\n\t\t\t\t\t\t\t\t\t<i class="form-icon" _v-e19866cc=""></i>{{labels.taxonomies_exclude}}\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</span>\n </div>\n <p class="text-primary rop-post-type-badge" v-if="is_taxonomy_message" v-html="labels.post_types_taxonomy_limit" _v-e19866cc=""></p>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n \x3c!-- Google Analytics --\x3e\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.ga_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.ga_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.ga_tracking" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.ga_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.instant_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_instant_share" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.true_instant_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.true_instant_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.true_instant_share" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.true_instant_share_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_default_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.instant_share_default_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share_default" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_default_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" v-if="isInstantShare" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.instant_share_future_scheduled_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.instant_share_future_scheduled_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.instant_share_future_scheduled" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.instant_share_future_scheduled_yes}}\n </label>\n </div>\n </div>\n </div>\n \x3c!-- Upsell --\x3e\n <div class="columns " v-if="!isPro &amp;&amp; isInstantShare" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.instant_share_future_scheduled_upsell}}</p>\n </div>\n </div>\n <span class="divider" v-if="isInstantShare" _v-e19866cc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.custom_share_title}}</b>\n <p class="text-gray" _v-e19866cc=""><span v-html="labels.custom_share_desc" _v-e19866cc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_custom_share_msg" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" :disabled="!isPro" v-model="generalSettings.custom_messages" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.custom_share_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" v-if="isCustomMsgs" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.custom_share_order_title}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.custom_share_order_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label id="rop_custom_share_msg" class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" :disabled="!isPro" v-model="generalSettings.custom_messages_share_order" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.custom_share_order_yes}}\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- Upsell --\x3e\n <div class="columns " v-if="!isPro" _v-e19866cc="">\n <div class="column text-center" _v-e19866cc="">\n <p class="upsell" _v-e19866cc=""><i class="fa fa-lock" _v-e19866cc=""></i> {{labels.custom_share_upsell}}</p>\n </div>\n </div>\n <span class="divider" v-if="isCustomMsgs" _v-e19866cc=""></span>\n\n <div class="columns py-2" _v-e19866cc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-e19866cc="">\n <b _v-e19866cc="">{{labels.housekeeping}}</b>\n <p class="text-gray" _v-e19866cc="">{{labels.housekeeping_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-e19866cc="">\n <div class="form-group" _v-e19866cc="">\n <label class="form-checkbox" _v-e19866cc="">\n <input type="checkbox" v-model="generalSettings.housekeeping" _v-e19866cc="">\n <i class="form-icon" _v-e19866cc=""></i>{{labels.housekeeping_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-e19866cc=""></span>\n\n </div>\n </div>\n <div class="panel-footer text-right" _v-e19866cc="">\n <button class="btn btn-primary" @click="saveGeneralSettings()" _v-e19866cc=""><i class="fa fa-check" v-if="!this.is_loading" _v-e19866cc=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-e19866cc=""></i> {{labels.save}}\n </button>\n </div>\n </div>\n'},function(t,e,n){var a,s;n(258),a=n(260),s=n(285),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(259);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.icon_box[_v-6ded7d15] {\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tpadding: 5px;\n\t}\n\n\t.icon_box.no-image[_v-6ded7d15] {\n\t\tpadding: 0;\n\t}\n\n\t.icon_box.has_image > .fa[_v-6ded7d15] {\n\t\twidth: 15px;\n\t\theight: 15px;\n\t\tpadding: 0;\n\t\tline-height: 15px;\n\t}\n\n\t.icon_box.no-image > .fa[_v-6ded7d15] {\n\t\tfont-size: 20px;\n\t\tbackground: transparent;\n\t\tline-height: 30px;\n\t}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(261),o=a(r),d=n(264),l=a(d),u=n(269),c=a(u),_=n(52),m=a(_);t.exports={name:"account-selector-view",props:{type:{default:function(){return""},type:String}},data:function(){var t=null;return void 0!==(0,i.default)(this.$store.state.activeAccounts)[0]&&(t=(0,i.default)(this.$store.state.activeAccounts)[0]),{selected_account:t,component_label:"",allow_footer:!0,license:this.$store.state.licence,action:"",labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link,is_loading:!1}},mounted:function(){this.setupData()},filters:{capitalize:function(t){return t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""}},computed:{active_data:function(){return"post-format"===this.type?this.$store.state.activePostFormat:"schedule"===this.type?this.$store.state.activeSchedule:[]},accountsCount:function(){return(0,i.default)(this.$store.state.activeAccounts).length},active_accounts:{get:function(){var t=this.$store.state.activeAccounts,e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return this.$log.info("Available accounts",e),e},set:function(t){this.setupData()}},active_account_name:function(){return this.active_accounts[this.selected_account].user}},watch:{type:function(){this.setupData()}},methods:{setupData:function(){var t=this.type.replace("-","_"),e="";"post-format"===this.type&&(e="post format",this.allow_footer=!0),"schedule"===this.type&&(e="schedule",this.allow_footer=this.license>1),this.action=t,this.component_label=e,this.checkActiveData()},getAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");void 0!==this.active_accounts[this.selected_account]&&(this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_"+this.action,data:{}}).then(function(e){t.$log.info("Successfully fetched account data",t.type,t.selected_account),t.is_loading=!1},function(e){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e),t.is_loading=!1}))},saveAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"save_"+this.action,data:{service:this.active_accounts[this.selected_account].service,account_id:this.selected_account,data:this.active_data[this.selected_account]}}).then(function(e){t.is_loading=!1},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)})},getIcon:function(t){var e="fa-";return"facebook"===t.service&&(e=e.concat("facebook")),"twitter"===t.service&&(e=e.concat("twitter")),"linkedin"===t.service&&(e=e.concat("linkedin")),"tumblr"===t.service&&(e=e.concat("tumblr")),"pinterest"===t.service&&(e=e.concat("pinterest")),e},resetAccountData:function(){var t=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"reset_"+this.action,data:{service:this.active_accounts[this.selected_account].service,account_id:this.selected_account}}).then(function(e){t.is_loading=!1,t.$log.info("Succesfully reseted account",t.type)},function(e){t.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",e)}),this.$forceUpdate()},checkActiveData:function(){void 0===this.active_data[this.selected_account]&&this.getAccountData()},setActiveAccount:function(t){return this.is_loading?void this.$log.warn("Request in progress...Bail"):this.selected_account===t?void this.$log.info("Account already active"):(this.$log.info("Switched account data ",this.type,t),this.selected_account=t,void this.checkActiveData())}},components:{"empty-active-accounts":o.default,"post-format":l.default,schedule:c.default,MultipleSelect:m.default}}},function(t,e,n){var a,s;a=n(262),s=n(263),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";t.exports={name:"empty-active-accounts",data:function(){return{labels:this.$store.state.labels.accounts,upsell_link:ropApiSettings.upsell_link}},methods:{goToAccounts:function(){this.$store.commit("setTabView","accounts")}}}},function(t,e){t.exports='\n\t<div class="empty">\n\t\t<div class="empty-icon">\n\t\t\t<i class="fa fa-3x fa-user-circle-o"></i>\n\t\t</div>\n\t\t<p class="empty-title h5">{{labels.no_active_accounts}}</p>\n\t\t<p class="empty-subtitle" v-html="labels.no_active_accounts_desc"></p>\n\t\t<button class="btn btn-primary" @click="goToAccounts()">{{labels.go_to_accounts_btn}}</button>\n\t</div>\n'},function(t,e,n){var a,s;n(265),a=n(267),s=n(268),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(266);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n #rop_core .panel-body .text-gray[_v-2ea0dffc] {\n margin: 0;\n line-height: normal;\n }\n\n b[_v-2ea0dffc] {\n margin-bottom: 5px;\n display: block;\n }\n\n #rop_core .input-group .input-group-addon[_v-2ea0dffc] {\n padding: 3px 5px;\n }\n\n @media ( max-width: 600px ) {\n #rop_core .panel-body .text-gray[_v-2ea0dffc] {\n margin-bottom: 10px;\n }\n\n #rop_core .text-right[_v-2ea0dffc] {\n text-align: left;\n }\n }\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(49),i=a(s),r=n(52),o=a(r);t.exports={name:"post-format",props:["account_id","license"],data:function(){return{labels:this.$store.state.labels.post_format,labels_settings:this.$store.state.labels.settings,upsell_link:ropApiSettings.upsell_link,selected_tax_filter:[]}},created:function(){this.get_taxonomy_list()},methods:{get_taxonomy_list:function(){var t=this;0===this.$store.state.generalSettings.length&&(this.is_loading=!0,this.$log.info("Fetching general settings."),this.$store.dispatch("fetchAJAXPromise",{req:"get_general_settings"}).then(function(e){t.is_loading=!1,t.$log.debug("Succesfully fetched.")},function(e){t.is_loading=!1,t.$log.error("Can not fetch the general settings.")}))},updated_tax_filter:function(t){var e=[];for(var n in t)e.push(t[n].value);var a=[],s=!0,r=!1,o=void 0;try{for(var d,l=(0,i.default)(this.taxonomy);!(s=(d=l.next()).done);s=!0){var u=d.value,c=!0,_=!1,m=void 0;try{for(var f,p=(0,i.default)(e);!(c=(f=p.next()).done);c=!0){var h=f.value;h=parseInt(h);parseInt(u.value)===h&&a.push(u)}}catch(t){_=!0,m=t}finally{try{!c&&p.return&&p.return()}finally{if(_)throw m}}}}catch(t){r=!0,o=t}finally{try{!s&&l.return&&l.return()}finally{if(r)throw o}}this.post_format.taxonomy_filter=a}},computed:{post_format:function(){return this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[]},isPro:function(){return this.license>0},short_url_service:function(){var t=this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[];return t.short_url_service?t.short_url_service:""},taxonomy_filter:function(){var t=this.$store.state.activePostFormat[this.account_id]?this.$store.state.activePostFormat[this.account_id]:[];if(t.taxonomy_filter){var e=0,n=!0,a=!1,s=void 0;try{for(var r,o=(0,i.default)(t.taxonomy_filter);!(n=(r=o.next()).done);n=!0){r.value;t.taxonomy_filter[e].selected=!0,e++}}catch(t){a=!0,s=t}finally{try{!n&&o.return&&o.return()}finally{if(a)throw s}}}return t.taxonomy_filter?t.taxonomy_filter:[]},taxonomy:function(){return this.$store.state.generalSettings.available_taxonomies}},watch:{short_url_service:function(){var t=this;this.$store.dispatch("fetchAJAXPromise",{req:"get_shortner_credentials",data:{short_url_service:this.short_url_service}}).then(function(e){t.post_format.shortner_credentials=e},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})}},filters:{capitalize:function(t){if(!t)return"";t=t.toString().split("_");for(var e="",n=0;n<t.length;n++)e+=t[n].charAt(0).toUpperCase()+t[n].slice(1)+" ";return e}},components:{MultipleSelect:o.default}}},function(t,e){t.exports='\n <div _v-2ea0dffc="">\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.post_content_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.post_content_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.post_content" _v-2ea0dffc="">\n <option value="post_title" _v-2ea0dffc="">{{labels.post_content_option_title}}</option>\n <option value="post_content" _v-2ea0dffc="">{{labels.post_content_option_content}}</option>\n <option value="post_title_content" _v-2ea0dffc="">{{labels.post_content_option_title_content}}</option>\n <option value="custom_field" _v-2ea0dffc="">{{labels.post_content_option_custom_field}}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.post_content === \'custom_field\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.custom_meta_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.custom_meta_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.custom_meta_field" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.max_char_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.max_char_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="number" v-model="post_format.maximum_length" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.add_char_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels.add_char_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n\t\t\t\t\t<textarea class="form-input" v-model="post_format.custom_text" v-bind:placeholder="labels.add_char_placeholder" _v-2ea0dffc="">{{post_format.custom_text}}</textarea>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <p class="text-gray" _v-2ea0dffc="">{{labels.add_pos_title}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.custom_text_pos" _v-2ea0dffc="">\n <option value="beginning" _v-2ea0dffc="">{{labels.add_pos_option_start}}</option>\n <option value="end" _v-2ea0dffc="">{{labels.add_pos_option_end}}</option>\n </select>\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.add_link_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.add_link_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.include_link" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.add_link_yes}}\n </label>\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.meta_link_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.meta_link_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.url_from_meta" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.meta_link_yes}}\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- Custom Field --\x3e\n <div class="columns py-2" v-if="post_format.url_from_meta" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.meta_link_name_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.meta_link_name_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.url_meta_key" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels_settings.taxonomies_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels_settings.taxonomies_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <multiple-select :disabled="!!isPro" :options="taxonomy" :selected="taxonomy_filter" :name="post_format.taxonomy_filter" :changed-selection="updated_tax_filter" :key="this.account_id" _v-2ea0dffc=""></multiple-select>\n <span class="input-group-addon vertical-align" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n\t\t\t\t\t\t <input :disabled="!isPro" type="checkbox" v-model="post_format.exclude_taxonomies" _v-2ea0dffc="">\n\t\t\t\t\t\t\t<i class="form-icon" _v-2ea0dffc=""></i>{{labels_settings.taxonomies_exclude}}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</span>\n </div>\n </div>\n </div>\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.taxonomy_based_sharing_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.use_shortner_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.use_shortner_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.short_url" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.use_shortner_yes}}\n </label>\n </div>\n </div>\n </div>\n <div class="columns py-2" v-if="post_format.short_url" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.shortner_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.shortner_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.short_url_service" _v-2ea0dffc="">\n \x3c!-- rviv.ly currently blacklisted --\x3e\n \x3c!-- <option value="rviv.ly">rviv.ly</option> --\x3e\n <option value="bit.ly" _v-2ea0dffc="">bit.ly</option>\n <option value="firebase" _v-2ea0dffc="">google firebase</option>\n <option value="ow.ly" _v-2ea0dffc="">ow.ly</option>\n <option value="is.gd" _v-2ea0dffc="">is.gd</option>\n <option value="rebrand.ly" _v-2ea0dffc="">rebrand.ly</option>\n <option value="wp_short_url" _v-2ea0dffc="">wp_short_url</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.short_url" v-for="( credential, key_name ) in post_format.shortner_credentials" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{ key_name | capitalize }}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.shortner_field_desc_start}} "{{key_name}}"\n {{labels.shortner_field_desc_end}}\n <strong _v-2ea0dffc="">{{post_format.short_url_service}}</strong> {{labels.shortner_api_field}}.</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.shortner_credentials[key_name]" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hashtags_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hashtags_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <select class="form-select" v-model="post_format.hashtags" _v-2ea0dffc="">\n <option value="no-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_no}}</option>\n <option value="common-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_common}}</option>\n <option value="categories-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_cats}}</option>\n <option value="tags-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_tags}}</option>\n <option value="custom-hashtags" _v-2ea0dffc="">{{labels.hashtags_option_field}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class="columns py-2" v-if="post_format.hashtags === \'common-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hastags_common_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hastags_common_desc}} ",".</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.hashtags_common" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.hashtags === \'custom-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hastags_field_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hastags_field_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="text" v-model="post_format.hashtags_custom" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" v-if="post_format.hashtags !== \'no-hashtags\'" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.hashtags_length_title}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.hashtags_length_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input class="form-input" type="number" v-model="post_format.hashtags_length" value="" placeholder="" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <span class="divider" _v-2ea0dffc=""></span>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.image_title}}</b>\n <p class="text-gray" _v-2ea0dffc=""><span v-html="labels.image_desc" _v-2ea0dffc=""></span></p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align" _v-2ea0dffc="">\n <div class="input-group" _v-2ea0dffc="">\n <label class="form-checkbox" _v-2ea0dffc="">\n <input type="checkbox" v-model="post_format.image" :disabled="!isPro" _v-2ea0dffc="">\n <i class="form-icon" _v-2ea0dffc=""></i> {{labels.image_yes}}\n </label>\n </div>\n </div>\n </div>\n\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.image_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n \x3c!-- Google Analytics --\x3e\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.utm_campaign_medium}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.utm_campaign_medium_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input type="text" :disabled="!isPro" class="form-input" v-model="post_format.utm_campaign_medium" placeholder="social" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n\n <div class="columns py-2" :class="\'rop-control-container-\'+isPro" _v-2ea0dffc="">\n <div class="column col-6 col-sm-12 vertical-align rop-control" _v-2ea0dffc="">\n <b _v-2ea0dffc="">{{labels.utm_campaign_name}}</b>\n <p class="text-gray" _v-2ea0dffc="">{{labels.utm_campaign_name_desc}}</p>\n </div>\n <div class="column col-6 col-sm-12 vertical-align text-left rop-control" _v-2ea0dffc="">\n <div class="form-group" _v-2ea0dffc="">\n <input type="text" :disabled="!isPro" class="form-input" v-model="post_format.utm_campaign_name" placeholder="ReviveOldPost" _v-2ea0dffc="">\n </div>\n </div>\n </div>\n <div class="columns " v-if="!isPro" _v-2ea0dffc="">\n <div class="column text-center" _v-2ea0dffc="">\n <p class="upsell" _v-2ea0dffc=""><i class="fa fa-lock" _v-2ea0dffc=""></i> {{labels.custom_utm_upsell}}</p>\n </div>\n </div>\n <span class="divider" _v-2ea0dffc=""></span>\n </div>\n'},function(t,e,n){var a,s;n(270),a=n(272),s=n(284),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(271);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.rop-control-container-false[_v-07e2d0a2] {\n\t\tcursor:not-allowed !important;\n\t}\n\t#rop_core .panel-body .text-gray[_v-07e2d0a2] {\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t}\n\n\tb[_v-07e2d0a2] {\n\t\tmargin-bottom: 5px;\n\t\tdisplay: block;\n\t}\n\n\t#rop_core .input-group .input-group-addon[_v-07e2d0a2] {\n\t\tpadding: 3px 5px;\n\t}\n\n\t.time-picker[_v-07e2d0a2] {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t@media ( max-width: 600px ) {\n\t\t#rop_core .panel-body .text-gray[_v-07e2d0a2] {\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t#rop_core .text-right[_v-07e2d0a2] {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(75),i=a(s),r=n(273),o=a(r),d=n(86),l=a(d),u=n(0),c=a(u);t.exports={name:"account-schedule",props:["account_id","license"],data:function(){return{days:{Mon:{value:"1",checked:!1},Tue:{value:"2",checked:!1},Wed:{value:"3",checked:!1},Thu:{value:"4",checked:!1},Fri:{value:"5",checked:!1},Sat:{value:"6",checked:!1},Sun:{value:"7",checked:!1}},labels:this.$store.state.labels.schedule,upsell_link:ropApiSettings.upsell_link}},computed:{schedule:function(){return this.$store.state.activeSchedule[this.account_id]?this.$store.state.activeSchedule[this.account_id]:[]},daysObject:function(){var t=this.days;for(var e in t)t[e].checked=this.isChecked(t[e].value);return t},formatedDate:function(){return void 0===this.date_format?"":c.default.utc(this.current_time,"X").format(this.date_format.replace("mm","mm:ss"))},current_time:{get:function(){return this.$store.state.cron_status.current_time},set:function(t){this.$store.state.cron_status.current_time=t}},date_format:function(){return this.$store.state.cron_status.date_format}},methods:{isChecked:function(t){return void 0!==this.schedule.interval_f&&this.schedule.interval_f.week_days.indexOf(t)>-1},getTime:function(t){var e=this.schedule.interval_f.time[t],n=e.split(":");return{HH:n[0],mm:n[1]}},syncTime:function(t,e){void 0!==this.schedule.interval_f.time[e]&&(this.schedule.interval_f.time[e]=t.data.HH+":"+t.data.mm)},addTime:function(){this.schedule.interval_f.time.push("00:00")},rmvTime:function(t){this.schedule.interval_f.time.splice(t,1)},addDay:function(t){this.schedule.interval_f.week_days.push(t)},rmvDay:function(t){var e=this.schedule.interval_f.week_days.indexOf(t);e>-1&&this.schedule.interval_f.week_days.splice(e,1)}},components:{ButtonCheckbox:i.default,CounterInput:l.default,VueTimepicker:o.default}}},function(t,e,n){t.exports=n(274)},function(t,e,n){var a,s;n(275),a=n(278),s=n(281),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(276);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.i(n(277),""),e.push([t.i,"\n",""])},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,".time-picker {\n display: inline-block;\n position: relative;\n font-size: 1em;\n width: 10em;\n font-family: sans-serif;\n vertical-align: middle;\n}\n\n.time-picker * {\n box-sizing: border-box;\n}\n\n.time-picker input.display-time {\n border: 1px solid #d2d2d2;\n width: 10em;\n height: 2.2em;\n padding: 0.3em 0.5em;\n font-size: 1em;\n}\n\n.time-picker .clear-btn {\n position: absolute;\n display: flex;\n flex-flow: column nowrap;\n justify-content: center;\n align-items: center;\n top: 0;\n right: 0;\n bottom: 0;\n margin-top: -0.15em;\n z-index: 3;\n font-size: 1.1em;\n line-height: 1em;\n vertical-align: middle;\n width: 1.3em;\n color: #d2d2d2;\n background: rgba(255,255,255,0);\n text-align: center;\n font-style: normal;\n\n -webkit-transition: color .2s;\n transition: color .2s;\n}\n\n.time-picker .clear-btn:hover {\n color: #797979;\n cursor: pointer;\n}\n\n.time-picker .time-picker-overlay {\n z-index: 2;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.time-picker .dropdown {\n position: absolute;\n z-index: 5;\n top: calc(2.2em + 2px);\n left: 0;\n background: #fff;\n box-shadow: 0 1px 6px rgba(0,0,0,0.15);\n width: 10em;\n height: 10em;\n font-weight: normal;\n}\n\n.time-picker .dropdown .select-list {\n width: 10em;\n height: 10em;\n overflow: hidden;\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n justify-content: space-between;\n}\n\n.time-picker .dropdown ul {\n padding: 0;\n margin: 0;\n list-style: none;\n\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.time-picker .dropdown ul.minutes,\n.time-picker .dropdown ul.seconds,\n.time-picker .dropdown ul.apms{\n border-left: 1px solid #fff;\n}\n\n.time-picker .dropdown ul li {\n text-align: center;\n padding: 0.3em 0;\n color: #161616;\n}\n\n.time-picker .dropdown ul li:not(.hint):hover {\n background: rgba(0,0,0,.08);\n color: #161616;\n cursor: pointer;\n}\n\n.time-picker .dropdown ul li.active,\n.time-picker .dropdown ul li.active:hover {\n background: #41B883;\n color: #fff;\n}\n\n.time-picker .dropdown .hint {\n color: #a5a5a5;\n cursor: default;\n font-size: 0.8em;\n}\n",""])},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=n(18),i=a(s),r=n(279),o=a(r),d={HOUR_TOKENS:["HH","H","hh","h","kk","k"],MINUTE_TOKENS:["mm","m"],SECOND_TOKENS:["ss","s"],APM_TOKENS:["A","a"]};e.default={name:"VueTimepicker",props:{value:{type:Object},hideClearButton:{type:Boolean},format:{type:String},minuteInterval:{type:Number},secondInterval:{type:Number},id:{type:String}},data:function(){return{hours:[],minutes:[],seconds:[],apms:[],showDropdown:!1,muteWatch:!1,hourType:"HH",minuteType:"mm",secondType:"",apmType:"",hour:"",minute:"",second:"",apm:"",fullValues:void 0}},computed:{displayTime:function(){var t=String(this.format||"HH:mm");return this.hour&&(t=t.replace(new RegExp(this.hourType,"g"),this.hour)),this.minute&&(t=t.replace(new RegExp(this.minuteType,"g"),this.minute)),this.second&&this.secondType&&(t=t.replace(new RegExp(this.secondType,"g"),this.second)),this.apm&&this.apmType&&(t=t.replace(new RegExp(this.apmType,"g"),this.apm)),t},showClearBtn:function(){return!!(this.hour&&""!==this.hour||this.minute&&""!==this.minute)}},watch:{format:"renderFormat",minuteInterval:function(t){this.renderList("minute",t)},secondInterval:function(t){this.renderList("second",t)},value:"readValues",displayTime:"fillValues"},methods:{formatValue:function(t,e){switch(t){case"H":case"m":case"s":return String(e);case"HH":case"mm":case"ss":return e<10?"0"+e:String(e);case"h":case"k":return String(e+1);case"hh":case"kk":return e+1<10?"0"+(e+1):String(e+1);default:return""}},checkAcceptingType:function(t,e,n){if(!t||!e||!e.length)return"";for(var a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return t[a];return n||""},renderFormat:function(t){t=t||this.format,t&&t.length||(t="HH:mm"),this.hourType=this.checkAcceptingType(d.HOUR_TOKENS,t,"HH"),this.minuteType=this.checkAcceptingType(d.MINUTE_TOKENS,t,"mm"),this.secondType=this.checkAcceptingType(d.SECOND_TOKENS,t),this.apmType=this.checkAcceptingType(d.APM_TOKENS,t),this.renderHoursList(),this.renderList("minute"),this.secondType&&this.renderList("second"),this.apmType&&this.renderApmList();var e=this;this.$nextTick(function(){e.readValues()})},renderHoursList:function(){var t="h"===this.hourType||"hh"===this.hourType?12:24;this.hours=[];for(var e=0;e<t;e++)this.hours.push(this.formatValue(this.hourType,e))},renderList:function(t,e){if("second"===t)e=e||this.secondInterval;else{if("minute"!==t)return;e=e||this.minuteInterval}0===e?e=60:e>60?(window.console.warn("`"+t+"-interval` should be less than 60. Current value is",e),e=1):e<1?(window.console.warn("`"+t+"-interval` should be NO less than 1. Current value is",e),e=1):e||(e=1),"minute"===t?this.minutes=[]:this.seconds=[];for(var n=0;n<60;n+=e)"minute"===t?this.minutes.push(this.formatValue(this.minuteType,n)):this.seconds.push(this.formatValue(this.secondType,n))},renderApmList:function(){this.apms=[],this.apmType&&(this.apms="A"===this.apmType?["AM","PM"]:["am","pm"])},readValues:function(){if(this.value&&!this.muteWatch){var t=JSON.parse((0,o.default)(this.value||{})),e=(0,i.default)(t);0!==e.length&&(e.indexOf(this.hourType)>-1&&(this.hour=t[this.hourType]),e.indexOf(this.minuteType)>-1&&(this.minute=t[this.minuteType]),e.indexOf(this.secondType)>-1?this.second=t[this.secondType]:this.second=0,e.indexOf(this.apmType)>-1&&(this.apm=t[this.apmType]),this.fillValues())}},fillValues:function(){var t={},e=this.hour,n=this.hourType,a=e||0===e?Number(e):"",s=this.isTwelveHours(n),i=!(!s||!this.apm)&&String(this.apm).toLowerCase();if(d.HOUR_TOKENS.forEach(function(r){if(r===n)return void(t[r]=e);var o=void 0,d=void 0;switch(r){case"H":case"HH":if(!String(a).length)return void(t[r]="");o=s?"pm"===i?a<12?a+12:a:a%12:a%24,t[r]="HH"===r&&o<10?"0"+o:String(o);break;case"k":case"kk":if(!String(a).length)return void(t[r]="");o=s?"pm"===i?a<12?a+12:a:12===a?24:a:0===a?24:a,t[r]="kk"===r&&o<10?"0"+o:String(o);break;case"h":case"hh":if(i)o=a,d=i||"am";else{if(!String(a).length)return t[r]="",t.a="",void(t.A="");a>11?(d="pm",o=12===a?12:a%12):(d=s?"":"am",o=a%12==0?12:a)}t[r]="hh"===r&&o<10?"0"+o:String(o),t.a=d,t.A=d.toUpperCase()}}),this.minute||0===this.minute){var r=Number(this.minute);t.m=String(r),t.mm=r<10?"0"+r:String(r)}else t.m="",t.mm="";if(this.second||0===this.second){var o=Number(this.second);t.s=String(o),t.ss=o<10?"0"+o:String(o)}else t.s="",t.ss="";this.fullValues=t,this.updateTimeValue(t),this.$emit("change",{data:t})},updateTimeValue:function(t){this.muteWatch=!0;var e=this,n=JSON.parse((0,o.default)(this.value||{})),a={};(0,i.default)(n).forEach(function(e){a[e]=t[e]}),this.$emit("input",a),this.$nextTick(function(){e.muteWatch=!1})},isTwelveHours:function(t){return"h"===t||"hh"===t},toggleDropdown:function(){this.showDropdown=!this.showDropdown},select:function(t,e){"hour"===t?this.hour=e:"minute"===t?this.minute=e:"second"===t?this.second=e:"apm"===t&&(this.apm=e)},clearTime:function(){this.hour="",this.minute="",this.second="",this.apm=""}},mounted:function(){this.renderFormat()}}},function(t,e,n){t.exports={default:n(280),__esModule:!0}},function(t,e,n){var a=n(3),s=a.JSON||(a.JSON={stringify:JSON.stringify});t.exports=function(t){return s.stringify.apply(s,arguments)}},function(t,e){t.exports='\n<span class="time-picker">\n <input class="display-time" :id="id" v-model="displayTime" @click.stop="toggleDropdown" type="text" readonly />\n <span class="clear-btn" v-if="!hideClearButton" v-show="!showDropdown && showClearBtn" @click.stop="clearTime">&times;</span>\n <div class="time-picker-overlay" v-if="showDropdown" @click.stop="toggleDropdown"></div>\n <div class="dropdown" v-show="showDropdown">\n <div class="select-list">\n <ul class="hours">\n <li class="hint" v-text="hourType"></li>\n <li v-for="hr in hours" v-text="hr" :class="{active: hour === hr}" @click.stop="select(\'hour\', hr)"></li>\n </ul>\n <ul class="minutes">\n <li class="hint" v-text="minuteType"></li>\n <li v-for="m in minutes" v-text="m" :class="{active: minute === m}" @click.stop="select(\'minute\', m)"></li>\n </ul>\n <ul class="seconds" v-if="secondType">\n <li class="hint" v-text="secondType"></li>\n <li v-for="s in seconds" v-text="s" :class="{active: second === s}" @click.stop="select(\'second\', s)"></li>\n </ul>\n <ul class="apms" v-if="apmType">\n <li class="hint" v-text="apmType"></li>\n <li v-for="a in apms" v-text="a" :class="{active: apm === a}" @click.stop="select(\'apm\', a)"></li>\n </ul>\n </div>\n </div>\n</span>\n'},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){function a(t){return n(s(t))}function s(t){var e=i[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}var i={"./af":87,"./af.js":87,"./ar":88,"./ar-dz":89,"./ar-dz.js":89,"./ar-kw":90,"./ar-kw.js":90,"./ar-ly":91,"./ar-ly.js":91,"./ar-ma":92,"./ar-ma.js":92,"./ar-sa":93,"./ar-sa.js":93,"./ar-tn":94,"./ar-tn.js":94,"./ar.js":88,"./az":95,"./az.js":95,"./be":96,"./be.js":96,"./bg":97,"./bg.js":97,"./bm":98,"./bm.js":98,"./bn":99,"./bn.js":99,"./bo":100,"./bo.js":100,"./br":101,"./br.js":101,"./bs":102,"./bs.js":102,"./ca":103,"./ca.js":103,"./cs":104,"./cs.js":104,"./cv":105,"./cv.js":105,"./cy":106,"./cy.js":106,"./da":107,"./da.js":107,"./de":108,"./de-at":109,"./de-at.js":109,"./de-ch":110,"./de-ch.js":110,"./de.js":108,"./dv":111,"./dv.js":111,"./el":112,"./el.js":112,"./en-SG":113,"./en-SG.js":113,"./en-au":114,"./en-au.js":114,"./en-ca":115,"./en-ca.js":115,"./en-gb":116,"./en-gb.js":116,"./en-ie":117,"./en-ie.js":117,"./en-il":118,"./en-il.js":118,"./en-nz":119,"./en-nz.js":119,"./eo":120,"./eo.js":120,"./es":121,"./es-do":122,"./es-do.js":122,"./es-us":123,"./es-us.js":123,"./es.js":121,"./et":124,"./et.js":124,"./eu":125,"./eu.js":125,"./fa":126,"./fa.js":126,"./fi":127,"./fi.js":127,"./fo":128,"./fo.js":128,"./fr":129,"./fr-ca":130,"./fr-ca.js":130,"./fr-ch":131,"./fr-ch.js":131,"./fr.js":129,"./fy":132,"./fy.js":132,"./ga":133,"./ga.js":133,"./gd":134,"./gd.js":134,"./gl":135,"./gl.js":135,"./gom-latn":136,"./gom-latn.js":136,"./gu":137,"./gu.js":137,"./he":138,"./he.js":138,"./hi":139,"./hi.js":139,"./hr":140,"./hr.js":140,"./hu":141,"./hu.js":141,"./hy-am":142,"./hy-am.js":142,"./id":143,"./id.js":143,"./is":144,"./is.js":144,"./it":145,"./it-ch":146,"./it-ch.js":146,"./it.js":145,"./ja":147,"./ja.js":147,"./jv":148,"./jv.js":148,"./ka":149,"./ka.js":149,"./kk":150,"./kk.js":150,"./km":151,"./km.js":151,"./kn":152,"./kn.js":152,"./ko":153,"./ko.js":153,"./ku":154,"./ku.js":154,"./ky":155,"./ky.js":155,"./lb":156,"./lb.js":156,"./lo":157,"./lo.js":157,"./lt":158,"./lt.js":158,"./lv":159,"./lv.js":159,"./me":160,"./me.js":160,"./mi":161,"./mi.js":161,"./mk":162,"./mk.js":162,"./ml":163,"./ml.js":163,"./mn":164,"./mn.js":164,"./mr":165,"./mr.js":165,"./ms":166,"./ms-my":167,"./ms-my.js":167,"./ms.js":166,"./mt":168,"./mt.js":168,"./my":169,"./my.js":169,"./nb":170,"./nb.js":170,"./ne":171,"./ne.js":171,"./nl":172,"./nl-be":173,"./nl-be.js":173,"./nl.js":172,"./nn":174,"./nn.js":174,"./pa-in":175,"./pa-in.js":175,"./pl":176,"./pl.js":176,"./pt":177,"./pt-br":178,"./pt-br.js":178,"./pt.js":177,"./ro":179,"./ro.js":179,"./ru":180,"./ru.js":180,"./sd":181,"./sd.js":181,"./se":182,"./se.js":182,"./si":183,"./si.js":183,"./sk":184,"./sk.js":184,"./sl":185,"./sl.js":185,"./sq":186,"./sq.js":186,"./sr":187,"./sr-cyrl":188,"./sr-cyrl.js":188,"./sr.js":187,"./ss":189,"./ss.js":189,"./sv":190,"./sv.js":190,"./sw":191,"./sw.js":191,"./ta":192,"./ta.js":192,"./te":193,"./te.js":193,"./tet":194,"./tet.js":194,"./tg":195,"./tg.js":195,"./th":196,"./th.js":196,"./tl-ph":197,"./tl-ph.js":197,"./tlh":198,"./tlh.js":198,"./tr":199,"./tr.js":199,"./tzl":200,"./tzl.js":200,"./tzm":201,"./tzm-latn":202,"./tzm-latn.js":202,"./tzm.js":201,"./ug-cn":203,"./ug-cn.js":203,"./uk":204,"./uk.js":204,"./ur":205,"./ur.js":205,"./uz":206,"./uz-latn":207,"./uz-latn.js":207,"./uz.js":206,"./vi":208,"./vi.js":208,"./x-pseudo":209,"./x-pseudo.js":209,"./yo":210,"./yo.js":210,"./zh-cn":211,"./zh-cn.js":211,"./zh-hk":212,"./zh-hk.js":212,"./zh-tw":213,"./zh-tw.js":213};a.keys=function(){return Object.keys(i)},a.resolve=s,t.exports=a,a.id=283},function(t,e){t.exports='\n\t<div :class="\'rop-control-container-\'+ ( license > 1 ) + \' rop-schedule-tab-container\'" _v-07e2d0a2="">\n\n\t\t<div class="columns py-2 rop-control" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_type_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_type_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<select class="form-select" v-model="schedule.type" _v-07e2d0a2="">\n\t\t\t\t\t\t<option value="recurring" _v-07e2d0a2="">{{labels.schedule_type_option_rec}}</option>\n\t\t\t\t\t\t<option value="fixed" _v-07e2d0a2="">{{labels.schedule_type_option_fix}}</option>\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Fixed Schedule Days --\x3e\n\t\t<div class="columns py-2 rop-control" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_fixed_days_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_fixed_days_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group input-group" _v-07e2d0a2="">\n\t\t\t\t\t<button-checkbox v-for="( data, label ) in daysObject" :key="label" :value="data.value" :label="label" :checked="data.checked" @add-day="addDay" @rmv-day="rmvDay" _v-07e2d0a2=""></button-checkbox>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Fixed Schedule time --\x3e\n\t\t<div class="columns py-2 rop-control" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_fixed_time_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_fixed_time_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<div class="input-group" v-for="( time, index ) in schedule.interval_f.time" _v-07e2d0a2="">\n\t\t\t\t\t\t<vue-timepicker :minute-interval="5" class="timepicker-style-fix" :value="getTime( index )" @change="syncTime( $event, index )" hide-clear-button="" _v-07e2d0a2=""></vue-timepicker>\n\t\t\t\t\t\t<button class="btn btn-danger input-group-btn" v-if="schedule.interval_f.time.length > 1" @click="rmvTime( index )" _v-07e2d0a2="">\n\t\t\t\t\t\t\t<i class="fa fa-fw fa-minus" _v-07e2d0a2=""></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button class="btn btn-success input-group-btn" v-if="index == schedule.interval_f.time.length - 1" @click="addTime()" _v-07e2d0a2="">\n\t\t\t\t\t\t\t<i class="fa fa-fw fa-plus" _v-07e2d0a2=""></i>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Current time --\x3e\n<div class="column col-6 col-sm-12 vertical-align float-right" v-if="schedule.type === \'fixed\'" _v-07e2d0a2="">\n\t\t<div class="toast rop-current-time text-center" v-if="formatedDate" _v-07e2d0a2="">\n\t\t\t\t{{labels.time_now}}: {{ formatedDate }}\n\t\t</div>\n</div>\n\n\t\t<div class="columns py-2 rop-control" v-else="" _v-07e2d0a2="">\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<b _v-07e2d0a2="">{{labels.schedule_rec_title}}</b>\n\t\t\t\t<p class="text-gray" _v-07e2d0a2="">{{labels.schedule_rec_desc}}</p>\n\t\t\t</div>\n\t\t\t<div class="column col-6 col-sm-12 vertical-align" _v-07e2d0a2="">\n\t\t\t\t<div class="form-group" _v-07e2d0a2="">\n\t\t\t\t\t<counter-input id="interval_r" :value.sync="schedule.interval_r" _v-07e2d0a2=""></counter-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Upsell --\x3e\n\t\t<div class="columns py-2" v-if="license < 2" _v-07e2d0a2="">\n\t\t\t<div class="column text-center" _v-07e2d0a2="">\n\t\t\t\t<p class="upsell" _v-07e2d0a2=""><i class="fa fa-lock" _v-07e2d0a2=""></i> {{labels.schedule_upsell}}</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<span class="divider" _v-07e2d0a2=""></span>\n\t</div>\n'},function(t,e){t.exports='\n\t<div class="tab-view" _v-6ded7d15="">\n\t\t<div class="panel-body" _v-6ded7d15="">\n\t\t\t<div class="d-inline-block mt-2 column col-12" _v-6ded7d15="">\n\t\t\t\t<p class="text-gray" _v-6ded7d15=""><i class="fa fa-info-circle" _v-6ded7d15=""></i> <span v-html="labels.accounts_selector" _v-6ded7d15=""></span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<empty-active-accounts v-if="accountsCount === 0" _v-6ded7d15=""></empty-active-accounts>\n\t\t\t<div class="container" v-if="accountsCount > 0" _v-6ded7d15="">\n\t\t\t\t<div class="columns" _v-6ded7d15="">\n\t\t\t\t\t<div class="column col-3 col-sm-12 col-md-12 col-xl-3 col-lg-3 col-xs-12 col-rop-selector-accounts" _v-6ded7d15="">\n\t\t\t\t\t\t<span class="divider" _v-6ded7d15=""></span>\n\t\t\t\t\t\t<div v-for="( account, id ) in active_accounts" _v-6ded7d15="">\n\t\t\t\t\t\t\t<div class="rop-selector-account-container" :class="{active: selected_account===id}" @click="setActiveAccount(id)" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t<div class="tile tile-centered rop-account" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t<div class="tile-icon" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t<div class="icon_box" :class=" (account.img ? \'has_image\' : \'no-image\' ) + \' \' +account.service " _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t\t<img class="service_account_image" :src="account.img" v-if="account.img" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t\t<i class="fa " :class="getIcon(account)" aria-hidden="true" _v-6ded7d15=""></i>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="tile-content" _v-6ded7d15="">\n\t\t\t\t\t\t\t\t\t\t<p class="rop-account-name" _v-6ded7d15="">{{account.user}}</p>\n\t\t\t\t\t\t\t\t\t\t<strong class="rop-service-name" _v-6ded7d15="">{{account.service}}</strong>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class="divider" _v-6ded7d15=""></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-9 col-sm-12 col-md-12 col-xl-9 col-lg-9 col-xs-12" :class="\'rop-tab-state-\'+is_loading" _v-6ded7d15="">\n\t\t\t\t\t\t<component :is="type" :account_id="selected_account" :license="license" _v-6ded7d15=""></component>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="panel-footer" v-if="accountsCount > 0" _v-6ded7d15="">\n\t\t\t<div class="panel-actions text-right" v-if="allow_footer" _v-6ded7d15="">\n\t\t\t\t<button class="btn btn-secondary" @click="resetAccountData()" _v-6ded7d15=""><i class="fa fa-ban" v-if="!this.is_loading" _v-6ded7d15=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-6ded7d15=""></i> {{labels.reset_selector_btn}} {{component_label}}\n\t\t\t\t\t{{labels.for}}\n\t\t\t\t\t<b _v-6ded7d15="">{{active_account_name}}</b>\n\t\t\t\t</button>\n\t\t\t\t<button class="btn btn-primary" @click="saveAccountData()" _v-6ded7d15=""><i class="fa fa-check" v-if="!this.is_loading" _v-6ded7d15=""></i> <i class="fa fa-spinner fa-spin" v-else="" _v-6ded7d15=""></i> {{labels.save_selector_btn}} {{component_label}}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;a=n(287),s=n(293),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(288),o=a(r);t.exports={name:"queue-view",computed:{queueCount:function(){return(0,i.default)(this.$store.state.queue).length},queue:function(){return this.$store.state.queue},start_status:function(){return this.$store.state.cron_status.current_status},is_business:function(){return this.$store.state.licence>1}},data:function(){return{is_loading:!1,labels:this.$store.state.labels.queue,upsell_link:ropApiSettings.upsell_link}},watch:{start_status:function(t){this.refreshQueue()}},mounted:function(){this.start_status&&this.refreshQueue(!1)},methods:{refreshQueue:function(t){var e=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.$store.state.queue=[],this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_queue",data:{force:t}}).then(function(t){e.is_loading=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron"})},function(t){e.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})}},components:{QueueCard:o.default}}},function(t,e,n){var a,s;n(289),a=n(291),s=n(292),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(290);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t.fa[_v-0395a54b] {\n\t\tbackground: transparent;\n\t}\n\t\n\t#rop_core .vertical-align[_v-0395a54b] {\n\t\t-ms-flex-align: end;\n\t\t align-items: flex-end;\n\t}\n\t\n\t#rop_core figure.figure[_v-0395a54b] {\n\t\tmargin: -.7em -2em -1em 0;\n\t}\n\t\n\t@media (max-width: 600px) {\n\t\t#rop_core .vertical-align[_v-0395a54b] {\n\t\t\t-ms-flex-align: center;\n\t\t\t align-items: center;\n\t\t}\n\t\t\n\t\t#rop_core figure.figure[_v-0395a54b] {\n\t\t\tmargin: 10px auto 0;\n\t\t}\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"queue-card",props:{id:{default:""},enabled:{default:!1,type:Boolean},card_data:{default:{},type:Object}},data:function(){return{edit:!1,labels:this.$store.state.labels.queue,upsell_link:ropApiSettings.upsell_link,video_placeholder:ROP_ASSETS_URL+"img/video_placeholder.jpg",is_loading:!1,post_edit:{}}},computed:{content:function(){return void 0!==this.card_data.content?this.card_data.content:{}},active_accounts:function(){return this.$store.state.activeAccounts}},mounted:function(){},watch:{},methods:{skipPost:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="skip",this.$store.dispatch("fetchAJAXPromise",{req:"skip_queue_event",data:{account_id:t,post_id:e}}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},blockPost:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="block",this.$store.dispatch("fetchAJAXPromise",{req:"block_queue_event",data:{account_id:t,post_id:e}}).then(function(t){n.is_loading=!1},function(t){n.is_loading=!1,Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},toggleEditState:function(){this.edit=!this.edit},getAccountName:function(t){return void 0===this.active_accounts[t]?"":this.active_accounts[t].user},checkCount:function(t){this.post_edit.text="",this.post_edit.text!==t.srcElement.value&&(this.post_edit.text=t.srcElement.value)},saveChanges:function(t,e){var n=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading="edit",this.$store.dispatch("fetchAJAXPromise",{req:"update_queue_event",data:{account_id:t,post_id:e,custom_data:this.post_edit}}).then(function(t){n.is_loading=!1,n.toggleEditState()},function(t){n.is_loading=!1,n.toggleEditState(),Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t)})},cancelChanges:function(){this.post_edit={},this.toggleEditState()},uploadImage:function(){var t=wp.media({title:this.labels.insert_media_title,library:{type:"image"},multiple:!1,button:{text:this.labels.insert_media_btn}}),e=this;t.on("select",function(){var n=t.state().get("selection").first().toJSON();e.content.post_image=n.url,e.post_edit.image=n.url}),t.open()},removeImage:function(){var t=this;t.content.post_image=null,t.post_edit.image=null},iconClass:function(t){var e="fa-user";if(null!==t){e="fa-";var n=this.active_accounts[t];void 0!==n&&"facebook"===n.service&&(e=e.concat("facebook facebook")),void 0!==n&&"twitter"===n.service&&(e=e.concat("twitter twitter")),void 0!==n&&"linkedin"===n.service&&(e=e.concat("linkedin linkedin")),void 0!==n&&"tumblr"===n.service&&(e=e.concat("tumblr tumblr")),void 0!==n&&"pinterest"===n.service&&(e=e.concat("pinterest pinterest"))}return e},hashtags:function(t){var e=new RegExp("#\\S+","ig");return t.toString().replace(e,function(t,e,n){return","===t.slice(-1)?"<strong>"+t.substring(0,t.lastIndexOf(","))+"</strong>,":"<strong>"+t+"</strong>"})}}}},function(t,e){t.exports='\n\t<div class="card" _v-0395a54b="">\n\t\t<div class="columns" _v-0395a54b="">\n\t\t\t<div class="column col-sm-12 col-justified" _v-0395a54b="">\n\t\t\t\t<div class="columns" _v-0395a54b="">\n\t\t\t\t\t<div class="column" _v-0395a54b="">\n\t\t\t\t\t\t<p class="text-gray text-left " _v-0395a54b=""><i class="fa fa-clock-o" _v-0395a54b=""></i> {{card_data.date}} <b _v-0395a54b=""><i class="fa fa-at" _v-0395a54b=""></i></b> <i class="service fa" :class="iconClass( card_data.account_id )" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{getAccountName(card_data.account_id)}}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns" v-if="!edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-12" _v-0395a54b="">\n\t\t\t\t\t\t<p v-html="content.content + hashtags( content.hashtags )" _v-0395a54b=""></p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="form-group columns" v-if="edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-12" v-if="content.post_with_image" _v-0395a54b="">\n\t\t\t\t\t\t<label class="form-label" for="image" _v-0395a54b="">{{labels.queue_image}}</label>\n\t\t\t\t\t\t<div class="input-group" _v-0395a54b="">\n\t\t\t\t\t\t\t<span class="input-group-addon" _v-0395a54b=""><i class="fa fa-file-image-o" _v-0395a54b=""></i></span>\n\t\t\t\t\t\t\t<input id="image" type="text" class="form-input" :value="content.post_image" readonly="" _v-0395a54b="">\n\t\t\t\t\t\t\t<button class="btn btn-primary input-group-btn tooltip" @click="uploadImage" :data-tooltip="labels.upload_image" _v-0395a54b="">\n\t\t\t\t\t\t\t\t<i class="fa fa-upload" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button class="btn btn-danger input-group-btn tooltip" @click="removeImage" :data-tooltip="labels.remove_image" _v-0395a54b="">\n\t\t\t\t\t\t\t\t<i class="fa fa-remove" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-12" _v-0395a54b="">\n\t\t\t\t\t\t<label class="form-label" for="content" _v-0395a54b="">{{labels.queue_content}}</label>\n\t\t\t\t\t\t<textarea class="form-input" id="content" placeholder="" rows="3" @keyup="checkCount" _v-0395a54b="">{{content.content}}</textarea>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns col-justified" v-if="!edit" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-warning tooltip tooltip-bottom " @click="skipPost(card_data.account_id, card_data.post_id)" :data-tooltip="labels.reschedule_post" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'skip\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-step-forward" v-else="" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.skip_btn_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-danger tooltip tooltip-bottom " :data-tooltip="labels.ban_post" @click="blockPost(card_data.account_id, card_data.post_id)" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'block\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-ban" aria-hidden="true" v-else="" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.block_btn_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-primary" @click="toggleEditState" v-if="!edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-pencil" aria-hidden="true" _v-0395a54b=""></i> {{labels.edit_queue}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3 col-ml-auto text-right" v-if="content.post_url !== \'\'" _v-0395a54b="">\n\t\t\t\t\t\t<p class="m-0" _v-0395a54b="">\n\t\t\t\t\t\t\t<b _v-0395a54b="">{{labels.link_title}}:</b>\n\t\t\t\t\t\t\t<a :href="content.post_url" target="_blank" class="tooltip" :data-tooltip="labels.link_shortned_start + \' \' + ( content.short_url_service == \'\' ? \'permalink\' : content.short_url_service ) " _v-0395a54b="">\n\t\t\t\t\t\t\t\t{{\'{\' + ( content.short_url_service == \'\' ? \'permalink\' : content.short_url_service ) +\n\t\t\t\t\t\t\t\t\'}\'}}</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="columns" v-else="" _v-0395a54b="">\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-success" @click="saveChanges(card_data.account_id, card_data.post_id)" v-if="edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-if=" is_loading === \'edit\'" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t<i class="fa fa-check" aria-hidden="true" v-else="" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.save_edit}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="column col-3" _v-0395a54b="">\n\t\t\t\t\t\t<button class="btn btn-sm btn-block btn-warning" @click="cancelChanges" v-if="edit" :disabled=" ! enabled" _v-0395a54b="">\n\t\t\t\t\t\t\t<i class="fa fa-times" aria-hidden="true" _v-0395a54b=""></i>\n\t\t\t\t\t\t\t{{labels.cancel_edit}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="column col-4 col-sm-12 vertical-align" v-if="!edit &amp;&amp; content.post_with_image" _v-0395a54b="">\n\t\t\t\t<div v-if="content.post_image !== \'\'" _v-0395a54b="">\n\t\t\t\t\t<figure class="figure" v-if="content.post_image !== \'\'" _v-0395a54b="">\n\t\t\t\t\t\t<img :src="( content.mimetype.type.indexOf(\'image\') > -1 ? content.post_image : video_placeholder )" class="img-fit-cover img-responsive" _v-0395a54b="">\n\t\t\t\t\t</figure>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class="rop-image-placeholder" v-else="" _v-0395a54b="">\n\t\t\t\t\t<summary _v-0395a54b="">\n\t\t\t\t\t\t<i class="fa fa-file-image-o" _v-0395a54b=""></i>\n\t\t\t\t\t\t{{labels.queue_no_image}}\n\t\t\t\t\t</summary>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e){t.exports='\n\t<div class="tab-view rop-queue-tab-container">\n\t\t<div class="panel-body" :class="\'rop-tab-state-\'+is_loading">\n\t\t\t<div class="columns" v-if="! start_status">\n\t\t\t\t<div class="column col-12 text-center empty-container">\n\t\t\t\t\t<div class="empty-icon">\n\t\t\t\t\t\t<i class="fa fa-3x fa-info-circle"></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class="empty-title h5">{{labels.sharing_not_started}}</p>\n\t\t\t\t\t<p class="empty-subtitle">{{labels.sharing_not_started_desc}}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div v-else-if="start_status && queueCount > 0 ">\n\n\t\t\t\t<div class="columns py-2" v-if="! is_business">\n\t\t\t\t\t<div class="column text-center">\n\t\t\t\t\t\t<p class="upsell"><i class="fa fa-lock"></i> <span v-html="labels.biz_only"></span></p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t\x3c!-- When sharing is started but we have the business plan. --\x3e\n\t\t\t\t<div class="d-inline-block mt-2 column col-12">\n\t\t\t\t\t<p class="text-gray info-paragraph"><i class="fa fa-info-circle"></i> {{labels.queue_desc}}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="empty" v-else-if="start_status && queueCount === 0">\n\t\t\t\t<div class="empty-icon">\n\t\t\t\t\t<i class="fa fa-3x fa-info-circle"></i>\n\t\t\t\t</div>\n\t\t\t\t<p class="empty-title h5">{{labels.no_posts}}</p>\n\t\t\t\t<p class="empty-subtitle" v-html="labels.no_posts_desc"></p>\n\t\t\t</div>\n\t\t\t<div class="columns" v-if="start_status && queueCount > 0">\n\t\t\t\t<div class="column col-12 text-left" v-for=" (data, index) in queue ">\n\t\t\t\t\t<queue-card :card_data="data.post_data" :id="index" :enabled="is_business"/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="panel-footer text-rightcade" v-if="start_status">\n\t\t\t<button class="btn btn-secondary" @click="refreshQueue(true)">\n\t\t\t\t<i class="fa fa-refresh" v-if="!is_loading"></i>\n\t\t\t\t<i class="fa fa-spinner fa-spin" v-else></i>\n\t\t\t\t{{labels.refresh_btn}}\n\t\t\t</button>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(295),a=n(297),s=n(298),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(296);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .toast.log-toast p[_v-ed733db4] {\n\t\tmargin: 0px;\n\t\tline-height: inherit;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4]:hover {\n\t\topacity: 0.9;\n\t}\n\n\t#rop_core .toast.log-toast[_v-ed733db4] {\n\t\tpadding: 0.1rem;\n\t\tpadding-left: 10px;\n\t\tmargin-top: 2px;\n\t}\n\n\t#rop_core .container[_v-ed733db4] {\n\t\tmin-height: 400px;\n\t}\n\n\t.columns[_v-ed733db4] {\n\t\tline-break: anywhere;\n\t}\n",""])},function(t,e,n){"use strict";var a=n(0),s=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports={name:"logs-view",props:["model"],data:function(){return{is_loading:!1,labels:this.$store.state.labels.logs,upsell_link:ropApiSettings.upsell_link}},mounted:function(){this.getLogs()},computed:{logs:function(){return this.$store.state.page.logs},logs_no:function(){return this.$store.state.cron_status.logs_number}},watch:{logs_no:function(){this.getLogs()}},methods:{getLogs:function(t){var e=this;if(this.is_loading)return void this.$log.warn("Request in progress...Bail");this.is_loading=!0,this.$store.dispatch("fetchAJAXPromise",{req:"get_log",data:{force:t}}).then(function(n){if(e.$log.info("Succesfully fetched logs."),e.is_loading=!1,e.$store.dispatch("fetchAJAX",{req:"manage_cron",data:{action:"status"}}),!0===t){var a={type:"success",show:!1,title:"",message:""};e.$store.commit("updateState",{stateData:a,requestName:"update_toast"})}},function(t){Vue.$log.error("Got nothing from server. Prompt user to check internet connection and try again",t),e.is_loading=!1})},formatDate:function(t){var e=this.$store.state.cron_status.date_format;return"undefined"===e?"":s.default.utc(t,"X").format(e.replace("mm","mm:ss"))}}}},function(t,e){t.exports='\n\t<div class="tab-view" _v-ed733db4="">\n\t\t<div class="panel-body" _v-ed733db4="">\n\t\t\t<div class=" columns mt-2" v-if="logs_no > 0" _v-ed733db4="">\n\t\t\t\t<div class="column col-12 text-right " _v-ed733db4="">\n\t\t\t\t\t<button class="btn btn-secondary " @click="getLogs(true)" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-remove" v-if="!is_loading" _v-ed733db4=""></i>\n\t\t\t\t\t\t<i class="fa fa-spinner fa-spin" v-else="" _v-ed733db4=""></i>\n\t\t\t\t\t\t{{labels.clear_btn}}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="columns" _v-ed733db4="">\n\t\t\t\t<div class="empty column col-12" v-if="is_loading" _v-ed733db4="">\n\t\t\t\t\t<div class="empty-icon" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-3x fa-spinner fa-spin" _v-ed733db4=""></i>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="empty column col-12" v-else-if="logs_no === 0" _v-ed733db4="">\n\t\t\t\t\t<div class="empty-icon" _v-ed733db4="">\n\t\t\t\t\t\t<i class="fa fa-3x fa-info-circle" _v-ed733db4=""></i>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p class="empty-title h5" _v-ed733db4="">{{labels.no_logs}}</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="column col-12 mt-2" v-for=" (data, index) in logs " v-else-if="logs_no > 0" _v-ed733db4="">\n\t\t\t\t\t<div class="toast log-toast" :class="\'toast-\' + data.type" _v-ed733db4="">\n\t\t\t\t\t\t<small class="pull-right text-right" _v-ed733db4="">{{formatDate ( data.time ) }}</small>\n\t\t\t\t\t\t<p _v-ed733db4="">{{data.message}}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n'},function(t,e,n){var a,s;n(300),a=n(302),s=n(303),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){var a=n(301);"string"==typeof a&&(a=[[t.i,a,""]]);n(2)(a,{});a.locals&&(t.exports=a.locals)},function(t,e,n){e=t.exports=n(1)(),e.push([t.i,"\n\t#rop_core .toast.hidden {\n\t\tdisplay: none;\n\t}\n\t#rop_core .toast {\n\t\tmargin: 10px 0;\n\t}\n",""])},function(t,e,n){"use strict";t.exports={name:"toast",computed:{toast:function(){return this.$store.state.toast},toastTypeClass:function(){return{"toast-primary":"info"===this.toast.type,"toast-success":"success"===this.toast.type,"toast-warning":"warning"===this.toast.type,"toast-error":"error"===this.toast.type,hidden:!1===this.toast.show}},iconClass:function(){return{"fa-info-circle":"info"===this.toast.type,"fa-check-circle":"success"===this.toast.type,"fa-exclamation-triangle":"warning"===this.toast.type,"fa-exclamation-circle":"error"===this.toast.type}}},mounted:function(){},created:function(){},methods:{closeThis:function(){this.toast.show=!1}}}},function(t,e){t.exports='\n\t<div class="toast" :class="toastTypeClass" >\n\t\t<button class="btn btn-clear float-right" @click="closeThis"></button>\n\t\t<b><i class="fa" :class="iconClass"></i> {{ toast.title }}</b><br/>\n\t\t<small>{{ toast.message }}</small>\n\t</div>\n'},function(t,e,n){var a,s;a=n(305),s=n(310),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default),s&&(("function"==typeof t.exports?t.exports.options:t.exports).template=s)},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var s=n(18),i=a(s),r=n(306),o=a(r),d=n(0),l=a(d);n(309),t.exports={name:"cowntdown",props:["current_time"],data:function(){return{now:(0,o.default)((new Date).getTime()/1e3),timediff:"",diff_seconds:0,labels:this.$store.state.labels.general,upsell_link:ropApiSettings.upsell_link}},computed:{toTime:function(){return this.$store.state.cron_status.next_event_on},isOn:function(){return this.$store.state.cron_status.current_status},accounts_no:function(){return(0,i.default)(this.$store.state.activeAccounts).length}},watch:{current_time:function(t){if(this.isOn){var e=l.default.utc(t,"X"),n=l.default.utc(this.toTime,"X"),a=l.default.duration(n.diff(e));this.diff_seconds=a.as("second"),this.diff_seconds>0?this.timediff=a.format("d [days], h [hours], m [minutes], s [seconds]"):(this.$store.dispatch("fetchAJAX",{req:"manage_cron"}),this.timediff=this.labels.sharing_now)}}}}},function(t,e,n){t.exports={default:n(307),__esModule:!0}},function(t,e,n){n(308),t.exports=n(3).Math.trunc},function(t,e,n){var a=n(21);a(a.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var a,s,i;/*! Moment Duration Format v2.2.2
17
  * https://github.com/jsmreese/moment-duration-format
18
  * Date: 2018-02-16
19
  *
includes/admin/class-rop-admin.php CHANGED
@@ -990,7 +990,7 @@ class Rop_Admin {
990
  $service->set_credentials( $account_data['credentials'] );
991
  foreach ( $posts as $post ) {
992
  $post_shared = $account . '_post_id_' . $post;
993
- if ( get_option( 'rop_last_post_shared' ) === $post_shared ) {
994
  $logger->info( ucfirst( $account_data['service'] ) . ': ' . Rop_I18n::get_labels( 'sharing.post_already_shared' ) );
995
  // help prevent duplicate posts on some systems
996
  continue;
990
  $service->set_credentials( $account_data['credentials'] );
991
  foreach ( $posts as $post ) {
992
  $post_shared = $account . '_post_id_' . $post;
993
+ if ( get_option( 'rop_last_post_shared' ) === $post_shared && ROP_DEBUG !== true ) {
994
  $logger->info( ucfirst( $account_data['service'] ) . ': ' . Rop_I18n::get_labels( 'sharing.post_already_shared' ) );
995
  // help prevent duplicate posts on some systems
996
  continue;
includes/admin/class-rop-logger.php CHANGED
@@ -12,9 +12,6 @@
12
  * @subpackage Rop/includes/admin
13
  */
14
 
15
- use Monolog\Formatter\LineFormatter;
16
- use Monolog\Logger;
17
-
18
  /**
19
  * Class Rop_Logger
20
  *
@@ -23,14 +20,6 @@ use Monolog\Logger;
23
  */
24
  class Rop_Logger {
25
 
26
- /**
27
- * An instance of the Logger class.
28
- *
29
- * @since 8.0.0
30
- * @access private
31
- * @var Logger $logger An instance of the Logger class.
32
- */
33
- private $logger;
34
  /**
35
  * An stream class.
36
  *
@@ -49,16 +38,12 @@ class Rop_Logger {
49
  */
50
  public function __construct() {
51
 
52
- $this->stream = new Rop_Log_Handler( 'rop_logs', ( ROP_DEBUG ) ? Logger::DEBUG : Logger::ALERT );
53
- $formatter = new LineFormatter( '%message% %context.extra%' . PHP_EOL, 'd-m-Y H:i:s', false, true );
54
- $this->stream->setFormatter( $formatter );
55
- $this->logger = new Logger( 'rop_logs' );
56
- $this->logger->pushHandler( $this->stream );
57
 
58
  }
59
 
60
  /**
61
- * Logs an info message.
62
  *
63
  * @since 8.0.0
64
  * @access public
@@ -66,12 +51,25 @@ class Rop_Logger {
66
  * @param string $message The message to log.
67
  * @param array $context [optional] A context for the message, if needed.
68
  */
69
- public function info( $message = '', $context = array() ) {
70
- $this->logger->info( $message, $context );
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  }
72
 
73
  /**
74
- * Logs an alert error message.
75
  *
76
  * @since 8.0.0
77
  * @access public
@@ -80,12 +78,25 @@ class Rop_Logger {
80
  * @param array $context [optional] A context for the message, if needed.
81
  */
82
  public function alert_error( $message = '', $context = array() ) {
83
- $context_new = array_merge( array( 'type' => 'error' ), $context );
84
- $this->logger->alert( $message, $context_new );
 
 
 
 
 
 
 
 
 
 
 
 
85
  }
86
 
 
87
  /**
88
- * Logs an alert success message.
89
  *
90
  * @since 8.0.0
91
  * @access public
@@ -93,9 +104,21 @@ class Rop_Logger {
93
  * @param string $message The message to log.
94
  * @param array $context [optional] A context for the message, if needed.
95
  */
96
- public function alert_success( $message = '', $context = array() ) {
97
- $context_new = array_merge( array( 'type' => 'success' ), $context );
98
- $this->logger->alert( $message, $context_new );
 
 
 
 
 
 
 
 
 
 
 
 
99
  }
100
 
101
  /**
@@ -121,32 +144,6 @@ class Rop_Logger {
121
 
122
  }
123
 
124
- /**
125
- * Logs a warning message.
126
- *
127
- * @since 8.0.0
128
- * @access public
129
- *
130
- * @param string $message The message to log.
131
- * @param array $context [optional] A context for the message, if needed.
132
- */
133
- public function warn( $message = '', $context = array() ) {
134
- $this->logger->warn( $message );
135
- }
136
-
137
- /**
138
- * Logs an error message.
139
- *
140
- * @since 8.0.0
141
- * @access public
142
- *
143
- * @param string $message The message to log.
144
- * @param array $context [optional] A context for the message, if needed.
145
- */
146
- public function error( $message = '', $context = array() ) {
147
- $this->logger->error( $message );
148
- }
149
-
150
  /**
151
  * Catches errors and gives a more clear message in return.
152
  *
12
  * @subpackage Rop/includes/admin
13
  */
14
 
 
 
 
15
  /**
16
  * Class Rop_Logger
17
  *
20
  */
21
  class Rop_Logger {
22
 
 
 
 
 
 
 
 
 
23
  /**
24
  * An stream class.
25
  *
38
  */
39
  public function __construct() {
40
 
41
+ $this->stream = new Rop_Log_Handler( 'rop_logs' );
 
 
 
 
42
 
43
  }
44
 
45
  /**
46
+ * Logs a success message.
47
  *
48
  * @since 8.0.0
49
  * @access public
51
  * @param string $message The message to log.
52
  * @param array $context [optional] A context for the message, if needed.
53
  */
54
+ public function alert_success( $message = '', $context = array() ) {
55
+
56
+ if ( ! empty( $context ) ) {
57
+ $message = $message . ' ' . json_encode( $context );
58
+ }
59
+
60
+ $record = array(
61
+ 'channel' => 'rop_logs',
62
+ 'context' => array(
63
+ 'type' => 'success',
64
+ ),
65
+ 'formatted' => $message,
66
+ );
67
+
68
+ $this->stream->write( $record );
69
  }
70
 
71
  /**
72
+ * Logs an error message.
73
  *
74
  * @since 8.0.0
75
  * @access public
78
  * @param array $context [optional] A context for the message, if needed.
79
  */
80
  public function alert_error( $message = '', $context = array() ) {
81
+
82
+ if ( ! empty( $context ) ) {
83
+ $message = $message . ' ' . json_encode( $context );
84
+ }
85
+
86
+ $record = array(
87
+ 'channel' => 'rop_logs',
88
+ 'context' => array(
89
+ 'type' => 'error',
90
+ ),
91
+ 'formatted' => $message,
92
+ );
93
+
94
+ $this->stream->write( $record );
95
  }
96
 
97
+
98
  /**
99
+ * Logs an info message.
100
  *
101
  * @since 8.0.0
102
  * @access public
104
  * @param string $message The message to log.
105
  * @param array $context [optional] A context for the message, if needed.
106
  */
107
+ public function info( $message = '', $context = array() ) {
108
+
109
+ if ( ! empty( $context ) ) {
110
+ $message = $message . ' ' . json_encode( $context );
111
+ }
112
+
113
+ $record = array(
114
+ 'channel' => 'rop_logs',
115
+ 'context' => array(
116
+ 'type' => 'info',
117
+ ),
118
+ 'formatted' => $message,
119
+ );
120
+
121
+ $this->stream->write( $record );
122
  }
123
 
124
  /**
144
 
145
  }
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  /**
148
  * Catches errors and gives a more clear message in return.
149
  *
includes/admin/class-rop-rest-api.php CHANGED
@@ -275,7 +275,7 @@ class Rop_Rest_Api {
275
  // Service not found or can't be built. Maybe log this exception.
276
  $log = new Rop_Logger();
277
  $error_message = sprintf( 'The shortner service %1$s can NOT be built or was not found', $data['short_url_service'] );
278
- $log->warn( $error_message . $exception->getMessage() );
279
  $this->response->set_code( '500' );
280
  }
281
 
@@ -310,7 +310,7 @@ class Rop_Rest_Api {
310
  // Also shorten service not updated at this point.
311
  $log = new Rop_Logger();
312
  $error_message = sprintf( 'The shortner service %1$s can NOT be built or was not found', $data['data']['short_url_service'] );
313
- $log->warn( $error_message . $exception->getMessage() );
314
  $this->response->set_code( '500' );
315
  }
316
  if ( $post_format->add_update_post_format( $data['account_id'], $data['data'] ) ) {
@@ -718,7 +718,7 @@ class Rop_Rest_Api {
718
  } catch ( Exception $exception ) {
719
  // Service can't be built. Not found or otherwise. Maybe log this.
720
  $log = new Rop_Logger();
721
- $log->warn( 'The service "' . $data['service'] . '" can NOT be built or was not found', $exception );
722
 
723
  return null;
724
  }
@@ -784,7 +784,7 @@ class Rop_Rest_Api {
784
  } catch ( Exception $exception ) {
785
  // Service can't be built. Not found or otherwise. Maybe log this.
786
  $log = new Rop_Logger();
787
- $log->warn( 'The service "' . $data['service'] . '" can NOT be built or was not found' . $exception->getMessage() );
788
  $url = '';
789
  }
790
 
275
  // Service not found or can't be built. Maybe log this exception.
276
  $log = new Rop_Logger();
277
  $error_message = sprintf( 'The shortner service %1$s can NOT be built or was not found', $data['short_url_service'] );
278
+ $log->alert_error( $error_message . $exception->getMessage() );
279
  $this->response->set_code( '500' );
280
  }
281
 
310
  // Also shorten service not updated at this point.
311
  $log = new Rop_Logger();
312
  $error_message = sprintf( 'The shortner service %1$s can NOT be built or was not found', $data['data']['short_url_service'] );
313
+ $log->alert_error( $error_message . $exception->getMessage() );
314
  $this->response->set_code( '500' );
315
  }
316
  if ( $post_format->add_update_post_format( $data['account_id'], $data['data'] ) ) {
718
  } catch ( Exception $exception ) {
719
  // Service can't be built. Not found or otherwise. Maybe log this.
720
  $log = new Rop_Logger();
721
+ $log->alert_error( 'The service "' . $data['service'] . '" can NOT be built or was not found', $exception );
722
 
723
  return null;
724
  }
784
  } catch ( Exception $exception ) {
785
  // Service can't be built. Not found or otherwise. Maybe log this.
786
  $log = new Rop_Logger();
787
+ $log->alert_error( 'The service "' . $data['service'] . '" can NOT be built or was not found' . $exception->getMessage() );
788
  $url = '';
789
  }
790
 
includes/admin/helpers/class-rop-log-handler.php CHANGED
@@ -10,13 +10,10 @@
10
  * @since
11
  */
12
 
13
- use Monolog\Handler\AbstractProcessingHandler;
14
- use Monolog\Logger;
15
-
16
  /**
17
  * Class Rop_Log_Handler, procesor for user logs.
18
  */
19
- class Rop_Log_Handler extends AbstractProcessingHandler {
20
  /**
21
  * List of logs.
22
  *
@@ -46,13 +43,9 @@ class Rop_Log_Handler extends AbstractProcessingHandler {
46
  * Rop_Log_Handler constructor.
47
  *
48
  * @param string $option_name Option where to save this.
49
- * @param int $level Level of log.
50
- * @param bool $bubble Bubble.
51
  */
52
- public function __construct( $option_name, $level = Logger::DEBUG, $bubble = true ) {
53
  $this->namespace = $option_name;
54
-
55
- parent::__construct( $level, $bubble );
56
  }
57
 
58
  /**
@@ -76,6 +69,15 @@ class Rop_Log_Handler extends AbstractProcessingHandler {
76
  if ( ! is_array( $current_logs ) ) {
77
  $current_logs = array();
78
  }
 
 
 
 
 
 
 
 
 
79
  self::$current_logs = $current_logs;
80
  $this->initialized = true;
81
  }
@@ -113,14 +115,13 @@ class Rop_Log_Handler extends AbstractProcessingHandler {
113
  *
114
  * @param array $record Record written.
115
  */
116
- protected function write( array $record ) {
117
  if ( ! $this->initialized ) {
118
  $this->initialize();
119
  }
120
  self::$current_logs[] = array(
121
  'channel' => $record['channel'],
122
  'type' => isset( $record['context']['type'] ) ? $record['context']['type'] : 'info',
123
- 'level' => $record['level'],
124
  'message' => $record['formatted'],
125
  'time' => Rop_Scheduler_Model::get_current_time(),
126
  );
10
  * @since
11
  */
12
 
 
 
 
13
  /**
14
  * Class Rop_Log_Handler, procesor for user logs.
15
  */
16
+ class Rop_Log_Handler {
17
  /**
18
  * List of logs.
19
  *
43
  * Rop_Log_Handler constructor.
44
  *
45
  * @param string $option_name Option where to save this.
 
 
46
  */
47
+ public function __construct( $option_name ) {
48
  $this->namespace = $option_name;
 
 
49
  }
50
 
51
  /**
69
  if ( ! is_array( $current_logs ) ) {
70
  $current_logs = array();
71
  }
72
+
73
+ if ( ROP_DEBUG !== true ) {
74
+ foreach ( $current_logs as $key => $log_data ) {
75
+ if ( $log_data['type'] === 'info' ) {
76
+ unset( $current_logs[ $key ] );
77
+ }
78
+ }
79
+ }
80
+
81
  self::$current_logs = $current_logs;
82
  $this->initialized = true;
83
  }
115
  *
116
  * @param array $record Record written.
117
  */
118
+ public function write( array $record ) {
119
  if ( ! $this->initialized ) {
120
  $this->initialize();
121
  }
122
  self::$current_logs[] = array(
123
  'channel' => $record['channel'],
124
  'type' => isset( $record['context']['type'] ) ? $record['context']['type'] : 'info',
 
125
  'message' => $record['formatted'],
126
  'time' => Rop_Scheduler_Model::get_current_time(),
127
  );
includes/admin/models/class-rop-queue-model.php CHANGED
@@ -207,7 +207,7 @@ class Rop_Queue_Model extends Rop_Model_Abstract {
207
 
208
  $post_pool = $this->selector->select( $account_id );
209
  if ( empty( $post_pool ) ) {
210
- $this->logger->error( 'No posts are available to share for your account. Try activating the Share more than once option or changing the minimum and maximum post age setting to widen the pool of available posts.' );
211
  continue;
212
  }
213
  foreach ( $events as $index => $event ) {
207
 
208
  $post_pool = $this->selector->select( $account_id );
209
  if ( empty( $post_pool ) ) {
210
+ $this->logger->alert_error( 'No posts are available to share for your account. Try activating the Share more than once option or changing the minimum and maximum post age setting to widen the pool of available posts.' );
211
  continue;
212
  }
213
  foreach ( $events as $index => $event ) {
includes/class-rop.php CHANGED
@@ -68,7 +68,7 @@ class Rop {
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'rop';
71
- $this->version = '8.5.15';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
@@ -282,7 +282,7 @@ class Rop {
282
  } catch ( Exception $exception ) {
283
  // Service can't be built. Not found or otherwise. Maybe log this.
284
  $log = new Rop_Logger();
285
- $log->warn( 'The service "' . $service . '" can NOT be built or was not found', $exception->getMessage() );
286
  }
287
  }
288
 
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'rop';
71
+ $this->version = '8.5.17';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
282
  } catch ( Exception $exception ) {
283
  // Service can't be built. Not found or otherwise. Maybe log this.
284
  $log = new Rop_Logger();
285
+ $log->alert_error( 'The service "' . $service . '" can NOT be built or was not found', $exception->getMessage() );
286
  }
287
  }
288
 
readme.md CHANGED
@@ -258,6 +258,18 @@ http://revive.social/plugins/revive-old-post
258
 
259
 
260
  ## Changelog ##
 
 
 
 
 
 
 
 
 
 
 
 
261
  ### 8.5.15 - 2020-09-09 ###
262
 
263
  * Change: Require at least PHP 7.1
258
 
259
 
260
  ## Changelog ##
261
+ ### 8.5.17 - 2020-09-24 ###
262
+
263
+ * Dev: Add post-install command to composer.json
264
+
265
+
266
+ ### 8.5.16 - 2020-09-23 ###
267
+
268
+ * Info: Update Google My Business dependency version
269
+ * Info: Update Themeisle SDK dependency version
270
+ * Change: Dropped monolog dependency in favor of custom logging methods
271
+
272
+
273
  ### 8.5.15 - 2020-09-09 ###
274
 
275
  * Change: Require at least PHP 7.1
readme.txt CHANGED
@@ -258,6 +258,18 @@ http://revive.social/plugins/revive-old-post
258
 
259
 
260
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
261
  = 8.5.15 - 2020-09-09 =
262
 
263
  * Change: Require at least PHP 7.1
258
 
259
 
260
  == Changelog ==
261
+ = 8.5.17 - 2020-09-24 =
262
+
263
+ * Dev: Add post-install command to composer.json
264
+
265
+
266
+ = 8.5.16 - 2020-09-23 =
267
+
268
+ * Info: Update Google My Business dependency version
269
+ * Info: Update Themeisle SDK dependency version
270
+ * Change: Dropped monolog dependency in favor of custom logging methods
271
+
272
+
273
  = 8.5.15 - 2020-09-09 =
274
 
275
  * Change: Require at least PHP 7.1
themeisle-hash.json CHANGED
@@ -1 +1 @@
1
- {"class-rop-autoloader.php":"7bfbb1554230d0ace777adb2e42bebeb","index.php":"39ab8276fb0e4bd3fcab3270822c5977","tweet-old-post.php":"c9046f7ad00942e1fca99988fe3b3ec0","uninstall.php":"e64207755b80ae94cbeec36edf9ebd46"}
1
+ {"class-rop-autoloader.php":"7bfbb1554230d0ace777adb2e42bebeb","index.php":"39ab8276fb0e4bd3fcab3270822c5977","tweet-old-post.php":"33dc4948e31b091ae3a85b251ff0fe47","uninstall.php":"e64207755b80ae94cbeec36edf9ebd46"}
tweet-old-post.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: Revive Old Posts
17
  * Plugin URI: https://revive.social/
18
  * Description: WordPress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="http://revive.social/support/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
19
- * Version: 8.5.15
20
  * Author: revive.social
21
  * Author URI: https://revive.social/
22
  * Requires at least: 3.5
@@ -110,7 +110,7 @@ register_deactivation_hook( __FILE__, 'rop_deactivation' );
110
  function run_rop() {
111
 
112
  define( 'ROP_PRO_URL', 'http://revive.social/plugins/revive-old-post/' );
113
- define( 'ROP_LITE_VERSION', '8.5.15' );
114
  define( 'ROP_LITE_BASE_FILE', __FILE__ );
115
  define( 'ROP_DEBUG', false );
116
  define( 'ROP_LITE_PATH', plugin_dir_path( __FILE__ ) );
16
  * Plugin Name: Revive Old Posts
17
  * Plugin URI: https://revive.social/
18
  * Description: WordPress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="http://revive.social/support/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
19
+ * Version: 8.5.17
20
  * Author: revive.social
21
  * Author URI: https://revive.social/
22
  * Requires at least: 3.5
110
  function run_rop() {
111
 
112
  define( 'ROP_PRO_URL', 'http://revive.social/plugins/revive-old-post/' );
113
+ define( 'ROP_LITE_VERSION', '8.5.17' );
114
  define( 'ROP_LITE_BASE_FILE', __FILE__ );
115
  define( 'ROP_DEBUG', false );
116
  define( 'ROP_LITE_PATH', plugin_dir_path( __FILE__ ) );
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit5addd03443a7d2d8e7222a53f7da14a1::getLoader();
vendor/codeinwp/themeisle-sdk/CHANGELOG.md CHANGED
@@ -1,3 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ## [3.1.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.3...v3.1.4) (2019-08-23)
2
 
3
 
1
+ ##### [Version 3.2.15](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.14...v3.2.15) (2020-07-23)
2
+
3
+ * remove no redundant module
4
+
5
+ ##### [Version 3.2.14](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.13...v3.2.14) (2020-06-10)
6
+
7
+ > Things are getting better every day. 🚀
8
+
9
+ ##### [Version 3.2.13](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.12...v3.2.13) (2020-06-10)
10
+
11
+ Adds plan logic and expiration
12
+
13
+ ##### [Version 3.2.12](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.11...v3.2.12) (2020-06-10)
14
+
15
+ Adds key filter
16
+
17
+ ##### [Version 3.2.11](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.10...v3.2.11) (2020-06-04)
18
+
19
+ * remove non-printable chars
20
+
21
+ ##### [Version 3.2.10](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.9...v3.2.10) (2020-05-28)
22
+
23
+ * Remove extra files on export
24
+
25
+ ##### [Version 3.2.9](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.8...v3.2.9) (2020-05-18)
26
+
27
+ adds new endpoints
28
+
29
+ ##### [Version 3.2.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.7...v3.2.8) (2020-03-24)
30
+
31
+ * change license handler method access
32
+
33
+ ##### [Version 3.2.7](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.6...v3.2.7) (2020-03-24)
34
+
35
+ * fix callback for license processing hook
36
+
37
+ ##### [Version 3.2.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.5...v3.2.6) (2020-03-23)
38
+
39
+ * Fix notice on license deactivation
40
+
41
+ ##### [Version 3.2.5](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.4...v3.2.5) (2020-03-23)
42
+
43
+ * always load notification manager last
44
+
45
+ ##### [Version 3.2.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.3...v3.2.4) (2020-03-21)
46
+
47
+ * Cast version response to array for icons
48
+
49
+ ##### [Version 3.2.3](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.2...v3.2.3) (2020-03-21)
50
+
51
+ * use product slug instead of the one from api
52
+
53
+ ##### [Version 3.2.2](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.1...v3.2.2) (2020-03-13)
54
+
55
+ * improve notice dismiss mechanism
56
+
57
+ ##### [Version 3.2.1](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.0...v3.2.1) (2020-03-05)
58
+
59
+ Fix rollback call for private products
60
+
61
+ #### [Version 3.2.0](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.9...v3.2.0) (2020-03-04)
62
+
63
+ * adds license activation/deactivation handlers for wp cli
64
+ * adds compatibility with the newest license API
65
+
66
+ ##### [Version 3.1.9](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.8...v3.1.9) (2020-02-24)
67
+
68
+ * Add integration with GitHub actions
69
+
70
+ ## [3.1.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.7...v3.1.8) (2019-11-18)
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * update developers name ([6aca63e](https://github.com/Codeinwp/themeisle-sdk/commit/6aca63e))
76
+
77
+ ## [3.1.7](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.6...v3.1.7) (2019-11-07)
78
+
79
+
80
+ ### Bug Fixes
81
+
82
+ * license field style on wp5.3 ([0239997](https://github.com/Codeinwp/themeisle-sdk/commit/0239997))
83
+ * license field style on wp5.3 ([86d3a1b](https://github.com/Codeinwp/themeisle-sdk/commit/86d3a1b))
84
+
85
+ ## [3.1.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.5...v3.1.6) (2019-09-24)
86
+
87
+
88
+ ### Bug Fixes
89
+
90
+ * remove license related options when deactivated ([02cd6ce](https://github.com/Codeinwp/themeisle-sdk/commit/02cd6ce))
91
+ * remove license related options when deactivated ([d3c1a1f](https://github.com/Codeinwp/themeisle-sdk/commit/d3c1a1f))
92
+
93
+ ## [3.1.5](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.4...v3.1.5) (2019-09-11)
94
+
95
+
96
+ ### Bug Fixes
97
+
98
+ * allow unloading certain module features ([2a2559a](https://github.com/Codeinwp/themeisle-sdk/commit/2a2559a))
99
+ * license activation workflow, show error message when failed to a… ([ade795c](https://github.com/Codeinwp/themeisle-sdk/commit/ade795c))
100
+ * license activation workflow, show error message when failed to activate ([2f5cbae](https://github.com/Codeinwp/themeisle-sdk/commit/2f5cbae))
101
+
102
  ## [3.1.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.1.3...v3.1.4) (2019-08-23)
103
 
104
 
vendor/codeinwp/themeisle-sdk/load.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  return;
15
  }
16
  // Current SDK version and path.
17
- $themeisle_sdk_version = '3.1.4';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
14
  return;
15
  }
16
  // Current SDK version and path.
17
+ $themeisle_sdk_version = '3.2.15';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
vendor/codeinwp/themeisle-sdk/src/Loader.php CHANGED
@@ -50,12 +50,11 @@ final class Loader {
50
  'rollback',
51
  'uninstall_feedback',
52
  'licenser',
53
- 'endpoint',
54
- 'notification',
55
  'logger',
56
  'translate',
57
  'review',
58
  'recommendation',
 
59
 
60
  ];
61
 
@@ -75,6 +74,28 @@ final class Loader {
75
  }
76
  }
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  /**
79
  * Register product into SDK.
80
  *
50
  'rollback',
51
  'uninstall_feedback',
52
  'licenser',
 
 
53
  'logger',
54
  'translate',
55
  'review',
56
  'recommendation',
57
+ 'notification',
58
 
59
  ];
60
 
74
  }
75
  }
76
 
77
+ /**
78
+ * Get cache token used in API requests.
79
+ *
80
+ * @return string Cache token.
81
+ */
82
+ public static function get_cache_token() {
83
+ $cache_token = get_transient( 'themeisle_sdk_cache_token' );
84
+ if ( false === $cache_token ) {
85
+ $cache_token = wp_generate_password( 6, false );
86
+ set_transient( $cache_token, WEEK_IN_SECONDS );
87
+ }
88
+
89
+ return $cache_token;
90
+ }
91
+
92
+ /**
93
+ * Clear cache token.
94
+ */
95
+ public static function clear_cache_token() {
96
+ delete_transient( 'themeisle_sdk_cache_token' );
97
+ }
98
+
99
  /**
100
  * Register product into SDK.
101
  *
vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php CHANGED
@@ -72,7 +72,9 @@ class Dashboard_Widget extends Abstract_Module {
72
  * @return Dashboard_Widget Module instance.
73
  */
74
  public function load( $product ) {
75
-
 
 
76
  $this->product = $product;
77
  $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
78
  $this->feeds = apply_filters(
72
  * @return Dashboard_Widget Module instance.
73
  */
74
  public function load( $product ) {
75
+ if ( apply_filters( 'themeisle_sdk_hide_dashboard_widget', false ) ) {
76
+ return;
77
+ }
78
  $this->product = $product;
79
  $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
80
  $this->feeds = apply_filters(
vendor/codeinwp/themeisle-sdk/src/Modules/Endpoint.php DELETED
@@ -1,358 +0,0 @@
1
- <?php
2
- /**
3
- * The class that exposes endpoints.
4
- *
5
- * @package ThemeIsleSDK
6
- * @subpackage Rollback
7
- * @copyright Copyright (c) 2017, Marius Cristea
8
- * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
- * @since 1.0.0
10
- */
11
-
12
- namespace ThemeisleSDK\Modules;
13
-
14
- // Exit if accessed directly.
15
- use ThemeisleSDK\Common\Abstract_Module;
16
- use ThemeisleSDK\Loader;
17
- use ThemeisleSDK\Product;
18
-
19
- if ( ! defined( 'ABSPATH' ) ) {
20
- exit;
21
- }
22
-
23
- /**
24
- * Expose endpoints for ThemeIsle SDK.
25
- */
26
- class Endpoint extends Abstract_Module {
27
- /**
28
- * Endpoint slug.
29
- */
30
- const SDK_ENDPOINT = 'themeisle-sdk';
31
- /**
32
- * Endpoint version.
33
- */
34
- const SDK_ENDPOINT_VERSION = 1;
35
- /**
36
- * Hash file which contains the checksum.
37
- */
38
- const HASH_FILE = 'themeisle-hash.json';
39
-
40
- /*
41
- * If true, the endpoint will expect a product slug and will return the value only for that.
42
- */
43
- const PRODUCT_SPECIFIC = false;
44
-
45
- /**
46
- * Registers the endpoints.
47
- */
48
- function rest_register() {
49
- register_rest_route(
50
- self::SDK_ENDPOINT . '/v' . self::SDK_ENDPOINT_VERSION,
51
- '/checksum/' . ( self::PRODUCT_SPECIFIC ? '(?P<slug>.*)/' : '' ),
52
- array(
53
- 'methods' => 'GET',
54
- 'callback' => array( $this, 'checksum' ),
55
- )
56
- );
57
- }
58
-
59
- /**
60
- * The checksum endpoint.
61
- *
62
- * @param \WP_REST_Request $data the request.
63
- *
64
- * @return \WP_REST_Response Response or the error
65
- */
66
- function checksum( \WP_REST_Request $data ) {
67
- $products = Loader::get_products();
68
- if ( self::PRODUCT_SPECIFIC ) {
69
- $params = $this->validate_params( $data, array( 'slug' ) );
70
- foreach ( $products as $product ) {
71
- if ( $params['slug'] === $product->get_slug() ) {
72
- $products = array( $product );
73
- break;
74
- }
75
- }
76
- }
77
- $response = array();
78
- $custom_css = $this->has_custom_css();
79
- if ( is_bool( $custom_css ) ) {
80
- $response['custom_css'] = $custom_css;
81
- }
82
-
83
- $response['child_theme'] = $this->get_theme_properties();
84
-
85
- foreach ( $products as $product ) {
86
- $files = array();
87
- switch ( $product->get_type() ) {
88
- case 'plugin':
89
- $files = array();
90
- break;
91
- case 'theme':
92
- $files = array( 'style.css', 'functions.php' );
93
- break;
94
- }
95
-
96
- $error = '';
97
-
98
- // if any element in the $files array contains a '/', this would imply recursion is required.
99
- $diff = $this->generate_diff(
100
- $product,
101
- $files,
102
- array_reduce(
103
- $files,
104
- array(
105
- $this,
106
- 'is_recursion_required',
107
- ),
108
- false
109
- )
110
- );
111
- if ( is_wp_error( $diff ) ) {
112
- /**
113
- * Error returner by the diff checker method.
114
- *
115
- * @var \WP_Error $diff Error returned.
116
- */
117
- $error = $diff->get_error_message();
118
- $diff = array();
119
- }
120
-
121
- $response['products'][] = array(
122
- 'slug' => $product->get_slug(),
123
- 'version' => $product->get_version(),
124
- 'diffs' => $diff,
125
- 'error' => $error,
126
- );
127
- }
128
-
129
- return new \WP_REST_Response( array( 'checksum' => $response ) );
130
- }
131
-
132
- /**
133
- * Validates the parameters to the API
134
- *
135
- * @param \WP_REST_Request $data the request.
136
- * @param array $params the parameters to validate.
137
- *
138
- * @return array of parameter name=>value
139
- */
140
- private function validate_params( \WP_REST_Request $data, $params ) {
141
- $collect = array();
142
- foreach ( $params as $param ) {
143
- $value = sanitize_text_field( $data[ $param ] );
144
- if ( empty( $value ) ) {
145
- return rest_ensure_response(
146
- new \WP_Error(
147
- 'themeisle_' . $param . '_invalid',
148
- sprintf( 'Invalid %', $param ),
149
- array(
150
- 'status' => 403,
151
- )
152
- )
153
- );
154
- } else {
155
- $collect[ $param ] = $value;
156
- }
157
- }
158
-
159
- return $collect;
160
- }
161
-
162
- /**
163
- * Check if custom css has been added to the theme.
164
- *
165
- * @return bool Whether custom css has been added to the theme.
166
- */
167
- private function has_custom_css() {
168
- $query = new \WP_Query(
169
- array(
170
- 'post_type' => 'custom_css',
171
- 'post_status' => 'publish',
172
- 'numberposts' => 1,
173
- 'update_post_meta_cache' => false,
174
- 'update_post_term_cache' => false,
175
- )
176
- );
177
-
178
- if ( $query->have_posts() ) {
179
- $query->the_post();
180
- $content = get_the_content();
181
-
182
- // if the content contains a colon, a CSS rule has been added.
183
- return strpos( $content, ':' ) === false ? false : true;
184
- }
185
-
186
- return false;
187
- }
188
-
189
- /**
190
- * Get the current theme properties.
191
- *
192
- * @return mixed Properties of the current theme.
193
- */
194
- function get_theme_properties() {
195
- if ( ! is_child_theme() ) {
196
- return false;
197
- }
198
-
199
- $properties = array();
200
- $theme = wp_get_theme();
201
- // @codingStandardsIgnoreStart
202
- $properties['name'] = $theme->Name;
203
- // @codingStandardsIgnoreEnd
204
-
205
- // get the files in the child theme.
206
- require_once( ABSPATH . 'wp-admin/includes/file.php' );
207
- WP_Filesystem();
208
- global $wp_filesystem;
209
- $path = str_replace( ABSPATH, $wp_filesystem->abspath(), get_stylesheet_directory() );
210
- $list = $wp_filesystem->dirlist( $path, false, false );
211
- if ( $list ) {
212
- $list = array_keys( self::flatten_dirlist( $list ) );
213
- $properties['files'] = $list;
214
- }
215
-
216
- return $properties;
217
- }
218
-
219
- /**
220
- * Flatten the results of WP_Filesystem::dirlist() for iterating over.
221
- *
222
- * @access private
223
- *
224
- * @param array $nested_files Array of files as returned by WP_Filesystem::dirlist().
225
- * @param string $path Relative path to prepend to child nodes. Optional.
226
- *
227
- * @return array $files A flattened array of the $nested_files specified.
228
- */
229
- private static function flatten_dirlist( $nested_files, $path = '' ) {
230
- $files = array();
231
- foreach ( $nested_files as $name => $details ) {
232
- $files[ $path . $name ] = $details;
233
- // Append children recursively.
234
- if ( ! empty( $details['files'] ) ) {
235
- $children = self::flatten_dirlist( $details['files'], $path . $name . '/' );
236
- // Merge keeping possible numeric keys, which array_merge() will reindex from 0..n.
237
- $files = $files + $children;
238
- }
239
- }
240
-
241
- return $files;
242
- }
243
-
244
- /**
245
- * Generate the diff of the files.
246
- *
247
- * @param Product $product Themeisle Product.
248
- * @param array $files Array of files.
249
- * @param bool $recurse Whether to recurse or not.
250
- *
251
- * @return mixed Diff data.
252
- */
253
- private function generate_diff( $product, $files, $recurse = false ) {
254
- require_once( ABSPATH . 'wp-admin/includes/file.php' );
255
- WP_Filesystem();
256
- global $wp_filesystem;
257
-
258
- $diff = array();
259
- $path = str_replace( ABSPATH, $wp_filesystem->abspath(), plugin_dir_path( $product->get_basefile() ) );
260
- $list = $wp_filesystem->dirlist( $path, false, $recurse );
261
- // nothing found.
262
- if ( ! $list ) {
263
- return $diff;
264
- }
265
- $list = array_keys( self::flatten_dirlist( $list ) );
266
-
267
- // now let's get the valid files that actually exist.
268
- if ( empty( $files ) ) {
269
- $files = $list;
270
- } else {
271
- $files = array_intersect( $files, $list );
272
- }
273
-
274
- // fetch the calculated hashes.
275
- if ( ! $wp_filesystem->is_readable( $path . '/' . self::HASH_FILE ) ) {
276
- return new \WP_Error( 'themeisle_sdk_hash_not_found', sprintf( '%s not found', self::HASH_FILE ) );
277
- }
278
-
279
- $hashes = json_decode( $wp_filesystem->get_contents( $path . '/' . self::HASH_FILE ), true );
280
- ksort( $hashes );
281
-
282
- $diff = array();
283
- foreach ( $files as $file ) {
284
- // file does not exist in the hashes.
285
- if ( ! array_key_exists( $file, $hashes ) ) {
286
- continue;
287
- }
288
- $new = md5( $wp_filesystem->get_contents( $path . $file ) );
289
- $old = $hashes[ $file ];
290
-
291
- // same hash, bail.
292
- if ( $new === $old ) {
293
- continue;
294
- }
295
- $diff[] = $file;
296
- }
297
-
298
- return $diff;
299
- }
300
-
301
- /**
302
- * Check if recursion needs to be enabled on the WP_Filesystem by reducing the array of files to a boolean.
303
- *
304
- * @param string $carry Value of the previous iteration.
305
- * @param string $item Value of the current iteration.
306
- *
307
- * @return bool Whether to recurse or not.
308
- */
309
- function is_recursion_required( $carry, $item ) {
310
- if ( ! $carry ) {
311
- return ( strpos( $item, '/' ) !== false );
312
- }
313
-
314
- return $carry;
315
- }
316
-
317
- /**
318
- * Load module for this product.
319
- *
320
- * @param Product $product Product to check.
321
- *
322
- * @return bool Should we load this?
323
- */
324
- public function can_load( $product ) {
325
- return true;
326
- }
327
-
328
- /**
329
- * Load module logic.
330
- *
331
- * @param Product $product Product to load.
332
- */
333
- public function load( $product ) {
334
- $this->setup_endpoints();
335
-
336
- return $this;
337
- }
338
-
339
- /**
340
- * Setup endpoints.
341
- */
342
- private function setup_endpoints() {
343
- global $wp_version;
344
- if ( version_compare( $wp_version, '4.4', '<' ) ) {
345
- // no REST support.
346
- return;
347
- }
348
-
349
- $this->setup_rest();
350
- }
351
-
352
- /**
353
- * Setup REST endpoints.
354
- */
355
- private function setup_rest() {
356
- add_action( 'rest_api_init', array( $this, 'rest_register' ) );
357
- }
358
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php CHANGED
@@ -13,6 +13,7 @@ namespace ThemeisleSDK\Modules;
13
 
14
  // Exit if accessed directly.
15
  use ThemeisleSDK\Common\Abstract_Module;
 
16
  use ThemeisleSDK\Product;
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
@@ -55,6 +56,13 @@ class Licenser extends Abstract_Module {
55
  */
56
  private $product_key;
57
 
 
 
 
 
 
 
 
58
  /**
59
  * Disable wporg updates for premium products.
60
  *
@@ -89,6 +97,9 @@ class Licenser extends Abstract_Module {
89
  if ( ! is_admin() ) {
90
  return false;
91
  }
 
 
 
92
  add_settings_field(
93
  $this->product->get_key() . '_license',
94
  $this->product->get_name() . ' license',
@@ -109,6 +120,7 @@ class Licenser extends Abstract_Module {
109
  $valid_string = apply_filters( $this->product->get_key() . '_lc_valid_string', 'Valid' );
110
  $invalid_string = apply_filters( $this->product->get_key() . '_lc_invalid_string', 'Invalid' );
111
  $license_message = apply_filters( $this->product->get_key() . '_lc_license_message', 'Enter your license from %s purchase history in order to get %s updates' );
 
112
  ?>
113
  <style type="text/css">
114
  input.themeisle-sdk-text-input-valid {
@@ -117,7 +129,9 @@ class Licenser extends Abstract_Module {
117
 
118
  input.themeisle-sdk-license-input {
119
  width: 300px;
120
- padding: 5px;
 
 
121
  }
122
 
123
  .themeisle-sdk-license-deactivate-cta {
@@ -157,7 +171,7 @@ class Licenser extends Abstract_Module {
157
  </style>
158
  <?php
159
  echo sprintf(
160
- '<p>%s<input class="themeisle-sdk-license-input %s" type="text" id="%s_license" name="%s_license" value="%s" /><a class="%s">%s</a>&nbsp;&nbsp;&nbsp;<button name="%s_btn_trigger" class="button button-primary themeisle-sdk-licenser-button-cta" value="yes" type="submit" >%s</button></p><p class="description">%s</p>',
161
  ( ( 'valid' === $status ) ? sprintf( '<input type="hidden" value="%s" name="%s_license" />', $value, $this->product->get_key() ) : '' ),
162
  ( ( 'valid' === $status ) ? 'themeisle-sdk-text-input-valid' : '' ),
163
  $this->product->get_key(),
@@ -167,7 +181,8 @@ class Licenser extends Abstract_Module {
167
  ( 'valid' === $status ? $valid_string : $invalid_string ),
168
  $this->product->get_key(),
169
  ( 'valid' === $status ? $deactivate_string : $activate_string ),
170
- sprintf( $license_message, '<a href="' . $this->get_api_url() . '">' . $this->get_distributor_name() . '</a> ', $this->product->get_type() )
 
171
  );
172
 
173
  }
@@ -175,18 +190,37 @@ class Licenser extends Abstract_Module {
175
  /**
176
  * Return the license status.
177
  *
 
 
178
  * @return string The License status.
179
  */
180
- public function get_license_status() {
181
 
182
  $license_data = get_option( $this->product->get_key() . '_license_data', '' );
183
 
184
  if ( '' === $license_data ) {
185
  return get_option( $this->product->get_key() . '_license_status', 'not_active' );
186
  }
 
 
 
 
 
 
 
187
 
188
- return isset( $license_data->license ) ? $license_data->license : get_option( $this->product->get_key() . '_license_status', 'not_active' );
 
 
 
 
 
 
 
 
 
189
 
 
190
  }
191
 
192
  /**
@@ -224,10 +258,15 @@ class Licenser extends Abstract_Module {
224
  if ( ! is_admin() ) {
225
  return false;
226
  }
227
- $status = $this->get_license_status();
228
- $no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s !!!. You need to upgrade your plan in order to use %s on more websites. Please ask the %s Staff for more details.' );
229
- $no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
230
 
 
 
 
 
 
 
 
 
231
  // No activations left for this license.
232
  if ( 'valid' != $status && $this->check_activation() ) {
233
  ?>
@@ -247,6 +286,19 @@ class Licenser extends Abstract_Module {
247
  <?php
248
  return false;
249
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  // Invalid license key.
251
  if ( 'valid' != $status ) {
252
  ?>
@@ -274,7 +326,7 @@ class Licenser extends Abstract_Module {
274
  return false;
275
  }
276
 
277
- return isset( $license_data->error ) ? ( 'no_activations_left' == $license_data->error ) : false;
278
 
279
  }
280
 
@@ -334,40 +386,26 @@ class Licenser extends Abstract_Module {
334
  */
335
  public function check_license() {
336
  $status = $this->get_license_status();
337
- if ( 'not_active' == $status ) {
338
  $license_data = new \stdClass();
339
  $license_data->license = 'not_active';
340
 
341
  return $license_data;
342
  }
343
- $license = trim( $this->license_key );
344
- $api_params = array(
345
- 'edd_action' => 'check_license',
346
- 'license' => $license,
347
- 'item_name' => rawurlencode( $this->product->get_name() ),
348
- 'url' => rawurlencode( home_url() ),
349
- );
350
- // Call the custom API.
351
- $response = wp_remote_get(
352
- add_query_arg( $api_params, $this->get_api_url() ),
353
- array(
354
- 'timeout' => 15,
355
- 'sslverify' => false,
356
- )
357
- );
358
  if ( is_wp_error( $response ) ) {
359
  $license_data = new \stdClass();
360
  $license_data->license = 'valid';
361
-
362
  } else {
363
- $license_data = json_decode( wp_remote_retrieve_body( $response ) );
364
- if ( ! is_object( $license_data ) ) {
365
- $license_data = new \stdClass();
366
- $license_data->license = 'valid';
367
- }
368
  }
 
369
  $license_old = get_option( $this->product->get_key() . '_license_data', '' );
370
- if ( 'valid' == $license_old->license && ( $license_data->license != $license_old->license ) ) {
 
371
  $this->increment_failed_checks();
372
  } else {
373
  $this->reset_failed_checks();
@@ -377,22 +415,10 @@ class Licenser extends Abstract_Module {
377
  return $license_old;
378
  }
379
 
380
- if ( isset( $license_old->hide_valid ) ) {
381
- $license_data->hide_valid = true;
382
- }
383
-
384
  if ( ! isset( $license_data->key ) ) {
385
  $license_data->key = isset( $license_old->key ) ? $license_old->key : '';
386
  }
387
 
388
- if ( isset( $license_old->hide_expiration ) ) {
389
- $license_data->hide_expiration = true;
390
- }
391
-
392
- if ( isset( $license_old->hide_activation ) ) {
393
- $license_data->hide_activation = true;
394
- }
395
-
396
  return $license_data;
397
 
398
  }
@@ -414,58 +440,136 @@ class Licenser extends Abstract_Module {
414
  }
415
 
416
  /**
417
- * Activate the license remotely.
 
 
418
  */
419
- function activate_license() {
420
- // listen for our activate button to be clicked.
421
- if ( ! isset( $_POST[ $this->product->get_key() . '_btn_trigger' ] ) ) {
422
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  }
424
  $status = $this->get_license_status();
425
- // retrieve the license from the database.
426
- $license = $_POST[ $this->product->get_key() . '_license' ];
427
- $api_params = array(
428
- 'license' => $license,
429
- 'item_name' => rawurlencode( $this->product->get_name() ),
430
- 'url' => rawurlencode( home_url() ),
431
- );
432
- if ( 'valid' != $status ) {
433
- // data to send in our API request.
434
- $api_params['edd_action'] = 'activate_license';
435
- } else {
436
- $api_params['edd_action'] = 'deactivate_license';
437
  }
 
 
 
 
 
438
  // Call the custom API.
439
- $response = wp_remote_get( add_query_arg( $api_params, $this->get_api_url() ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  // make sure the response came back okay.
441
  if ( is_wp_error( $response ) ) {
442
- $license_data = new \stdClass();
443
- $license_data->license = ( 'valid' != $status ) ? 'valid' : 'invalid';
444
 
445
- } else {
446
- $license_data = json_decode( wp_remote_retrieve_body( $response ) );
447
- if ( ! is_object( $license_data ) ) {
448
- $license_data = new \stdClass();
449
- $license_data->license = ( 'valid' != $status ) ? 'valid' : 'invalid';
450
- }
451
- if ( ! isset( $license_data->license ) ) {
452
- $license_data->license = 'invalid';
453
- }
 
 
 
 
454
  }
 
455
  if ( ! isset( $license_data->key ) ) {
456
  $license_data->key = $license;
457
  }
458
- if ( 'valid' == $license_data->license ) {
459
  $this->reset_failed_checks();
460
  }
461
 
 
 
 
 
 
 
 
 
462
  if ( isset( $license_data->plan ) ) {
463
  update_option( $this->product->get_key() . '_license_plan', $license_data->plan );
464
  }
465
-
466
  update_option( $this->product->get_key() . '_license_data', $license_data );
467
  set_transient( $this->product->get_key() . '_license_data', $license_data, 12 * HOUR_IN_SECONDS );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
 
 
469
  }
470
 
471
  /**
@@ -564,17 +668,16 @@ class Licenser extends Abstract_Module {
564
  * @return bool|mixed Update api response.
565
  */
566
  private function get_version_data() {
567
- $api_params = array(
568
- 'edd_action' => 'get_version',
569
- 'version' => $this->product->get_version(),
570
- 'license' => empty( $this->license_key ) ? 'free' : $this->license_key,
571
- 'name' => rawurlencode( $this->product->get_name() ),
572
- 'slug' => $this->product->get_slug(),
573
- 'author' => rawurlencode( $this->get_distributor_name() ),
574
- 'url' => rawurlencode( home_url() ),
575
- );
576
- $response = wp_remote_get(
577
- add_query_arg( $api_params, $this->get_api_url() ),
578
  array(
579
  'timeout' => 15,
580
  'sslverify' => false,
@@ -587,6 +690,15 @@ class Licenser extends Abstract_Module {
587
  if ( ! is_object( $update_data ) ) {
588
  return false;
589
  }
 
 
 
 
 
 
 
 
 
590
 
591
  return $update_data;
592
  }
@@ -651,7 +763,7 @@ class Licenser extends Abstract_Module {
651
  * @return object $_data
652
  */
653
  public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
654
- if ( ( 'plugin_information' != $_action ) || ! isset( $_args->slug ) || ( $_args->slug != $this->product->get_slug() ) ) {
655
  return $_data;
656
  }
657
  $api_response = $this->api_request();
@@ -714,6 +826,21 @@ class Licenser extends Abstract_Module {
714
  $this->register_license_hooks();
715
  }
716
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
717
  if ( $this->product->is_plugin() ) {
718
  add_filter(
719
  'pre_set_site_transient_update_plugins',
@@ -742,12 +869,133 @@ class Licenser extends Abstract_Module {
742
  return $this;
743
  }
744
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
745
  /**
746
  * Register license fields for the products.
747
  */
748
  public function register_license_hooks() {
749
  add_action( 'admin_init', array( $this, 'register_settings' ) );
750
- add_action( 'admin_init', array( $this, 'activate_license' ) );
751
  add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
752
  add_action( 'admin_notices', array( $this, 'show_notice' ) );
753
  add_filter( $this->product->get_key() . '_license_status', array( $this, 'get_license_status' ) );
13
 
14
  // Exit if accessed directly.
15
  use ThemeisleSDK\Common\Abstract_Module;
16
+ use ThemeisleSDK\Loader;
17
  use ThemeisleSDK\Product;
18
 
19
  if ( ! defined( 'ABSPATH' ) ) {
56
  */
57
  private $product_key;
58
 
59
+ /**
60
+ * Holds local license object.
61
+ *
62
+ * @var null Local license object.
63
+ */
64
+ private $license_local = null;
65
+
66
  /**
67
  * Disable wporg updates for premium products.
68
  *
97
  if ( ! is_admin() ) {
98
  return false;
99
  }
100
+ if ( apply_filters( $this->product->get_key() . '_hide_license_field', false ) ) {
101
+ return;
102
+ }
103
  add_settings_field(
104
  $this->product->get_key() . '_license',
105
  $this->product->get_name() . ' license',
120
  $valid_string = apply_filters( $this->product->get_key() . '_lc_valid_string', 'Valid' );
121
  $invalid_string = apply_filters( $this->product->get_key() . '_lc_invalid_string', 'Invalid' );
122
  $license_message = apply_filters( $this->product->get_key() . '_lc_license_message', 'Enter your license from %s purchase history in order to get %s updates' );
123
+ $error_message = $this->get_error();
124
  ?>
125
  <style type="text/css">
126
  input.themeisle-sdk-text-input-valid {
129
 
130
  input.themeisle-sdk-license-input {
131
  width: 300px;
132
+ padding: 0 8px;
133
+ line-height: 2;
134
+ min-height: 30px;
135
  }
136
 
137
  .themeisle-sdk-license-deactivate-cta {
171
  </style>
172
  <?php
173
  echo sprintf(
174
+ '<p>%s<input class="themeisle-sdk-license-input %s" type="text" id="%s_license" name="%s_license" value="%s" /><a class="%s">%s</a>&nbsp;&nbsp;&nbsp;<button name="%s_btn_trigger" class="button button-primary themeisle-sdk-licenser-button-cta" value="yes" type="submit" >%s</button></p><p class="description">%s</p>%s',
175
  ( ( 'valid' === $status ) ? sprintf( '<input type="hidden" value="%s" name="%s_license" />', $value, $this->product->get_key() ) : '' ),
176
  ( ( 'valid' === $status ) ? 'themeisle-sdk-text-input-valid' : '' ),
177
  $this->product->get_key(),
181
  ( 'valid' === $status ? $valid_string : $invalid_string ),
182
  $this->product->get_key(),
183
  ( 'valid' === $status ? $deactivate_string : $activate_string ),
184
+ sprintf( $license_message, '<a href="' . $this->get_api_url() . '">' . $this->get_distributor_name() . '</a> ', $this->product->get_type() ),
185
+ empty( $error_message ) ? '' : sprintf( '<p style="color:#dd3d36">%s</p>', $error_message )
186
  );
187
 
188
  }
190
  /**
191
  * Return the license status.
192
  *
193
+ * @param bool $check_expiration Should check if license is valid, but expired.
194
+ *
195
  * @return string The License status.
196
  */
197
+ public function get_license_status( $check_expiration = false ) {
198
 
199
  $license_data = get_option( $this->product->get_key() . '_license_data', '' );
200
 
201
  if ( '' === $license_data ) {
202
  return get_option( $this->product->get_key() . '_license_status', 'not_active' );
203
  }
204
+ $status = isset( $license_data->license ) ? $license_data->license : get_option( $this->product->get_key() . '_license_status', 'not_active' );
205
+ if ( false === $check_expiration ) {
206
+ return $status;
207
+ }
208
+
209
+ return ( 'valid' === $status && isset( $license_data->is_expired ) && 'yes' === $license_data->is_expired ) ? 'active_expired' : $status;
210
+ }
211
 
212
+ /**
213
+ * License price id.
214
+ *
215
+ * @return int License plan.
216
+ */
217
+ public function get_plan() {
218
+ $license_data = get_option( $this->product->get_key() . '_license_data', '' );
219
+ if ( ! isset( $license_data->price_id ) ) {
220
+ return -1;
221
+ }
222
 
223
+ return (int) $license_data->price_id;
224
  }
225
 
226
  /**
258
  if ( ! is_admin() ) {
259
  return false;
260
  }
 
 
 
261
 
262
+ if ( apply_filters( $this->product->get_key() . '_hide_license_notices', false ) ) {
263
+ return false;
264
+ }
265
+
266
+ $status = $this->get_license_status( true );
267
+ $no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No more activations left for %s. You need to upgrade your plan in order to use %s on more websites. If you need assistance, please get in touch with %s staff.' );
268
+ $no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
269
+ $expired_license_string = apply_filters( $this->product->get_key() . '_lc_expired_string', 'Your %s License Key has expired. In order to continue receiving support and software updates you must <a href="%s" target="_blank">renew</a> your license key.' );
270
  // No activations left for this license.
271
  if ( 'valid' != $status && $this->check_activation() ) {
272
  ?>
286
  <?php
287
  return false;
288
  }
289
+
290
+ // Invalid license key.
291
+ if ( 'active_expired' === $status ) {
292
+ ?>
293
+ <div class="error">
294
+ <p>
295
+ <strong><?php echo sprintf( $expired_license_string, $this->product->get_name() . ' ' . $this->product->get_type(), $this->get_api_url() . '?license=' . $this->license_key ); ?> </strong>
296
+ </p>
297
+ </div>
298
+ <?php
299
+
300
+ return false;
301
+ }
302
  // Invalid license key.
303
  if ( 'valid' != $status ) {
304
  ?>
326
  return false;
327
  }
328
 
329
+ return isset( $license_data->license ) ? ( 'no_activations_left' == $license_data->license ) : false;
330
 
331
  }
332
 
386
  */
387
  public function check_license() {
388
  $status = $this->get_license_status();
389
+ if ( 'not_active' === $status ) {
390
  $license_data = new \stdClass();
391
  $license_data->license = 'not_active';
392
 
393
  return $license_data;
394
  }
395
+ $license = trim( $this->license_key );
396
+
397
+ $response = $this->do_license_process( $license, 'check' );
398
+
 
 
 
 
 
 
 
 
 
 
 
399
  if ( is_wp_error( $response ) ) {
400
  $license_data = new \stdClass();
401
  $license_data->license = 'valid';
 
402
  } else {
403
+ $license_data = $response;
 
 
 
 
404
  }
405
+
406
  $license_old = get_option( $this->product->get_key() . '_license_data', '' );
407
+
408
+ if ( 'valid' === $license_old->license && ( $license_data->license !== $license_old->license ) ) {
409
  $this->increment_failed_checks();
410
  } else {
411
  $this->reset_failed_checks();
415
  return $license_old;
416
  }
417
 
 
 
 
 
418
  if ( ! isset( $license_data->key ) ) {
419
  $license_data->key = isset( $license_old->key ) ? $license_old->key : '';
420
  }
421
 
 
 
 
 
 
 
 
 
422
  return $license_data;
423
 
424
  }
440
  }
441
 
442
  /**
443
+ * Set license validation error message.
444
+ *
445
+ * @param string $message Error message.
446
  */
447
+ public function set_error( $message = '' ) {
448
+ set_transient( $this->product->get_key() . 'act_err', $message, MINUTE_IN_SECONDS );
449
+
450
+ return;
451
+ }
452
+
453
+ /**
454
+ * Return the last error message.
455
+ *
456
+ * @return mixed Error message.
457
+ */
458
+ public function get_error() {
459
+ return get_transient( $this->product->get_key() . 'act_err' );
460
+ }
461
+
462
+ /**
463
+ * Do license activation/deactivation.
464
+ *
465
+ * @param string $license License key.
466
+ * @param string $action What do to.
467
+ *
468
+ * @return bool|\WP_Error
469
+ */
470
+ public function do_license_process( $license, $action = 'toggle' ) {
471
+ if ( strlen( $license ) < 10 ) {
472
+ return new \WP_Error( 'themeisle-license-invalid-format', 'Invalid license.' );
473
  }
474
  $status = $this->get_license_status();
475
+
476
+ if ( 'valid' === $status && 'activate' === $action ) {
477
+ return new \WP_Error( 'themeisle-license-already-active', 'License is already active.' );
478
+ }
479
+ if ( 'valid' !== $status && 'deactivate' === $action ) {
480
+ return new \WP_Error( 'themeisle-license-already-deactivate', 'License not active.' );
 
 
 
 
 
 
481
  }
482
+
483
+ if ( 'toggle' === $action ) {
484
+ $action = ( 'valid' !== $status ? ( 'activate' ) : ( 'deactivate' ) );
485
+ }
486
+
487
  // Call the custom API.
488
+ if ( 'check' === $action ) {
489
+ $response = wp_remote_get( sprintf( '%slicense/check/%s/%s/%s/%s', Product::API_URL, rawurlencode( $this->product->get_name() ), $license, rawurlencode( home_url() ), Loader::get_cache_token() ) );
490
+ } else {
491
+ $response = wp_remote_post(
492
+ sprintf( '%slicense/%s/%s/%s', Product::API_URL, $action, rawurlencode( $this->product->get_name() ), $license ),
493
+ array(
494
+ 'body' => wp_json_encode(
495
+ array(
496
+ 'url' => rawurlencode( home_url() ),
497
+ )
498
+ ),
499
+ 'headers' => array(
500
+ 'Content-Type' => 'application/json',
501
+ ),
502
+ )
503
+ );
504
+ }
505
+
506
  // make sure the response came back okay.
507
  if ( is_wp_error( $response ) ) {
508
+ return new \WP_Error( 'themeisle-license-500', sprintf( 'ERROR: Failed to connect to the license service. Please try again later. Reason: %s', $response->get_error_message() ) );
509
+ }
510
 
511
+ $license_data = json_decode( wp_remote_retrieve_body( $response ) );
512
+
513
+ if ( ! is_object( $license_data ) ) {
514
+ return new \WP_Error( 'themeisle-license-404', 'ERROR: Failed to validate license. Please try again in one minute.' );
515
+ }
516
+ if ( 'check' === $action ) {
517
+ return $license_data;
518
+ }
519
+
520
+ Loader::clear_cache_token();
521
+
522
+ if ( ! isset( $license_data->license ) ) {
523
+ $license_data->license = 'invalid';
524
  }
525
+
526
  if ( ! isset( $license_data->key ) ) {
527
  $license_data->key = $license;
528
  }
529
+ if ( 'valid' === $license_data->license ) {
530
  $this->reset_failed_checks();
531
  }
532
 
533
+ if ( 'deactivate' === $action ) {
534
+
535
+ delete_option( $this->product->get_key() . '_license_data' );
536
+ delete_option( $this->product->get_key() . '_license_plan' );
537
+ delete_transient( $this->product->get_key() . '_license_data' );
538
+
539
+ return true;
540
+ }
541
  if ( isset( $license_data->plan ) ) {
542
  update_option( $this->product->get_key() . '_license_plan', $license_data->plan );
543
  }
 
544
  update_option( $this->product->get_key() . '_license_data', $license_data );
545
  set_transient( $this->product->get_key() . '_license_data', $license_data, 12 * HOUR_IN_SECONDS );
546
+ if ( 'activate' === $action && 'valid' !== $license_data->license ) {
547
+ return new \WP_Error( 'themeisle-license-invalid', 'ERROR: Invalid license provided.' );
548
+ }
549
+
550
+ return true;
551
+ }
552
+
553
+ /**
554
+ * Activate the license remotely.
555
+ */
556
+ function process_license() {
557
+ // listen for our activate button to be clicked.
558
+ if ( ! isset( $_POST[ $this->product->get_key() . '_btn_trigger' ] ) ) {
559
+ return;
560
+ }
561
+ $license = $_POST[ $this->product->get_key() . '_license' ];
562
+ $response = $this->do_license_process( $license, 'toggle' );
563
+ if ( is_wp_error( $response ) ) {
564
+ $this->set_error( $response->get_error_message() );
565
+
566
+ return;
567
+ }
568
+ if ( true === $response ) {
569
+ $this->set_error( '' );
570
+ }
571
 
572
+ return;
573
  }
574
 
575
  /**
668
  * @return bool|mixed Update api response.
669
  */
670
  private function get_version_data() {
671
+
672
+ $response = wp_remote_get(
673
+ sprintf(
674
+ '%slicense/version/%s/%s/%s/%s',
675
+ Product::API_URL,
676
+ rawurlencode( $this->product->get_name() ),
677
+ ( empty( $this->license_key ) ? 'free' : $this->license_key ),
678
+ $this->product->get_version(),
679
+ rawurlencode( home_url() )
680
+ ),
 
681
  array(
682
  'timeout' => 15,
683
  'sslverify' => false,
690
  if ( ! is_object( $update_data ) ) {
691
  return false;
692
  }
693
+ if ( isset( $update_data->slug ) ) {
694
+ $update_data->slug = $this->product->get_slug();
695
+ }
696
+ if ( isset( $update_data->icons ) ) {
697
+ $update_data->icons = (array) $update_data->icons;
698
+ }
699
+ if ( isset( $update_data->banners ) ) {
700
+ $update_data->banners = (array) $update_data->banners;
701
+ }
702
 
703
  return $update_data;
704
  }
763
  * @return object $_data
764
  */
765
  public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
766
+ if ( ( 'plugin_information' !== $_action ) || ! isset( $_args->slug ) || ( $_args->slug !== $this->product->get_slug() ) ) {
767
  return $_data;
768
  }
769
  $api_response = $this->api_request();
826
  $this->register_license_hooks();
827
  }
828
 
829
+ $namespace = apply_filters( 'themesle_sdk_namespace_' . md5( $product->get_basefile() ), false );
830
+
831
+ if ( false !== $namespace ) {
832
+ add_filter( 'themeisle_sdk_license_process_' . $namespace, [ $this, 'do_license_process' ], 10, 2 );
833
+ add_filter( 'product_' . $namespace . '_license_status', [ $this, 'get_license_status' ], PHP_INT_MAX );
834
+ add_filter( 'product_' . $namespace . '_license_key', [ $this->product, 'get_license' ] );
835
+ add_filter( 'product_' . $namespace . '_license_plan', [ $this, 'get_plan' ], PHP_INT_MAX );
836
+ if ( defined( 'WP_CLI' ) && WP_CLI ) {
837
+ \WP_CLI::add_command( $namespace . ' activate', [ $this, 'cli_activate' ] );
838
+ \WP_CLI::add_command( $namespace . ' deactivate', [ $this, 'cli_deactivate' ] );
839
+ \WP_CLI::add_command( $namespace . ' is-active', [ $this, 'cli_is_active' ] );
840
+ }
841
+ }
842
+
843
+ add_action( 'admin_head', [ $this, 'auto_activate' ] );
844
  if ( $this->product->is_plugin() ) {
845
  add_filter(
846
  'pre_set_site_transient_update_plugins',
869
  return $this;
870
  }
871
 
872
+ /**
873
+ * Run license activation on plugin activate.
874
+ */
875
+ public function auto_activate() {
876
+ if ( ! current_user_can( 'switch_themes' ) ) {
877
+ return;
878
+ }
879
+ $status = $this->get_license_status();
880
+ if ( 'not_active' !== $status ) {
881
+ return;
882
+ }
883
+
884
+ $license_file = dirname( $this->product->get_basefile() ) . '/license.json';
885
+
886
+ global $wp_filesystem;
887
+ if ( ! is_file( $license_file ) ) {
888
+ return;
889
+ }
890
+
891
+ require_once( ABSPATH . '/wp-admin/includes/file.php' );
892
+ \WP_Filesystem();
893
+ $content = json_decode( $wp_filesystem->get_contents( $license_file ) );
894
+ if ( ! is_object( $content ) ) {
895
+ return;
896
+ }
897
+ if ( ! isset( $content->key ) ) {
898
+ return;
899
+ }
900
+ $this->license_local = $content;
901
+ $lock_key = $this->product->get_key() . '_autoactivated';
902
+
903
+ if ( 'yes' === get_option( $lock_key, '' ) ) {
904
+ return;
905
+ }
906
+ $response = $this->do_license_process( $content->key, 'activate' );
907
+
908
+ update_option( $lock_key, 'yes' );
909
+
910
+ if ( apply_filters( $this->product->get_key() . '_hide_license_notices', false ) ) {
911
+ return;
912
+ }
913
+
914
+ if ( true === $response ) {
915
+ add_action( 'admin_notices', [ $this, 'autoactivate_notice' ] );
916
+ }
917
+ }
918
+
919
+ /**
920
+ * Show auto-activate notice.
921
+ */
922
+ public function autoactivate_notice() {
923
+ ?>
924
+ <div class="notice notice-success is-dismissible">
925
+ <p><?php echo sprintf( '<strong>%s</strong> has been successfully activated using <strong>%s</strong> license !', $this->product->get_name(), str_repeat( '*', 20 ) . substr( $this->license_local->key, - 10 ) ); ?></p>
926
+ </div>
927
+ <?php
928
+ }
929
+
930
+ /**
931
+ * Activate product license on this site.
932
+ *
933
+ * ## OPTIONS
934
+ *
935
+ * @param array $args Command args.
936
+ *
937
+ * [<license-key>]
938
+ * : Product license key.
939
+ */
940
+ public function cli_activate( $args ) {
941
+ $license_key = isset( $args[0] ) ? trim( $args[0] ) : '';
942
+ $response = $this->do_license_process( $license_key, 'activate' );
943
+ if ( true !== $response ) {
944
+ \WP_CLI::error( $response->get_error_message() );
945
+
946
+ return;
947
+ }
948
+
949
+ \WP_CLI::success( 'Product successfully activated.' );
950
+ }
951
+
952
+ /**
953
+ * Deactivate product license on this site.
954
+ *
955
+ * @param array $args Command args.
956
+ *
957
+ * ## OPTIONS
958
+ *
959
+ * [<license-key>]
960
+ * : Product license key.
961
+ */
962
+ public function cli_deactivate( $args ) {
963
+ $license_key = isset( $args[0] ) ? trim( $args[0] ) : '';
964
+ $response = $this->do_license_process( $license_key, 'deactivate' );
965
+ if ( true !== $response ) {
966
+ \WP_CLI::error( $response->get_error_message() );
967
+
968
+ return;
969
+ }
970
+
971
+ \WP_CLI::success( 'Product successfully deactivated.' );
972
+ }
973
+
974
+ /**
975
+ * Checks if product has license activated.
976
+ *
977
+ * @param array $args Command args.
978
+ *
979
+ * @subcommand is-active
980
+ */
981
+ public function cli_is_active( $args ) {
982
+
983
+ $status = $this->get_license_status();
984
+ if ( 'valid' === $status ) {
985
+ \WP_CLI::halt( 0 );
986
+
987
+ return;
988
+ }
989
+
990
+ \WP_CLI::halt( 1 );
991
+ }
992
+
993
  /**
994
  * Register license fields for the products.
995
  */
996
  public function register_license_hooks() {
997
  add_action( 'admin_init', array( $this, 'register_settings' ) );
998
+ add_action( 'admin_init', array( $this, 'process_license' ) );
999
  add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
1000
  add_action( 'admin_notices', array( $this, 'show_notice' ) );
1001
  add_filter( $this->product->get_key() . '_license_status', array( $this, 'get_license_status' ) );
vendor/codeinwp/themeisle-sdk/src/Modules/Logger.php CHANGED
@@ -27,7 +27,7 @@ class Logger extends Abstract_Module {
27
  /**
28
  * Endpoint where to collect logs.
29
  */
30
- const TRACKING_ENDPOINT = 'http://log.themeisle.com/wp-json/v1/logs/';
31
 
32
 
33
  /**
@@ -90,19 +90,22 @@ class Logger extends Abstract_Module {
90
  * @return bool Is logger active?
91
  */
92
  private function is_logger_active() {
93
- if ( ! $this->product->is_wordpress_available() ) {
94
- return true;
95
- }
96
- $pro_slug = $this->product->get_pro_slug();
97
 
98
- if ( ! empty( $pro_slug ) ) {
99
- $all_products = Loader::get_products();
100
- if ( isset( $all_products[ $pro_slug ] ) ) {
101
- return true;
 
 
 
 
 
 
102
  }
103
  }
104
 
105
- return ( get_option( $this->product->get_key() . '_logger_flag', 'no' ) === 'yes' );
106
  }
107
 
108
  /**
@@ -151,6 +154,7 @@ class Logger extends Abstract_Module {
151
  $environment['theme'] = array();
152
  $environment['theme']['name'] = $theme->get( 'Name' );
153
  $environment['theme']['author'] = $theme->get( 'Author' );
 
154
  $environment['plugins'] = get_option( 'active_plugins' );
155
  global $wp_version;
156
  wp_remote_post(
@@ -159,14 +163,12 @@ class Logger extends Abstract_Module {
159
  'method' => 'POST',
160
  'timeout' => 3,
161
  'redirection' => 5,
162
- 'headers' => array(
163
- 'X-ThemeIsle-Event' => 'log_site',
164
- ),
165
  'body' => array(
166
  'site' => get_site_url(),
167
  'slug' => $this->product->get_slug(),
168
  'version' => $this->product->get_version(),
169
  'wp_version' => $wp_version,
 
170
  'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
171
  'environment' => $environment,
172
  'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
27
  /**
28
  * Endpoint where to collect logs.
29
  */
30
+ const TRACKING_ENDPOINT = 'https://api.themeisle.com/tracking/log';
31
 
32
 
33
  /**
90
  * @return bool Is logger active?
91
  */
92
  private function is_logger_active() {
93
+ $default = 'no';
 
 
 
94
 
95
+ if ( ! $this->product->is_wordpress_available() ) {
96
+ $default = 'yes';
97
+ } else {
98
+ $pro_slug = $this->product->get_pro_slug();
99
+
100
+ if ( ! empty( $pro_slug ) ) {
101
+ $all_products = Loader::get_products();
102
+ if ( isset( $all_products[ $pro_slug ] ) ) {
103
+ $default = 'yes';
104
+ }
105
  }
106
  }
107
 
108
+ return ( get_option( $this->product->get_key() . '_logger_flag', $default ) === 'yes' );
109
  }
110
 
111
  /**
154
  $environment['theme'] = array();
155
  $environment['theme']['name'] = $theme->get( 'Name' );
156
  $environment['theme']['author'] = $theme->get( 'Author' );
157
+ $environment['theme']['parent'] = $theme->parent() !== false ? $theme->parent()->get( 'Name' ) : $theme->get( 'Name' );
158
  $environment['plugins'] = get_option( 'active_plugins' );
159
  global $wp_version;
160
  wp_remote_post(
163
  'method' => 'POST',
164
  'timeout' => 3,
165
  'redirection' => 5,
 
 
 
166
  'body' => array(
167
  'site' => get_site_url(),
168
  'slug' => $this->product->get_slug(),
169
  'version' => $this->product->get_version(),
170
  'wp_version' => $wp_version,
171
+ 'locale' => get_locale(),
172
  'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
173
  'environment' => $environment,
174
  'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
vendor/codeinwp/themeisle-sdk/src/Modules/Notification.php CHANGED
@@ -226,7 +226,7 @@ class Notification extends Abstract_Module {
226
  /**
227
  * Get last notification details.
228
  *
229
- * @return array Last notification details.
230
  */
231
  private static function get_last_active_notification_timestamp() {
232
  $notification = self::get_notifications_metadata();
@@ -374,6 +374,10 @@ class Notification extends Abstract_Module {
374
  if ( empty( $id ) ) {
375
  wp_send_json( [] );
376
  }
 
 
 
 
377
  self::set_last_active_notification_timestamp();
378
  update_option( $id, $confirm );
379
  do_action( $id . '_process_confirm', $confirm );
@@ -430,6 +434,9 @@ class Notification extends Abstract_Module {
430
  * @return Notification Module instance.
431
  */
432
  public function load( $product ) {
 
 
 
433
  $this->product = $product;
434
 
435
  $notifications = apply_filters( 'themeisle_sdk_registered_notifications', [] );
226
  /**
227
  * Get last notification details.
228
  *
229
+ * @return int Last notification details.
230
  */
231
  private static function get_last_active_notification_timestamp() {
232
  $notification = self::get_notifications_metadata();
374
  if ( empty( $id ) ) {
375
  wp_send_json( [] );
376
  }
377
+ $ids = wp_list_pluck( self::$notifications, 'id' );
378
+ if ( ! in_array( $id, $ids, true ) ) {
379
+ wp_send_json( [] );
380
+ }
381
  self::set_last_active_notification_timestamp();
382
  update_option( $id, $confirm );
383
  do_action( $id . '_process_confirm', $confirm );
434
  * @return Notification Module instance.
435
  */
436
  public function load( $product ) {
437
+ if ( apply_filters( 'themeisle_sdk_hide_notifications', false ) ) {
438
+ return;
439
+ }
440
  $this->product = $product;
441
 
442
  $notifications = apply_filters( 'themeisle_sdk_registered_notifications', [] );
vendor/codeinwp/themeisle-sdk/src/Modules/Review.php CHANGED
@@ -60,14 +60,14 @@ class Review extends Abstract_Module {
60
  'Stefan',
61
  'Uriahs',
62
  'Madalin',
63
- 'Radu',
64
  'Silviu',
65
  'Andrei',
66
  ];
67
 
68
  $link = 'https://wordpress.org/support/' . $this->product->get_type() . '/' . $this->product->get_slug() . '/reviews/#wporg-footer';
69
 
70
- $message = apply_filters( $this->product->get_key() . '_feedback_review_message', '<p>Hey, its great to see you have <b>{product}</b> active for a few days now. How is everything going? If you can spare a few moments to rate it on WordPress.org it would help us a lot (and boost my motivation). Cheers! <br/> <br/>~ {developer}, developer of {product}</p>' );
71
 
72
  $button_submit = apply_filters( $this->product->get_key() . '_feedback_review_button_do', 'Ok, I will gladly help.' );
73
  $button_cancel = apply_filters( $this->product->get_key() . '_feedback_review_button_cancel', 'No, thanks.' );
60
  'Stefan',
61
  'Uriahs',
62
  'Madalin',
63
+ 'Cristi',
64
  'Silviu',
65
  'Andrei',
66
  ];
67
 
68
  $link = 'https://wordpress.org/support/' . $this->product->get_type() . '/' . $this->product->get_slug() . '/reviews/#wporg-footer';
69
 
70
+ $message = apply_filters( $this->product->get_key() . '_feedback_review_message', '<p>Hey, it\'s great to see you have <b>{product}</b> active for a few days now. How is everything going? If you can spare a few moments to rate it on WordPress.org it would help us a lot (and boost my motivation). Cheers! <br/> <br/>~ {developer}, developer of {product}</p>' );
71
 
72
  $button_submit = apply_filters( $this->product->get_key() . '_feedback_review_button_do', 'Ok, I will gladly help.' );
73
  $button_cancel = apply_filters( $this->product->get_key() . '_feedback_review_button_cancel', 'No, thanks.' );
vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php CHANGED
@@ -167,7 +167,7 @@ class Rollback extends Abstract_Module {
167
  return '';
168
  }
169
 
170
- return sprintf( '%s?edd_action=get_versions&name=%s&url=%s&license=%s', $this->product->get_store_url(), urlencode( $this->product->get_name() ), urlencode( get_site_url() ), $license );
171
  }
172
 
173
  /**
167
  return '';
168
  }
169
 
170
+ return sprintf( '%slicense/versions/%s/%s/%s/%s', Product::API_URL, rawurlencode( $this->product->get_name() ), $license, urlencode( get_site_url() ), $this->product->get_version() );
171
  }
172
 
173
  /**
vendor/codeinwp/themeisle-sdk/src/Modules/Translate.php CHANGED
@@ -295,7 +295,7 @@ class Translate extends Abstract_Module {
295
  ),
296
  'gn' => array(
297
  'slug' => 'gn',
298
- 'name' => 'Guaraní',
299
  ),
300
  'gsw' => array(
301
  'slug' => 'gsw',
@@ -471,7 +471,7 @@ class Translate extends Abstract_Module {
471
  ),
472
  'nb_NO' => array(
473
  'slug' => 'nb',
474
- 'name' => 'Norwegian (Bokmål)',
475
  ),
476
  'nl_NL' => array(
477
  'slug' => 'nl',
295
  ),
296
  'gn' => array(
297
  'slug' => 'gn',
298
+ 'name' => 'Guarani',
299
  ),
300
  'gsw' => array(
301
  'slug' => 'gsw',
471
  ),
472
  'nb_NO' => array(
473
  'slug' => 'nb',
474
+ 'name' => 'Norwegian (Bokmal)',
475
  ),
476
  'nl_NL' => array(
477
  'slug' => 'nl',
vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php CHANGED
@@ -40,7 +40,7 @@ class Uninstall_Feedback extends Abstract_Module {
40
  *
41
  * @var string Endpoint url.
42
  */
43
- const FEEDBACK_ENDPOINT = 'http://feedback.themeisle.com/wordpress/wp-json/__pirate_feedback_/v1/feedback';
44
 
45
  /**
46
  * Default options for plugins.
@@ -109,7 +109,7 @@ class Uninstall_Feedback extends Abstract_Module {
109
  *
110
  * @var string $heading_plugin The heading of the modal
111
  */
112
- private $heading_plugin = 'Whats wrong?';
113
  /**
114
  * Default heading for theme.
115
  *
@@ -698,6 +698,7 @@ class Uninstall_Feedback extends Abstract_Module {
698
  'title' => 'Below is a detailed view of all data that ThemeIsle will receive if you fill in this survey. No domain name, email address or IP addresses are transmited after you submit the survey.',
699
  'items' => [
700
  sprintf( '%s %s version %s %s %s %s', '<strong>', ucwords( $this->product->get_type() ), '</strong>', '<code>', $this->product->get_version(), '</code>' ),
 
701
  sprintf( '%s Uninstall reason %s %s Selected reason from the above survey %s ', '<strong>', '</strong>', '<i>', '</i>' ),
702
  ],
703
  ],
@@ -782,6 +783,7 @@ class Uninstall_Feedback extends Abstract_Module {
782
  $version = $this->product->get_version();
783
  $attributes['slug'] = $slug;
784
  $attributes['version'] = $version;
 
785
 
786
  $response = wp_remote_post(
787
  self::FEEDBACK_ENDPOINT,
@@ -836,6 +838,11 @@ class Uninstall_Feedback extends Abstract_Module {
836
  * @return Uninstall_Feedback Current module instance.
837
  */
838
  public function load( $product ) {
 
 
 
 
 
839
  $this->product = $product;
840
  add_action( 'admin_head', array( $this, 'load_resources' ) );
841
  add_action( 'wp_ajax_' . $this->product->get_key() . '_uninstall_feedback', array( $this, 'post_deactivate' ) );
40
  *
41
  * @var string Endpoint url.
42
  */
43
+ const FEEDBACK_ENDPOINT = 'https://api.themeisle.com/tracking/uninstall';
44
 
45
  /**
46
  * Default options for plugins.
109
  *
110
  * @var string $heading_plugin The heading of the modal
111
  */
112
+ private $heading_plugin = 'What\'s wrong?';
113
  /**
114
  * Default heading for theme.
115
  *
698
  'title' => 'Below is a detailed view of all data that ThemeIsle will receive if you fill in this survey. No domain name, email address or IP addresses are transmited after you submit the survey.',
699
  'items' => [
700
  sprintf( '%s %s version %s %s %s %s', '<strong>', ucwords( $this->product->get_type() ), '</strong>', '<code>', $this->product->get_version(), '</code>' ),
701
+ sprintf( '%sCurrent website:%s %s %s %s', '<strong>', '</strong>', '<code>', get_site_url(), '</code>' ),
702
  sprintf( '%s Uninstall reason %s %s Selected reason from the above survey %s ', '<strong>', '</strong>', '<i>', '</i>' ),
703
  ],
704
  ],
783
  $version = $this->product->get_version();
784
  $attributes['slug'] = $slug;
785
  $attributes['version'] = $version;
786
+ $attributes['url'] = get_site_url();
787
 
788
  $response = wp_remote_post(
789
  self::FEEDBACK_ENDPOINT,
838
  * @return Uninstall_Feedback Current module instance.
839
  */
840
  public function load( $product ) {
841
+
842
+ if ( apply_filters( $product->get_key() . '_hide_uninstall_feedback', false ) ) {
843
+ return;
844
+ }
845
+
846
  $this->product = $product;
847
  add_action( 'admin_head', array( $this, 'load_resources' ) );
848
  add_action( 'wp_ajax_' . $this->product->get_key() . '_uninstall_feedback', array( $this, 'post_deactivate' ) );
vendor/codeinwp/themeisle-sdk/src/Product.php CHANGED
@@ -106,7 +106,10 @@ class Product {
106
  * @var string $version The product version.
107
  */
108
  private $version;
109
-
 
 
 
110
  /**
111
  * ThemeIsle_SDK_Product constructor.
112
  *
106
  * @var string $version The product version.
107
  */
108
  private $version;
109
+ /**
110
+ * Root api endpoint.
111
+ */
112
+ const API_URL = 'https://api.themeisle.com/';
113
  /**
114
  * ThemeIsle_SDK_Product constructor.
115
  *
vendor/composer/autoload_classmap.php CHANGED
@@ -6,26 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'Google\\Auth\\ApplicationDefaultCredentials' => $vendorDir . '/google/auth/src/ApplicationDefaultCredentials.php',
10
- 'Google\\Auth\\CacheTrait' => $vendorDir . '/google/auth/src/CacheTrait.php',
11
- 'Google\\Auth\\CredentialsLoader' => $vendorDir . '/google/auth/src/CredentialsLoader.php',
12
- 'Google\\Auth\\Credentials\\AppIdentityCredentials' => $vendorDir . '/google/auth/src/Credentials/AppIdentityCredentials.php',
13
- 'Google\\Auth\\Credentials\\GCECredentials' => $vendorDir . '/google/auth/src/Credentials/GCECredentials.php',
14
- 'Google\\Auth\\Credentials\\IAMCredentials' => $vendorDir . '/google/auth/src/Credentials/IAMCredentials.php',
15
- 'Google\\Auth\\Credentials\\ServiceAccountCredentials' => $vendorDir . '/google/auth/src/Credentials/ServiceAccountCredentials.php',
16
- 'Google\\Auth\\Credentials\\ServiceAccountJwtAccessCredentials' => $vendorDir . '/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php',
17
- 'Google\\Auth\\Credentials\\UserRefreshCredentials' => $vendorDir . '/google/auth/src/Credentials/UserRefreshCredentials.php',
18
- 'Google\\Auth\\FetchAuthTokenInterface' => $vendorDir . '/google/auth/src/FetchAuthTokenInterface.php',
19
- 'Google\\Auth\\HttpHandler\\Guzzle5HttpHandler' => $vendorDir . '/google/auth/src/HttpHandler/Guzzle5HttpHandler.php',
20
- 'Google\\Auth\\HttpHandler\\Guzzle6HttpHandler' => $vendorDir . '/google/auth/src/HttpHandler/Guzzle6HttpHandler.php',
21
- 'Google\\Auth\\HttpHandler\\HttpHandlerFactory' => $vendorDir . '/google/auth/src/HttpHandler/HttpHandlerFactory.php',
22
- 'Google\\Auth\\Middleware\\AuthTokenMiddleware' => $vendorDir . '/google/auth/src/Middleware/AuthTokenMiddleware.php',
23
- 'Google\\Auth\\Middleware\\ScopedAccessTokenMiddleware' => $vendorDir . '/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php',
24
- 'Google\\Auth\\Middleware\\SimpleMiddleware' => $vendorDir . '/google/auth/src/Middleware/SimpleMiddleware.php',
25
- 'Google\\Auth\\OAuth2' => $vendorDir . '/google/auth/src/OAuth2.php',
26
- 'Google\\Auth\\Subscriber\\AuthTokenSubscriber' => $vendorDir . '/google/auth/src/Subscriber/AuthTokenSubscriber.php',
27
- 'Google\\Auth\\Subscriber\\ScopedAccessTokenSubscriber' => $vendorDir . '/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php',
28
- 'Google\\Auth\\Subscriber\\SimpleSubscriber' => $vendorDir . '/google/auth/src/Subscriber/SimpleSubscriber.php',
29
  'Google_Service_Exception' => $vendorDir . '/google/apiclient/src/Google/Service/Exception.php',
30
  'Google_Service_Resource' => $vendorDir . '/google/apiclient/src/Google/Service/Resource.php',
31
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  'Google_Service_Exception' => $vendorDir . '/google/apiclient/src/Google/Service/Exception.php',
10
  'Google_Service_Resource' => $vendorDir . '/google/apiclient/src/Google/Service/Resource.php',
11
  );
vendor/composer/autoload_files.php CHANGED
@@ -8,9 +8,6 @@ $baseDir = dirname($vendorDir);
8
  return array(
9
  '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
10
  'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
11
- '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
12
- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
13
- 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
14
  'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
15
  '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
16
  'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
8
  return array(
9
  '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
10
  'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
 
 
 
11
  'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
12
  '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
13
  'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
vendor/composer/autoload_namespaces.php CHANGED
@@ -6,5 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
9
  'Google_' => array($vendorDir . '/google/apiclient/src'),
10
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
+ 'Google_Service_' => array($vendorDir . '/google/apiclient-services/src'),
10
  'Google_' => array($vendorDir . '/google/apiclient/src'),
11
  );
vendor/composer/autoload_psr4.php CHANGED
@@ -7,11 +7,9 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'phpseclib\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
10
- 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
11
- 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
12
- 'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),
13
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
14
  'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
 
15
  'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
16
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
17
  'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
7
 
8
  return array(
9
  'phpseclib\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
 
 
 
10
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
11
  'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
12
+ 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
13
  'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
14
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
15
  'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit0f913ace44c05aa3e8fba184a66cc7b6
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire0f913ace44c05aa3e8fba184a66cc7b6($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire0f913ace44c05aa3e8fba184a66cc7b6($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit5addd03443a7d2d8e7222a53f7da14a1
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit5addd03443a7d2d8e7222a53f7da14a1', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit5addd03443a7d2d8e7222a53f7da14a1', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequire5addd03443a7d2d8e7222a53f7da14a1($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire5addd03443a7d2d8e7222a53f7da14a1($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
vendor/composer/installed.json CHANGED
@@ -57,17 +57,17 @@
57
  },
58
  {
59
  "name": "codeinwp/themeisle-sdk",
60
- "version": "3.1.4",
61
- "version_normalized": "3.1.4.0",
62
  "source": {
63
  "type": "git",
64
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
65
- "reference": "ede4dbdb119ad5b5d317f3866d68c90a45fe8179"
66
  },
67
  "dist": {
68
  "type": "zip",
69
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/ede4dbdb119ad5b5d317f3866d68c90a45fe8179",
70
- "reference": "ede4dbdb119ad5b5d317f3866d68c90a45fe8179",
71
  "shasum": ""
72
  },
73
  "require-dev": {
@@ -75,7 +75,7 @@
75
  "squizlabs/php_codesniffer": "^3.1",
76
  "wp-coding-standards/wpcs": "^1.0.0"
77
  },
78
- "time": "2019-08-23 08:47:43",
79
  "type": "library",
80
  "installation-source": "dist",
81
  "notification-url": "https://packagist.org/downloads/",
@@ -157,17 +157,17 @@
157
  },
158
  {
159
  "name": "phpseclib/phpseclib",
160
- "version": "2.0.28",
161
- "version_normalized": "2.0.28.0",
162
  "source": {
163
  "type": "git",
164
  "url": "https://github.com/phpseclib/phpseclib.git",
165
- "reference": "d1ca58cf33cb21046d702ae3a7b14fdacd9f3260"
166
  },
167
  "dist": {
168
  "type": "zip",
169
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d1ca58cf33cb21046d702ae3a7b14fdacd9f3260",
170
- "reference": "d1ca58cf33cb21046d702ae3a7b14fdacd9f3260",
171
  "shasum": ""
172
  },
173
  "require": {
@@ -176,7 +176,6 @@
176
  "require-dev": {
177
  "phing/phing": "~2.7",
178
  "phpunit/phpunit": "^4.8.35|^5.7|^6.0",
179
- "sami/sami": "~2.0",
180
  "squizlabs/php_codesniffer": "~2.0"
181
  },
182
  "suggest": {
@@ -185,7 +184,7 @@
185
  "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
186
  "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
187
  },
188
- "time": "2020-07-08 09:08:33",
189
  "type": "library",
190
  "installation-source": "dist",
191
  "autoload": {
@@ -300,22 +299,22 @@
300
  },
301
  {
302
  "name": "monolog/monolog",
303
- "version": "1.24.0",
304
- "version_normalized": "1.24.0.0",
305
  "source": {
306
  "type": "git",
307
  "url": "https://github.com/Seldaek/monolog.git",
308
- "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266"
309
  },
310
  "dist": {
311
  "type": "zip",
312
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
313
- "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
314
  "shasum": ""
315
  },
316
  "require": {
317
- "php": ">=5.3.0",
318
- "psr/log": "~1.0"
319
  },
320
  "provide": {
321
  "psr/log-implementation": "1.0.0"
@@ -323,34 +322,37 @@
323
  "require-dev": {
324
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
325
  "doctrine/couchdb": "~1.0@dev",
326
- "graylog2/gelf-php": "~1.0",
327
- "jakub-onderka/php-parallel-lint": "0.9",
328
  "php-amqplib/php-amqplib": "~2.4",
329
  "php-console/php-console": "^3.1.3",
330
- "phpunit/phpunit": "~4.5",
331
- "phpunit/phpunit-mock-objects": "2.3.0",
 
 
 
332
  "ruflin/elastica": ">=0.90 <3.0",
333
- "sentry/sentry": "^0.13",
334
  "swiftmailer/swiftmailer": "^5.3|^6.0"
335
  },
336
  "suggest": {
337
  "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
338
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
 
339
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
340
- "ext-mongo": "Allow sending log messages to a MongoDB server",
 
341
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
342
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
343
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
344
  "php-console/php-console": "Allow sending log messages to Google Chrome",
345
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
346
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
347
- "sentry/sentry": "Allow sending log messages to a Sentry server"
348
  },
349
- "time": "2018-11-05 09:00:11",
350
  "type": "library",
351
  "extra": {
352
  "branch-alias": {
353
- "dev-master": "2.0.x-dev"
354
  }
355
  },
356
  "installation-source": "dist",
@@ -546,102 +548,36 @@
546
  ]
547
  },
548
  {
549
- "name": "symfony/polyfill-php72",
550
- "version": "v1.17.0",
551
- "version_normalized": "1.17.0.0",
552
  "source": {
553
  "type": "git",
554
- "url": "https://github.com/symfony/polyfill-php72.git",
555
- "reference": "f048e612a3905f34931127360bdd2def19a5e582"
556
  },
557
  "dist": {
558
  "type": "zip",
559
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582",
560
- "reference": "f048e612a3905f34931127360bdd2def19a5e582",
561
  "shasum": ""
562
  },
563
  "require": {
564
- "php": ">=5.3.3"
 
565
  },
566
- "time": "2020-05-12 16:47:27",
567
  "type": "library",
568
  "extra": {
569
  "branch-alias": {
570
- "dev-master": "1.17-dev"
571
  }
572
  },
573
  "installation-source": "dist",
574
  "autoload": {
575
  "psr-4": {
576
- "Symfony\\Polyfill\\Php72\\": ""
577
- },
578
- "files": [
579
- "bootstrap.php"
580
- ]
581
- },
582
- "notification-url": "https://packagist.org/downloads/",
583
- "license": [
584
- "MIT"
585
- ],
586
- "authors": [
587
- {
588
- "name": "Nicolas Grekas",
589
- "email": "p@tchwork.com"
590
- },
591
- {
592
- "name": "Symfony Community",
593
- "homepage": "https://symfony.com/contributors"
594
  }
595
- ],
596
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
597
- "homepage": "https://symfony.com",
598
- "keywords": [
599
- "compatibility",
600
- "polyfill",
601
- "portable",
602
- "shim"
603
- ]
604
- },
605
- {
606
- "name": "symfony/polyfill-mbstring",
607
- "version": "v1.17.1",
608
- "version_normalized": "1.17.1.0",
609
- "source": {
610
- "type": "git",
611
- "url": "https://github.com/symfony/polyfill-mbstring.git",
612
- "reference": "7110338d81ce1cbc3e273136e4574663627037a7"
613
- },
614
- "dist": {
615
- "type": "zip",
616
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7110338d81ce1cbc3e273136e4574663627037a7",
617
- "reference": "7110338d81ce1cbc3e273136e4574663627037a7",
618
- "shasum": ""
619
- },
620
- "require": {
621
- "php": ">=5.3.3"
622
- },
623
- "suggest": {
624
- "ext-mbstring": "For best performance"
625
- },
626
- "time": "2020-06-06 08:46:27",
627
- "type": "library",
628
- "extra": {
629
- "branch-alias": {
630
- "dev-master": "1.17-dev"
631
- },
632
- "thanks": {
633
- "name": "symfony/polyfill",
634
- "url": "https://github.com/symfony/polyfill"
635
- }
636
- },
637
- "installation-source": "dist",
638
- "autoload": {
639
- "psr-4": {
640
- "Symfony\\Polyfill\\Mbstring\\": ""
641
- },
642
- "files": [
643
- "bootstrap.php"
644
- ]
645
  },
646
  "notification-url": "https://packagist.org/downloads/",
647
  "license": [
@@ -649,90 +585,17 @@
649
  ],
650
  "authors": [
651
  {
652
- "name": "Nicolas Grekas",
653
- "email": "p@tchwork.com"
654
- },
655
- {
656
- "name": "Symfony Community",
657
- "homepage": "https://symfony.com/contributors"
658
- }
659
- ],
660
- "description": "Symfony polyfill for the Mbstring extension",
661
- "homepage": "https://symfony.com",
662
- "keywords": [
663
- "compatibility",
664
- "mbstring",
665
- "polyfill",
666
- "portable",
667
- "shim"
668
- ]
669
- },
670
- {
671
- "name": "symfony/polyfill-intl-idn",
672
- "version": "v1.17.1",
673
- "version_normalized": "1.17.1.0",
674
- "source": {
675
- "type": "git",
676
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
677
- "reference": "a57f8161502549a742a63c09f0a604997bf47027"
678
- },
679
- "dist": {
680
- "type": "zip",
681
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a57f8161502549a742a63c09f0a604997bf47027",
682
- "reference": "a57f8161502549a742a63c09f0a604997bf47027",
683
- "shasum": ""
684
- },
685
- "require": {
686
- "php": ">=5.3.3",
687
- "symfony/polyfill-mbstring": "^1.3",
688
- "symfony/polyfill-php72": "^1.10"
689
- },
690
- "suggest": {
691
- "ext-intl": "For best performance"
692
- },
693
- "time": "2020-06-06 08:46:27",
694
- "type": "library",
695
- "extra": {
696
- "branch-alias": {
697
- "dev-master": "1.17-dev"
698
- },
699
- "thanks": {
700
- "name": "symfony/polyfill",
701
- "url": "https://github.com/symfony/polyfill"
702
- }
703
- },
704
- "installation-source": "dist",
705
- "autoload": {
706
- "psr-4": {
707
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
708
- },
709
- "files": [
710
- "bootstrap.php"
711
- ]
712
- },
713
- "notification-url": "https://packagist.org/downloads/",
714
- "license": [
715
- "MIT"
716
- ],
717
- "authors": [
718
- {
719
- "name": "Laurent Bassin",
720
- "email": "laurent@bassin.info"
721
- },
722
- {
723
- "name": "Symfony Community",
724
- "homepage": "https://symfony.com/contributors"
725
  }
726
  ],
727
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
728
- "homepage": "https://symfony.com",
729
  "keywords": [
730
- "compatibility",
731
- "idn",
732
- "intl",
733
- "polyfill",
734
- "portable",
735
- "shim"
736
  ]
737
  },
738
  {
@@ -790,39 +653,45 @@
790
  },
791
  {
792
  "name": "guzzlehttp/guzzle",
793
- "version": "6.5.5",
794
- "version_normalized": "6.5.5.0",
795
  "source": {
796
  "type": "git",
797
  "url": "https://github.com/guzzle/guzzle.git",
798
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e"
799
  },
800
  "dist": {
801
  "type": "zip",
802
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
803
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
804
  "shasum": ""
805
  },
806
  "require": {
807
  "ext-json": "*",
808
  "guzzlehttp/promises": "^1.0",
809
  "guzzlehttp/psr7": "^1.6.1",
810
- "php": ">=5.5",
811
- "symfony/polyfill-intl-idn": "^1.17.0"
 
 
 
812
  },
813
  "require-dev": {
814
  "ext-curl": "*",
815
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
 
816
  "psr/log": "^1.1"
817
  },
818
  "suggest": {
 
 
819
  "psr/log": "Required for using the Log middleware"
820
  },
821
- "time": "2020-06-16 21:01:06",
822
  "type": "library",
823
  "extra": {
824
  "branch-alias": {
825
- "dev-master": "6.5-dev"
826
  }
827
  },
828
  "installation-source": "dist",
@@ -843,6 +712,11 @@
843
  "name": "Michael Dowling",
844
  "email": "mtdowling@gmail.com",
845
  "homepage": "https://github.com/mtdowling"
 
 
 
 
 
846
  }
847
  ],
848
  "description": "Guzzle is a PHP HTTP client library",
@@ -853,6 +727,8 @@
853
  "framework",
854
  "http",
855
  "http client",
 
 
856
  "rest",
857
  "web service"
858
  ]
@@ -907,23 +783,26 @@
907
  },
908
  {
909
  "name": "firebase/php-jwt",
910
- "version": "v3.0.0",
911
- "version_normalized": "3.0.0.0",
912
  "source": {
913
  "type": "git",
914
  "url": "https://github.com/firebase/php-jwt.git",
915
- "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1"
916
  },
917
  "dist": {
918
  "type": "zip",
919
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1",
920
- "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1",
921
  "shasum": ""
922
  },
923
  "require": {
924
  "php": ">=5.3.0"
925
  },
926
- "time": "2015-07-22 18:31:08",
 
 
 
927
  "type": "library",
928
  "installation-source": "dist",
929
  "autoload": {
@@ -948,42 +827,50 @@
948
  }
949
  ],
950
  "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
951
- "homepage": "https://github.com/firebase/php-jwt"
 
 
 
 
952
  },
953
  {
954
  "name": "google/auth",
955
- "version": "v0.9",
956
- "version_normalized": "0.9.0.0",
957
  "source": {
958
  "type": "git",
959
  "url": "https://github.com/googleapis/google-auth-library-php.git",
960
- "reference": "47c3c6bece495e58381a21fed13a735bd23a51cc"
961
  },
962
  "dist": {
963
  "type": "zip",
964
- "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/47c3c6bece495e58381a21fed13a735bd23a51cc",
965
- "reference": "47c3c6bece495e58381a21fed13a735bd23a51cc",
966
  "shasum": ""
967
  },
968
  "require": {
969
- "firebase/php-jwt": "~2.0|~3.0",
970
- "guzzlehttp/guzzle": "~5.3|~6.0",
971
- "guzzlehttp/psr7": "~1.2",
972
  "php": ">=5.4",
973
  "psr/cache": "^1.0",
974
  "psr/http-message": "^1.0"
975
  },
976
  "require-dev": {
977
- "friendsofphp/php-cs-fixer": "^1.11",
978
- "phpunit/phpunit": "3.7.*"
 
 
 
 
 
 
 
979
  },
980
- "time": "2016-06-01 22:07:52",
981
  "type": "library",
982
  "installation-source": "dist",
983
  "autoload": {
984
- "classmap": [
985
- "src/"
986
- ],
987
  "psr-4": {
988
  "Google\\Auth\\": "src"
989
  }
@@ -1000,42 +887,84 @@
1000
  "oauth2"
1001
  ]
1002
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1003
  {
1004
  "name": "google/apiclient",
1005
- "version": "v2.0.1",
1006
- "version_normalized": "2.0.1.0",
1007
  "source": {
1008
  "type": "git",
1009
  "url": "https://github.com/googleapis/google-api-php-client.git",
1010
- "reference": "984f6a96297242e901bde518489374a9dec209df"
1011
  },
1012
  "dist": {
1013
  "type": "zip",
1014
- "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/984f6a96297242e901bde518489374a9dec209df",
1015
- "reference": "984f6a96297242e901bde518489374a9dec209df",
1016
  "shasum": ""
1017
  },
1018
  "require": {
1019
- "firebase/php-jwt": "~2.0|~3.0",
1020
- "google/apiclient-services": "*@dev",
1021
- "google/auth": "0.9",
1022
- "guzzlehttp/guzzle": "~5.2|~6.0",
1023
  "guzzlehttp/psr7": "^1.2",
1024
- "monolog/monolog": "^1.17",
1025
  "php": ">=5.4",
1026
- "phpseclib/phpseclib": "~2.0"
1027
  },
1028
  "require-dev": {
1029
- "phpunit/phpunit": "~4",
 
 
 
 
1030
  "squizlabs/php_codesniffer": "~2.3",
1031
  "symfony/css-selector": "~2.1",
1032
- "symfony/dom-crawler": "~2.1",
1033
- "tedivm/stash": "^0.14.1"
1034
  },
1035
  "suggest": {
1036
- "tedivm/stash": "For caching certs and tokens (using Google_Client::setCache)"
1037
  },
1038
- "time": "2016-06-24 16:44:42",
1039
  "type": "library",
1040
  "extra": {
1041
  "branch-alias": {
57
  },
58
  {
59
  "name": "codeinwp/themeisle-sdk",
60
+ "version": "3.2.15",
61
+ "version_normalized": "3.2.15.0",
62
  "source": {
63
  "type": "git",
64
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
65
+ "reference": "95b7447a5f4faba410c281c4bf278fbd740fed71"
66
  },
67
  "dist": {
68
  "type": "zip",
69
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/95b7447a5f4faba410c281c4bf278fbd740fed71",
70
+ "reference": "95b7447a5f4faba410c281c4bf278fbd740fed71",
71
  "shasum": ""
72
  },
73
  "require-dev": {
75
  "squizlabs/php_codesniffer": "^3.1",
76
  "wp-coding-standards/wpcs": "^1.0.0"
77
  },
78
+ "time": "2020-07-23 15:02:10",
79
  "type": "library",
80
  "installation-source": "dist",
81
  "notification-url": "https://packagist.org/downloads/",
157
  },
158
  {
159
  "name": "phpseclib/phpseclib",
160
+ "version": "2.0.29",
161
+ "version_normalized": "2.0.29.0",
162
  "source": {
163
  "type": "git",
164
  "url": "https://github.com/phpseclib/phpseclib.git",
165
+ "reference": "497856a8d997f640b4a516062f84228a772a48a8"
166
  },
167
  "dist": {
168
  "type": "zip",
169
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/497856a8d997f640b4a516062f84228a772a48a8",
170
+ "reference": "497856a8d997f640b4a516062f84228a772a48a8",
171
  "shasum": ""
172
  },
173
  "require": {
176
  "require-dev": {
177
  "phing/phing": "~2.7",
178
  "phpunit/phpunit": "^4.8.35|^5.7|^6.0",
 
179
  "squizlabs/php_codesniffer": "~2.0"
180
  },
181
  "suggest": {
184
  "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
185
  "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
186
  },
187
+ "time": "2020-09-08 04:24:43",
188
  "type": "library",
189
  "installation-source": "dist",
190
  "autoload": {
299
  },
300
  {
301
  "name": "monolog/monolog",
302
+ "version": "2.1.1",
303
+ "version_normalized": "2.1.1.0",
304
  "source": {
305
  "type": "git",
306
  "url": "https://github.com/Seldaek/monolog.git",
307
+ "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5"
308
  },
309
  "dist": {
310
  "type": "zip",
311
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9eee5cec93dfb313a38b6b288741e84e53f02d5",
312
+ "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5",
313
  "shasum": ""
314
  },
315
  "require": {
316
+ "php": ">=7.2",
317
+ "psr/log": "^1.0.1"
318
  },
319
  "provide": {
320
  "psr/log-implementation": "1.0.0"
322
  "require-dev": {
323
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
324
  "doctrine/couchdb": "~1.0@dev",
325
+ "elasticsearch/elasticsearch": "^6.0",
326
+ "graylog2/gelf-php": "^1.4.2",
327
  "php-amqplib/php-amqplib": "~2.4",
328
  "php-console/php-console": "^3.1.3",
329
+ "php-parallel-lint/php-parallel-lint": "^1.0",
330
+ "phpspec/prophecy": "^1.6.1",
331
+ "phpunit/phpunit": "^8.5",
332
+ "predis/predis": "^1.1",
333
+ "rollbar/rollbar": "^1.3",
334
  "ruflin/elastica": ">=0.90 <3.0",
 
335
  "swiftmailer/swiftmailer": "^5.3|^6.0"
336
  },
337
  "suggest": {
338
  "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
339
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
340
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
341
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
342
+ "ext-mbstring": "Allow to work properly with unicode symbols",
343
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
344
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
345
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
346
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
347
  "php-console/php-console": "Allow sending log messages to Google Chrome",
348
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
349
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
 
350
  },
351
+ "time": "2020-07-23 08:41:23",
352
  "type": "library",
353
  "extra": {
354
  "branch-alias": {
355
+ "dev-master": "2.x-dev"
356
  }
357
  },
358
  "installation-source": "dist",
548
  ]
549
  },
550
  {
551
+ "name": "psr/http-client",
552
+ "version": "1.0.1",
553
+ "version_normalized": "1.0.1.0",
554
  "source": {
555
  "type": "git",
556
+ "url": "https://github.com/php-fig/http-client.git",
557
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
558
  },
559
  "dist": {
560
  "type": "zip",
561
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
562
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
563
  "shasum": ""
564
  },
565
  "require": {
566
+ "php": "^7.0 || ^8.0",
567
+ "psr/http-message": "^1.0"
568
  },
569
+ "time": "2020-06-29 06:28:15",
570
  "type": "library",
571
  "extra": {
572
  "branch-alias": {
573
+ "dev-master": "1.0.x-dev"
574
  }
575
  },
576
  "installation-source": "dist",
577
  "autoload": {
578
  "psr-4": {
579
+ "Psr\\Http\\Client\\": "src/"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
  },
582
  "notification-url": "https://packagist.org/downloads/",
583
  "license": [
585
  ],
586
  "authors": [
587
  {
588
+ "name": "PHP-FIG",
589
+ "homepage": "http://www.php-fig.org/"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  }
591
  ],
592
+ "description": "Common interface for HTTP clients",
593
+ "homepage": "https://github.com/php-fig/http-client",
594
  "keywords": [
595
+ "http",
596
+ "http-client",
597
+ "psr",
598
+ "psr-18"
 
 
599
  ]
600
  },
601
  {
653
  },
654
  {
655
  "name": "guzzlehttp/guzzle",
656
+ "version": "7.1.0",
657
+ "version_normalized": "7.1.0.0",
658
  "source": {
659
  "type": "git",
660
  "url": "https://github.com/guzzle/guzzle.git",
661
+ "reference": "7edeaa528fbb57123028bd5a76b9ce9540194e26"
662
  },
663
  "dist": {
664
  "type": "zip",
665
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7edeaa528fbb57123028bd5a76b9ce9540194e26",
666
+ "reference": "7edeaa528fbb57123028bd5a76b9ce9540194e26",
667
  "shasum": ""
668
  },
669
  "require": {
670
  "ext-json": "*",
671
  "guzzlehttp/promises": "^1.0",
672
  "guzzlehttp/psr7": "^1.6.1",
673
+ "php": "^7.2.5",
674
+ "psr/http-client": "^1.0"
675
+ },
676
+ "provide": {
677
+ "psr/http-client-implementation": "1.0"
678
  },
679
  "require-dev": {
680
  "ext-curl": "*",
681
+ "php-http/client-integration-tests": "dev-phpunit8",
682
+ "phpunit/phpunit": "^8.5.5",
683
  "psr/log": "^1.1"
684
  },
685
  "suggest": {
686
+ "ext-curl": "Required for CURL handler support",
687
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
688
  "psr/log": "Required for using the Log middleware"
689
  },
690
+ "time": "2020-09-22 09:10:04",
691
  "type": "library",
692
  "extra": {
693
  "branch-alias": {
694
+ "dev-master": "7.1-dev"
695
  }
696
  },
697
  "installation-source": "dist",
712
  "name": "Michael Dowling",
713
  "email": "mtdowling@gmail.com",
714
  "homepage": "https://github.com/mtdowling"
715
+ },
716
+ {
717
+ "name": "Márk Sági-Kazár",
718
+ "email": "mark.sagikazar@gmail.com",
719
+ "homepage": "https://sagikazarmark.hu"
720
  }
721
  ],
722
  "description": "Guzzle is a PHP HTTP client library",
727
  "framework",
728
  "http",
729
  "http client",
730
+ "psr-18",
731
+ "psr-7",
732
  "rest",
733
  "web service"
734
  ]
783
  },
784
  {
785
  "name": "firebase/php-jwt",
786
+ "version": "v5.2.0",
787
+ "version_normalized": "5.2.0.0",
788
  "source": {
789
  "type": "git",
790
  "url": "https://github.com/firebase/php-jwt.git",
791
+ "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb"
792
  },
793
  "dist": {
794
  "type": "zip",
795
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/feb0e820b8436873675fd3aca04f3728eb2185cb",
796
+ "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb",
797
  "shasum": ""
798
  },
799
  "require": {
800
  "php": ">=5.3.0"
801
  },
802
+ "require-dev": {
803
+ "phpunit/phpunit": ">=4.8 <=9"
804
+ },
805
+ "time": "2020-03-25 18:49:23",
806
  "type": "library",
807
  "installation-source": "dist",
808
  "autoload": {
827
  }
828
  ],
829
  "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
830
+ "homepage": "https://github.com/firebase/php-jwt",
831
+ "keywords": [
832
+ "jwt",
833
+ "php"
834
+ ]
835
  },
836
  {
837
  "name": "google/auth",
838
+ "version": "v1.13.0",
839
+ "version_normalized": "1.13.0.0",
840
  "source": {
841
  "type": "git",
842
  "url": "https://github.com/googleapis/google-auth-library-php.git",
843
+ "reference": "173191f5defd1d9ae8bdfc28da31b63eb73dd34e"
844
  },
845
  "dist": {
846
  "type": "zip",
847
+ "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/173191f5defd1d9ae8bdfc28da31b63eb73dd34e",
848
+ "reference": "173191f5defd1d9ae8bdfc28da31b63eb73dd34e",
849
  "shasum": ""
850
  },
851
  "require": {
852
+ "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0",
853
+ "guzzlehttp/guzzle": "^5.3.1|^6.2.1|^7.0",
854
+ "guzzlehttp/psr7": "^1.2",
855
  "php": ">=5.4",
856
  "psr/cache": "^1.0",
857
  "psr/http-message": "^1.0"
858
  },
859
  "require-dev": {
860
+ "guzzlehttp/promises": "0.1.1|^1.3",
861
+ "kelvinmo/simplejwt": "^0.2.5",
862
+ "phpseclib/phpseclib": "^2",
863
+ "phpunit/phpunit": "^4.8.36|^5.7",
864
+ "sebastian/comparator": ">=1.2.3",
865
+ "squizlabs/php_codesniffer": "^3.5"
866
+ },
867
+ "suggest": {
868
+ "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2."
869
  },
870
+ "time": "2020-09-18 20:03:05",
871
  "type": "library",
872
  "installation-source": "dist",
873
  "autoload": {
 
 
 
874
  "psr-4": {
875
  "Google\\Auth\\": "src"
876
  }
887
  "oauth2"
888
  ]
889
  },
890
+ {
891
+ "name": "google/apiclient-services",
892
+ "version": "v0.147",
893
+ "version_normalized": "0.147.0.0",
894
+ "source": {
895
+ "type": "git",
896
+ "url": "https://github.com/googleapis/google-api-php-client-services.git",
897
+ "reference": "8624bd004cfccb33b760ae7650d0b750168cd7f7"
898
+ },
899
+ "dist": {
900
+ "type": "zip",
901
+ "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/8624bd004cfccb33b760ae7650d0b750168cd7f7",
902
+ "reference": "8624bd004cfccb33b760ae7650d0b750168cd7f7",
903
+ "shasum": ""
904
+ },
905
+ "require": {
906
+ "php": ">=5.4"
907
+ },
908
+ "require-dev": {
909
+ "phpunit/phpunit": "^4.8|^5"
910
+ },
911
+ "time": "2020-09-20 00:24:43",
912
+ "type": "library",
913
+ "installation-source": "dist",
914
+ "autoload": {
915
+ "psr-0": {
916
+ "Google_Service_": "src"
917
+ }
918
+ },
919
+ "notification-url": "https://packagist.org/downloads/",
920
+ "license": [
921
+ "Apache-2.0"
922
+ ],
923
+ "description": "Client library for Google APIs",
924
+ "homepage": "http://developers.google.com/api-client-library/php",
925
+ "keywords": [
926
+ "google"
927
+ ]
928
+ },
929
  {
930
  "name": "google/apiclient",
931
+ "version": "v2.7.1",
932
+ "version_normalized": "2.7.1.0",
933
  "source": {
934
  "type": "git",
935
  "url": "https://github.com/googleapis/google-api-php-client.git",
936
+ "reference": "e748d1d5a51166754f13809d35f1fa162cbec530"
937
  },
938
  "dist": {
939
  "type": "zip",
940
+ "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/e748d1d5a51166754f13809d35f1fa162cbec530",
941
+ "reference": "e748d1d5a51166754f13809d35f1fa162cbec530",
942
  "shasum": ""
943
  },
944
  "require": {
945
+ "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0",
946
+ "google/apiclient-services": "~0.13",
947
+ "google/auth": "^1.10",
948
+ "guzzlehttp/guzzle": "~5.3.1||~6.0||~7.0",
949
  "guzzlehttp/psr7": "^1.2",
950
+ "monolog/monolog": "^1.17|^2.0",
951
  "php": ">=5.4",
952
+ "phpseclib/phpseclib": "~0.3.10||~2.0"
953
  },
954
  "require-dev": {
955
+ "cache/filesystem-adapter": "^0.3.2",
956
+ "composer/composer": "^1.10",
957
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
958
+ "phpcompatibility/php-compatibility": "^9.2",
959
+ "phpunit/phpunit": "^4.8.36|^5.0",
960
  "squizlabs/php_codesniffer": "~2.3",
961
  "symfony/css-selector": "~2.1",
962
+ "symfony/dom-crawler": "~2.1"
 
963
  },
964
  "suggest": {
965
+ "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)"
966
  },
967
+ "time": "2020-09-08 16:38:08",
968
  "type": "library",
969
  "extra": {
970
  "branch-alias": {
vendor/firebase/php-jwt/README.md CHANGED
@@ -5,8 +5,7 @@
5
 
6
  PHP-JWT
7
  =======
8
- A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should
9
- conform to the [current spec](http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06)
10
 
11
  Installation
12
  ------------
@@ -24,7 +23,7 @@ Example
24
  use \Firebase\JWT\JWT;
25
 
26
  $key = "example_key";
27
- $token = array(
28
  "iss" => "http://example.org",
29
  "aud" => "http://example.com",
30
  "iat" => 1356999524,
@@ -37,7 +36,7 @@ $token = array(
37
  * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
38
  * for a list of spec-compliant algorithms.
39
  */
40
- $jwt = JWT::encode($token, $key);
41
  $decoded = JWT::decode($jwt, $key, array('HS256'));
42
 
43
  print_r($decoded);
@@ -59,12 +58,93 @@ $decoded_array = (array) $decoded;
59
  JWT::$leeway = 60; // $leeway in seconds
60
  $decoded = JWT::decode($jwt, $key, array('HS256'));
61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  ?>
63
  ```
64
 
65
  Changelog
66
  ---------
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  #### 3.0.0 / 2015-07-22
69
  - Minimum PHP version updated from `5.2.0` to `5.3.0`.
70
  - Add `\Firebase\JWT` namespace. See
@@ -109,6 +189,12 @@ Time: 0 seconds, Memory: 2.50Mb
109
  OK (5 tests, 5 assertions)
110
  ```
111
 
 
 
 
 
 
 
112
  License
113
  -------
114
  [3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause).
5
 
6
  PHP-JWT
7
  =======
8
+ A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to [RFC 7519](https://tools.ietf.org/html/rfc7519).
 
9
 
10
  Installation
11
  ------------
23
  use \Firebase\JWT\JWT;
24
 
25
  $key = "example_key";
26
+ $payload = array(
27
  "iss" => "http://example.org",
28
  "aud" => "http://example.com",
29
  "iat" => 1356999524,
36
  * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
37
  * for a list of spec-compliant algorithms.
38
  */
39
+ $jwt = JWT::encode($payload, $key);
40
  $decoded = JWT::decode($jwt, $key, array('HS256'));
41
 
42
  print_r($decoded);
58
  JWT::$leeway = 60; // $leeway in seconds
59
  $decoded = JWT::decode($jwt, $key, array('HS256'));
60
 
61
+ ?>
62
+ ```
63
+ Example with RS256 (openssl)
64
+ ----------------------------
65
+ ```php
66
+ <?php
67
+ use \Firebase\JWT\JWT;
68
+
69
+ $privateKey = <<<EOD
70
+ -----BEGIN RSA PRIVATE KEY-----
71
+ MIICXAIBAAKBgQC8kGa1pSjbSYZVebtTRBLxBz5H4i2p/llLCrEeQhta5kaQu/Rn
72
+ vuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t0tyazyZ8JXw+KgXTxldMPEL9
73
+ 5+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4ehde/zUxo6UvS7UrBQIDAQAB
74
+ AoGAb/MXV46XxCFRxNuB8LyAtmLDgi/xRnTAlMHjSACddwkyKem8//8eZtw9fzxz
75
+ bWZ/1/doQOuHBGYZU8aDzzj59FZ78dyzNFoF91hbvZKkg+6wGyd/LrGVEB+Xre0J
76
+ Nil0GReM2AHDNZUYRv+HYJPIOrB0CRczLQsgFJ8K6aAD6F0CQQDzbpjYdx10qgK1
77
+ cP59UHiHjPZYC0loEsk7s+hUmT3QHerAQJMZWC11Qrn2N+ybwwNblDKv+s5qgMQ5
78
+ 5tNoQ9IfAkEAxkyffU6ythpg/H0Ixe1I2rd0GbF05biIzO/i77Det3n4YsJVlDck
79
+ ZkcvY3SK2iRIL4c9yY6hlIhs+K9wXTtGWwJBAO9Dskl48mO7woPR9uD22jDpNSwe
80
+ k90OMepTjzSvlhjbfuPN1IdhqvSJTDychRwn1kIJ7LQZgQ8fVz9OCFZ/6qMCQGOb
81
+ qaGwHmUK6xzpUbbacnYrIM6nLSkXgOAwv7XXCojvY614ILTK3iXiLBOxPu5Eu13k
82
+ eUz9sHyD6vkgZzjtxXECQAkp4Xerf5TGfQXGXhxIX52yH+N2LtujCdkQZjXAsGdm
83
+ B2zNzvrlgRmgBrklMTrMYgm1NPcW+bRLGcwgW2PTvNM=
84
+ -----END RSA PRIVATE KEY-----
85
+ EOD;
86
+
87
+ $publicKey = <<<EOD
88
+ -----BEGIN PUBLIC KEY-----
89
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8kGa1pSjbSYZVebtTRBLxBz5H
90
+ 4i2p/llLCrEeQhta5kaQu/RnvuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t
91
+ 0tyazyZ8JXw+KgXTxldMPEL95+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4
92
+ ehde/zUxo6UvS7UrBQIDAQAB
93
+ -----END PUBLIC KEY-----
94
+ EOD;
95
+
96
+ $payload = array(
97
+ "iss" => "example.org",
98
+ "aud" => "example.com",
99
+ "iat" => 1356999524,
100
+ "nbf" => 1357000000
101
+ );
102
+
103
+ $jwt = JWT::encode($payload, $privateKey, 'RS256');
104
+ echo "Encode:\n" . print_r($jwt, true) . "\n";
105
+
106
+ $decoded = JWT::decode($jwt, $publicKey, array('RS256'));
107
+
108
+ /*
109
+ NOTE: This will now be an object instead of an associative array. To get
110
+ an associative array, you will need to cast it as such:
111
+ */
112
+
113
+ $decoded_array = (array) $decoded;
114
+ echo "Decode:\n" . print_r($decoded_array, true) . "\n";
115
  ?>
116
  ```
117
 
118
  Changelog
119
  ---------
120
 
121
+ #### 5.0.0 / 2017-06-26
122
+ - Support RS384 and RS512.
123
+ See [#117](https://github.com/firebase/php-jwt/pull/117). Thanks [@joostfaassen](https://github.com/joostfaassen)!
124
+ - Add an example for RS256 openssl.
125
+ See [#125](https://github.com/firebase/php-jwt/pull/125). Thanks [@akeeman](https://github.com/akeeman)!
126
+ - Detect invalid Base64 encoding in signature.
127
+ See [#162](https://github.com/firebase/php-jwt/pull/162). Thanks [@psignoret](https://github.com/psignoret)!
128
+ - Update `JWT::verify` to handle OpenSSL errors.
129
+ See [#159](https://github.com/firebase/php-jwt/pull/159). Thanks [@bshaffer](https://github.com/bshaffer)!
130
+ - Add `array` type hinting to `decode` method
131
+ See [#101](https://github.com/firebase/php-jwt/pull/101). Thanks [@hywak](https://github.com/hywak)!
132
+ - Add all JSON error types.
133
+ See [#110](https://github.com/firebase/php-jwt/pull/110). Thanks [@gbalduzzi](https://github.com/gbalduzzi)!
134
+ - Bugfix 'kid' not in given key list.
135
+ See [#129](https://github.com/firebase/php-jwt/pull/129). Thanks [@stampycode](https://github.com/stampycode)!
136
+ - Miscellaneous cleanup, documentation and test fixes.
137
+ See [#107](https://github.com/firebase/php-jwt/pull/107), [#115](https://github.com/firebase/php-jwt/pull/115),
138
+ [#160](https://github.com/firebase/php-jwt/pull/160), [#161](https://github.com/firebase/php-jwt/pull/161), and
139
+ [#165](https://github.com/firebase/php-jwt/pull/165). Thanks [@akeeman](https://github.com/akeeman),
140
+ [@chinedufn](https://github.com/chinedufn), and [@bshaffer](https://github.com/bshaffer)!
141
+
142
+ #### 4.0.0 / 2016-07-17
143
+ - Add support for late static binding. See [#88](https://github.com/firebase/php-jwt/pull/88) for details. Thanks to [@chappy84](https://github.com/chappy84)!
144
+ - Use static `$timestamp` instead of `time()` to improve unit testing. See [#93](https://github.com/firebase/php-jwt/pull/93) for details. Thanks to [@josephmcdermott](https://github.com/josephmcdermott)!
145
+ - Fixes to exceptions classes. See [#81](https://github.com/firebase/php-jwt/pull/81) for details. Thanks to [@Maks3w](https://github.com/Maks3w)!
146
+ - Fixes to PHPDoc. See [#76](https://github.com/firebase/php-jwt/pull/76) for details. Thanks to [@akeeman](https://github.com/akeeman)!
147
+
148
  #### 3.0.0 / 2015-07-22
149
  - Minimum PHP version updated from `5.2.0` to `5.3.0`.
150
  - Add `\Firebase\JWT` namespace. See
189
  OK (5 tests, 5 assertions)
190
  ```
191
 
192
+ New Lines in private keys
193
+ -----
194
+
195
+ If your private key contains `\n` characters, be sure to wrap it in double quotes `""`
196
+ and not single quotes `''` in order to properly interpret the escaped characters.
197
+
198
  License
199
  -------
200
  [3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause).
vendor/firebase/php-jwt/package.xml DELETED
@@ -1,77 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
3
- http://pear.php.net/dtd/tasks-1.0.xsd
4
- http://pear.php.net/dtd/package-2.0
5
- http://pear.php.net/dtd/package-2.0.xsd">
6
- <name>JWT</name>
7
- <channel>pear.php.net</channel>
8
- <summary>A JWT encoder/decoder.</summary>
9
- <description>A JWT encoder/decoder library for PHP.</description>
10
- <lead>
11
- <name>Neuman Vong</name>
12
- <user>lcfrs</user>
13
- <email>neuman+pear@twilio.com</email>
14
- <active>yes</active>
15
- </lead>
16
- <lead>
17
- <name>Firebase Operations</name>
18
- <user>firebase</user>
19
- <email>operations@firebase.com</email>
20
- <active>yes</active>
21
- </lead>
22
- <date>2015-07-22</date>
23
- <version>
24
- <release>3.0.0</release>
25
- <api>3.0.0</api>
26
- </version>
27
- <stability>
28
- <release>beta</release>
29
- <api>beta</api>
30
- </stability>
31
- <license uri="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
32
- <notes>
33
- Initial release with basic support for JWT encoding, decoding and signature verification.
34
- </notes>
35
- <contents>
36
- <dir baseinstalldir="/" name="/">
37
- <dir name="tests">
38
- <file name="JWTTest.php" role="test" />
39
- </dir>
40
- <file name="Authentication/JWT.php" role="php" />
41
- </dir>
42
- </contents>
43
- <dependencies>
44
- <required>
45
- <php>
46
- <min>5.1</min>
47
- </php>
48
- <pearinstaller>
49
- <min>1.7.0</min>
50
- </pearinstaller>
51
- <extension>
52
- <name>json</name>
53
- </extension>
54
- <extension>
55
- <name>hash</name>
56
- </extension>
57
- </required>
58
- </dependencies>
59
- <phprelease />
60
- <changelog>
61
- <release>
62
- <version>
63
- <release>0.1.0</release>
64
- <api>0.1.0</api>
65
- </version>
66
- <stability>
67
- <release>beta</release>
68
- <api>beta</api>
69
- </stability>
70
- <date>2015-04-01</date>
71
- <license uri="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
72
- <notes>
73
- Initial release with basic support for JWT encoding, decoding and signature verification.
74
- </notes>
75
- </release>
76
- </changelog>
77
- </package>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/phpunit.xml.dist DELETED
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <phpunit backupGlobals="false"
4
- backupStaticAttributes="false"
5
- colors="true"
6
- convertErrorsToExceptions="true"
7
- convertNoticesToExceptions="true"
8
- convertWarningsToExceptions="true"
9
- processIsolation="false"
10
- stopOnFailure="false"
11
- syntaxCheck="false"
12
- bootstrap="tests/bootstrap.php"
13
- >
14
- <testsuites>
15
- <testsuite name="PHP JSON Web Token Test Suite">
16
- <directory>./tests</directory>
17
- </testsuite>
18
- </testsuites>
19
- </phpunit>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/run-tests.sh DELETED
@@ -1,38 +0,0 @@
1
-
2
- #!/usr/bin/env bash
3
- gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
4
- if [ $? -ne 0 ]; then
5
- echo -e "\033[33mDownloading PGP Public Key...\033[0m"
6
- gpg --recv-keys D8406D0D82947747293778314AA394086372C20A
7
- # Sebastian Bergmann <sb@sebastian-bergmann.de>
8
- gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
9
- if [ $? -ne 0 ]; then
10
- echo -e "\033[31mCould not download PGP public key for verification\033[0m"
11
- exit
12
- fi
13
- fi
14
-
15
- # Let's grab the latest release and its signature
16
- if [ ! -f phpunit.phar ]; then
17
- wget https://phar.phpunit.de/phpunit.phar
18
- fi
19
- if [ ! -f phpunit.phar.asc ]; then
20
- wget https://phar.phpunit.de/phpunit.phar.asc
21
- fi
22
-
23
- # Verify before running
24
- gpg --verify phpunit.phar.asc phpunit.phar
25
- if [ $? -eq 0 ]; then
26
- echo
27
- echo -e "\033[33mBegin Unit Testing\033[0m"
28
- # Run the testing suite
29
- php --version
30
- php phpunit.phar --configuration phpunit.xml.dist
31
- else
32
- echo
33
- chmod -x phpunit.phar
34
- mv phpunit.phar /tmp/bad-phpunit.phar
35
- mv phpunit.phar.asc /tmp/bad-phpunit.phar.asc
36
- echo -e "\033[31mSignature did not match! PHPUnit has been moved to /tmp/bad-phpunit.phar\033[0m"
37
- exit 1
38
- fi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/src/BeforeValidException.php CHANGED
@@ -3,5 +3,4 @@ namespace Firebase\JWT;
3
 
4
  class BeforeValidException extends \UnexpectedValueException
5
  {
6
-
7
  }
3
 
4
  class BeforeValidException extends \UnexpectedValueException
5
  {
 
6
  }
vendor/firebase/php-jwt/src/ExpiredException.php CHANGED
@@ -3,5 +3,4 @@ namespace Firebase\JWT;
3
 
4
  class ExpiredException extends \UnexpectedValueException
5
  {
6
-
7
  }
3
 
4
  class ExpiredException extends \UnexpectedValueException
5
  {
 
6
  }
vendor/firebase/php-jwt/src/JWK.php ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Firebase\JWT;
4
+
5
+ use DomainException;
6
+ use UnexpectedValueException;
7
+
8
+ /**
9
+ * JSON Web Key implementation, based on this spec:
10
+ * https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41
11
+ *
12
+ * PHP version 5
13
+ *
14
+ * @category Authentication
15
+ * @package Authentication_JWT
16
+ * @author Bui Sy Nguyen <nguyenbs@gmail.com>
17
+ * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD
18
+ * @link https://github.com/firebase/php-jwt
19
+ */
20
+ class JWK
21
+ {
22
+ /**
23
+ * Parse a set of JWK keys
24
+ *
25
+ * @param array $jwks The JSON Web Key Set as an associative array
26
+ *
27
+ * @return array An associative array that represents the set of keys
28
+ *
29
+ * @throws InvalidArgumentException Provided JWK Set is empty
30
+ * @throws UnexpectedValueException Provided JWK Set was invalid
31
+ * @throws DomainException OpenSSL failure
32
+ *
33
+ * @uses parseKey
34
+ */
35
+ public static function parseKeySet(array $jwks)
36
+ {
37
+ $keys = array();
38
+
39
+ if (!isset($jwks['keys'])) {
40
+ throw new UnexpectedValueException('"keys" member must exist in the JWK Set');
41
+ }
42
+ if (empty($jwks['keys'])) {
43
+ throw new InvalidArgumentException('JWK Set did not contain any keys');
44
+ }
45
+
46
+ foreach ($jwks['keys'] as $k => $v) {
47
+ $kid = isset($v['kid']) ? $v['kid'] : $k;
48
+ if ($key = self::parseKey($v)) {
49
+ $keys[$kid] = $key;
50
+ }
51
+ }
52
+
53
+ if (0 === \count($keys)) {
54
+ throw new UnexpectedValueException('No supported algorithms found in JWK Set');
55
+ }
56
+
57
+ return $keys;
58
+ }
59
+
60
+ /**
61
+ * Parse a JWK key
62
+ *
63
+ * @param array $jwk An individual JWK
64
+ *
65
+ * @return resource|array An associative array that represents the key
66
+ *
67
+ * @throws InvalidArgumentException Provided JWK is empty
68
+ * @throws UnexpectedValueException Provided JWK was invalid
69
+ * @throws DomainException OpenSSL failure
70
+ *
71
+ * @uses createPemFromModulusAndExponent
72
+ */
73
+ private static function parseKey(array $jwk)
74
+ {
75
+ if (empty($jwk)) {
76
+ throw new InvalidArgumentException('JWK must not be empty');
77
+ }
78
+ if (!isset($jwk['kty'])) {
79
+ throw new UnexpectedValueException('JWK must contain a "kty" parameter');
80
+ }
81
+
82
+ switch ($jwk['kty']) {
83
+ case 'RSA':
84
+ if (\array_key_exists('d', $jwk)) {
85
+ throw new UnexpectedValueException('RSA private keys are not supported');
86
+ }
87
+ if (!isset($jwk['n']) || !isset($jwk['e'])) {
88
+ throw new UnexpectedValueException('RSA keys must contain values for both "n" and "e"');
89
+ }
90
+
91
+ $pem = self::createPemFromModulusAndExponent($jwk['n'], $jwk['e']);
92
+ $publicKey = \openssl_pkey_get_public($pem);
93
+ if (false === $publicKey) {
94
+ throw new DomainException(
95
+ 'OpenSSL error: ' . \openssl_error_string()
96
+ );
97
+ }
98
+ return $publicKey;
99
+ default:
100
+ // Currently only RSA is supported
101
+ break;
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Create a public key represented in PEM format from RSA modulus and exponent information
107
+ *
108
+ * @param string $n The RSA modulus encoded in Base64
109
+ * @param string $e The RSA exponent encoded in Base64
110
+ *
111
+ * @return string The RSA public key represented in PEM format
112
+ *
113
+ * @uses encodeLength
114
+ */
115
+ private static function createPemFromModulusAndExponent($n, $e)
116
+ {
117
+ $modulus = JWT::urlsafeB64Decode($n);
118
+ $publicExponent = JWT::urlsafeB64Decode($e);
119
+
120
+ $components = array(
121
+ 'modulus' => \pack('Ca*a*', 2, self::encodeLength(\strlen($modulus)), $modulus),
122
+ 'publicExponent' => \pack('Ca*a*', 2, self::encodeLength(\strlen($publicExponent)), $publicExponent)
123
+ );
124
+
125
+ $rsaPublicKey = \pack(
126
+ 'Ca*a*a*',
127
+ 48,
128
+ self::encodeLength(\strlen($components['modulus']) + \strlen($components['publicExponent'])),
129
+ $components['modulus'],
130
+ $components['publicExponent']
131
+ );
132
+
133
+ // sequence(oid(1.2.840.113549.1.1.1), null)) = rsaEncryption.
134
+ $rsaOID = \pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA
135
+ $rsaPublicKey = \chr(0) . $rsaPublicKey;
136
+ $rsaPublicKey = \chr(3) . self::encodeLength(\strlen($rsaPublicKey)) . $rsaPublicKey;
137
+
138
+ $rsaPublicKey = \pack(
139
+ 'Ca*a*',
140
+ 48,
141
+ self::encodeLength(\strlen($rsaOID . $rsaPublicKey)),
142
+ $rsaOID . $rsaPublicKey
143
+ );
144
+
145
+ $rsaPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" .
146
+ \chunk_split(\base64_encode($rsaPublicKey), 64) .
147
+ '-----END PUBLIC KEY-----';
148
+
149
+ return $rsaPublicKey;
150
+ }
151
+
152
+ /**
153
+ * DER-encode the length
154
+ *
155
+ * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See
156
+ * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information.
157
+ *
158
+ * @param int $length
159
+ * @return string
160
+ */
161
+ private static function encodeLength($length)
162
+ {
163
+ if ($length <= 0x7F) {
164
+ return \chr($length);
165
+ }
166
+
167
+ $temp = \ltrim(\pack('N', $length), \chr(0));
168
+
169
+ return \pack('Ca*', 0x80 | \strlen($temp), $temp);
170
+ }
171
+ }
vendor/firebase/php-jwt/src/JWT.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
 
3
  namespace Firebase\JWT;
 
4
  use \DomainException;
5
  use \InvalidArgumentException;
6
  use \UnexpectedValueException;
@@ -8,7 +9,7 @@ use \DateTime;
8
 
9
  /**
10
  * JSON Web Token implementation, based on this spec:
11
- * http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06
12
  *
13
  * PHP version 5
14
  *
@@ -21,6 +22,9 @@ use \DateTime;
21
  */
22
  class JWT
23
  {
 
 
 
24
 
25
  /**
26
  * When checking nbf, iat or expiration times,
@@ -29,25 +33,35 @@ class JWT
29
  */
30
  public static $leeway = 0;
31
 
 
 
 
 
 
 
 
 
32
  public static $supported_algs = array(
 
33
  'HS256' => array('hash_hmac', 'SHA256'),
34
- 'HS512' => array('hash_hmac', 'SHA512'),
35
  'HS384' => array('hash_hmac', 'SHA384'),
 
36
  'RS256' => array('openssl', 'SHA256'),
 
 
37
  );
38
 
39
  /**
40
  * Decodes a JWT string into a PHP object.
41
  *
42
- * @param string $jwt The JWT
43
- * @param string|array|null $key The key, or map of keys.
44
- * If the algorithm used is asymmetric, this is the public key
45
- * @param array $allowed_algs List of supported verification algorithms
46
- * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
47
  *
48
  * @return object The JWT's payload as a PHP object
49
  *
50
- * @throws DomainException Algorithm was not provided
51
  * @throws UnexpectedValueException Provided JWT was invalid
52
  * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
53
  * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
@@ -57,65 +71,76 @@ class JWT
57
  * @uses jsonDecode
58
  * @uses urlsafeB64Decode
59
  */
60
- public static function decode($jwt, $key, $allowed_algs = array())
61
  {
 
 
62
  if (empty($key)) {
63
  throw new InvalidArgumentException('Key may not be empty');
64
  }
65
- $tks = explode('.', $jwt);
66
- if (count($tks) != 3) {
67
  throw new UnexpectedValueException('Wrong number of segments');
68
  }
69
  list($headb64, $bodyb64, $cryptob64) = $tks;
70
- if (null === ($header = JWT::jsonDecode(JWT::urlsafeB64Decode($headb64)))) {
71
  throw new UnexpectedValueException('Invalid header encoding');
72
  }
73
- if (null === $payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64))) {
74
  throw new UnexpectedValueException('Invalid claims encoding');
75
  }
76
- $sig = JWT::urlsafeB64Decode($cryptob64);
77
-
 
78
  if (empty($header->alg)) {
79
- throw new DomainException('Empty algorithm');
80
  }
81
- if (empty(self::$supported_algs[$header->alg])) {
82
- throw new DomainException('Algorithm not supported');
83
  }
84
- if (!is_array($allowed_algs) || !in_array($header->alg, $allowed_algs)) {
85
- throw new DomainException('Algorithm not allowed');
86
  }
87
- if (is_array($key) || $key instanceof \ArrayAccess) {
 
 
 
 
 
88
  if (isset($header->kid)) {
 
 
 
89
  $key = $key[$header->kid];
90
  } else {
91
- throw new DomainException('"kid" empty, unable to lookup correct key');
92
  }
93
  }
94
 
95
  // Check the signature
96
- if (!JWT::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) {
97
  throw new SignatureInvalidException('Signature verification failed');
98
  }
99
 
100
- // Check if the nbf if it is defined. This is the time that the
101
  // token can actually be used. If it's not yet that time, abort.
102
- if (isset($payload->nbf) && $payload->nbf > (time() + self::$leeway)) {
103
  throw new BeforeValidException(
104
- 'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf)
105
  );
106
  }
107
 
108
  // Check that this token has been created before 'now'. This prevents
109
  // using tokens that have been created for later use (and haven't
110
  // correctly used the nbf claim).
111
- if (isset($payload->iat) && $payload->iat > (time() + self::$leeway)) {
112
  throw new BeforeValidException(
113
- 'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
114
  );
115
  }
116
 
117
  // Check if this token has expired.
118
- if (isset($payload->exp) && (time() - self::$leeway) >= $payload->exp) {
119
  throw new ExpiredException('Expired token');
120
  }
121
 
@@ -129,7 +154,8 @@ class JWT
129
  * @param string $key The secret key.
130
  * If the algorithm used is asymmetric, this is the private key
131
  * @param string $alg The signing algorithm.
132
- * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
 
133
  * @param array $head An array with header elements to attach
134
  *
135
  * @return string A signed JWT
@@ -143,18 +169,18 @@ class JWT
143
  if ($keyId !== null) {
144
  $header['kid'] = $keyId;
145
  }
146
- if ( isset($head) && is_array($head) ) {
147
- $header = array_merge($head, $header);
148
  }
149
  $segments = array();
150
- $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($header));
151
- $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($payload));
152
- $signing_input = implode('.', $segments);
153
 
154
- $signature = JWT::sign($signing_input, $key, $alg);
155
- $segments[] = JWT::urlsafeB64Encode($signature);
156
 
157
- return implode('.', $segments);
158
  }
159
 
160
  /**
@@ -163,7 +189,7 @@ class JWT
163
  * @param string $msg The message to sign
164
  * @param string|resource $key The secret key
165
  * @param string $alg The signing algorithm.
166
- * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
167
  *
168
  * @return string An encrypted message
169
  *
@@ -171,19 +197,22 @@ class JWT
171
  */
172
  public static function sign($msg, $key, $alg = 'HS256')
173
  {
174
- if (empty(self::$supported_algs[$alg])) {
175
  throw new DomainException('Algorithm not supported');
176
  }
177
- list($function, $algorithm) = self::$supported_algs[$alg];
178
- switch($function) {
179
  case 'hash_hmac':
180
- return hash_hmac($algorithm, $msg, $key, true);
181
  case 'openssl':
182
  $signature = '';
183
- $success = openssl_sign($msg, $signature, $key, $algorithm);
184
  if (!$success) {
185
  throw new DomainException("OpenSSL unable to sign data");
186
  } else {
 
 
 
187
  return $signature;
188
  }
189
  }
@@ -204,32 +233,36 @@ class JWT
204
  */
205
  private static function verify($msg, $signature, $key, $alg)
206
  {
207
- if (empty(self::$supported_algs[$alg])) {
208
  throw new DomainException('Algorithm not supported');
209
  }
210
 
211
- list($function, $algorithm) = self::$supported_algs[$alg];
212
- switch($function) {
213
  case 'openssl':
214
- $success = openssl_verify($msg, $signature, $key, $algorithm);
215
- if (!$success) {
216
- throw new DomainException("OpenSSL unable to verify data: " . openssl_error_string());
217
- } else {
218
- return $signature;
219
  }
 
 
 
 
220
  case 'hash_hmac':
221
  default:
222
- $hash = hash_hmac($algorithm, $msg, $key, true);
223
- if (function_exists('hash_equals')) {
224
- return hash_equals($signature, $hash);
225
  }
226
- $len = min(self::safeStrlen($signature), self::safeStrlen($hash));
227
 
228
  $status = 0;
229
  for ($i = 0; $i < $len; $i++) {
230
- $status |= (ord($signature[$i]) ^ ord($hash[$i]));
231
  }
232
- $status |= (self::safeStrlen($signature) ^ self::safeStrlen($hash));
233
 
234
  return ($status === 0);
235
  }
@@ -246,24 +279,24 @@ class JWT
246
  */
247
  public static function jsonDecode($input)
248
  {
249
- if (version_compare(PHP_VERSION, '5.4.0', '>=') && !(defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)) {
250
  /** In PHP >=5.4.0, json_decode() accepts an options parameter, that allows you
251
  * to specify that large ints (like Steam Transaction IDs) should be treated as
252
  * strings, rather than the PHP default behaviour of converting them to floats.
253
  */
254
- $obj = json_decode($input, false, 512, JSON_BIGINT_AS_STRING);
255
  } else {
256
  /** Not all servers will support that, however, so for older versions we must
257
  * manually detect large ints in the JSON string and quote them (thus converting
258
  *them to strings) before decoding, hence the preg_replace() call.
259
  */
260
- $max_int_length = strlen((string) PHP_INT_MAX) - 1;
261
- $json_without_bigints = preg_replace('/:\s*(-?\d{'.$max_int_length.',})/', ': "$1"', $input);
262
- $obj = json_decode($json_without_bigints);
263
  }
264
 
265
- if (function_exists('json_last_error') && $errno = json_last_error()) {
266
- JWT::handleJsonError($errno);
267
  } elseif ($obj === null && $input !== 'null') {
268
  throw new DomainException('Null result with non-null input');
269
  }
@@ -281,9 +314,9 @@ class JWT
281
  */
282
  public static function jsonEncode($input)
283
  {
284
- $json = json_encode($input);
285
- if (function_exists('json_last_error') && $errno = json_last_error()) {
286
- JWT::handleJsonError($errno);
287
  } elseif ($json === 'null' && $input !== null) {
288
  throw new DomainException('Null result with non-null input');
289
  }
@@ -299,12 +332,12 @@ class JWT
299
  */
300
  public static function urlsafeB64Decode($input)
301
  {
302
- $remainder = strlen($input) % 4;
303
  if ($remainder) {
304
  $padlen = 4 - $remainder;
305
- $input .= str_repeat('=', $padlen);
306
  }
307
- return base64_decode(strtr($input, '-_', '+/'));
308
  }
309
 
310
  /**
@@ -316,7 +349,7 @@ class JWT
316
  */
317
  public static function urlsafeB64Encode($input)
318
  {
319
- return str_replace('=', '', strtr(base64_encode($input), '+/', '-_'));
320
  }
321
 
322
  /**
@@ -330,8 +363,10 @@ class JWT
330
  {
331
  $messages = array(
332
  JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
 
333
  JSON_ERROR_CTRL_CHAR => 'Unexpected control character found',
334
- JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON'
 
335
  );
336
  throw new DomainException(
337
  isset($messages[$errno])
@@ -343,15 +378,135 @@ class JWT
343
  /**
344
  * Get the number of bytes in cryptographic strings.
345
  *
346
- * @param string
347
  *
348
  * @return int
349
  */
350
  private static function safeStrlen($str)
351
  {
352
- if (function_exists('mb_strlen')) {
353
- return mb_strlen($str, '8bit');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  }
355
- return strlen($str);
 
 
 
 
 
 
 
 
 
 
 
 
 
356
  }
357
  }
1
  <?php
2
 
3
  namespace Firebase\JWT;
4
+
5
  use \DomainException;
6
  use \InvalidArgumentException;
7
  use \UnexpectedValueException;
9
 
10
  /**
11
  * JSON Web Token implementation, based on this spec:
12
+ * https://tools.ietf.org/html/rfc7519
13
  *
14
  * PHP version 5
15
  *
22
  */
23
  class JWT
24
  {
25
+ const ASN1_INTEGER = 0x02;
26
+ const ASN1_SEQUENCE = 0x10;
27
+ const ASN1_BIT_STRING = 0x03;
28
 
29
  /**
30
  * When checking nbf, iat or expiration times,
33
  */
34
  public static $leeway = 0;
35
 
36
+ /**
37
+ * Allow the current timestamp to be specified.
38
+ * Useful for fixing a value within unit testing.
39
+ *
40
+ * Will default to PHP time() value if null.
41
+ */
42
+ public static $timestamp = null;
43
+
44
  public static $supported_algs = array(
45
+ 'ES256' => array('openssl', 'SHA256'),
46
  'HS256' => array('hash_hmac', 'SHA256'),
 
47
  'HS384' => array('hash_hmac', 'SHA384'),
48
+ 'HS512' => array('hash_hmac', 'SHA512'),
49
  'RS256' => array('openssl', 'SHA256'),
50
+ 'RS384' => array('openssl', 'SHA384'),
51
+ 'RS512' => array('openssl', 'SHA512'),
52
  );
53
 
54
  /**
55
  * Decodes a JWT string into a PHP object.
56
  *
57
+ * @param string $jwt The JWT
58
+ * @param string|array|resource $key The key, or map of keys.
59
+ * If the algorithm used is asymmetric, this is the public key
60
+ * @param array $allowed_algs List of supported verification algorithms
61
+ * Supported algorithms are 'ES256', 'HS256', 'HS384', 'HS512', 'RS256', 'RS384', and 'RS512'
62
  *
63
  * @return object The JWT's payload as a PHP object
64
  *
 
65
  * @throws UnexpectedValueException Provided JWT was invalid
66
  * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
67
  * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
71
  * @uses jsonDecode
72
  * @uses urlsafeB64Decode
73
  */
74
+ public static function decode($jwt, $key, array $allowed_algs = array())
75
  {
76
+ $timestamp = \is_null(static::$timestamp) ? \time() : static::$timestamp;
77
+
78
  if (empty($key)) {
79
  throw new InvalidArgumentException('Key may not be empty');
80
  }
81
+ $tks = \explode('.', $jwt);
82
+ if (\count($tks) != 3) {
83
  throw new UnexpectedValueException('Wrong number of segments');
84
  }
85
  list($headb64, $bodyb64, $cryptob64) = $tks;
86
+ if (null === ($header = static::jsonDecode(static::urlsafeB64Decode($headb64)))) {
87
  throw new UnexpectedValueException('Invalid header encoding');
88
  }
89
+ if (null === $payload = static::jsonDecode(static::urlsafeB64Decode($bodyb64))) {
90
  throw new UnexpectedValueException('Invalid claims encoding');
91
  }
92
+ if (false === ($sig = static::urlsafeB64Decode($cryptob64))) {
93
+ throw new UnexpectedValueException('Invalid signature encoding');
94
+ }
95
  if (empty($header->alg)) {
96
+ throw new UnexpectedValueException('Empty algorithm');
97
  }
98
+ if (empty(static::$supported_algs[$header->alg])) {
99
+ throw new UnexpectedValueException('Algorithm not supported');
100
  }
101
+ if (!\in_array($header->alg, $allowed_algs)) {
102
+ throw new UnexpectedValueException('Algorithm not allowed');
103
  }
104
+ if ($header->alg === 'ES256') {
105
+ // OpenSSL expects an ASN.1 DER sequence for ES256 signatures
106
+ $sig = self::signatureToDER($sig);
107
+ }
108
+
109
+ if (\is_array($key) || $key instanceof \ArrayAccess) {
110
  if (isset($header->kid)) {
111
+ if (!isset($key[$header->kid])) {
112
+ throw new UnexpectedValueException('"kid" invalid, unable to lookup correct key');
113
+ }
114
  $key = $key[$header->kid];
115
  } else {
116
+ throw new UnexpectedValueException('"kid" empty, unable to lookup correct key');
117
  }
118
  }
119
 
120
  // Check the signature
121
+ if (!static::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) {
122
  throw new SignatureInvalidException('Signature verification failed');
123
  }
124
 
125
+ // Check the nbf if it is defined. This is the time that the
126
  // token can actually be used. If it's not yet that time, abort.
127
+ if (isset($payload->nbf) && $payload->nbf > ($timestamp + static::$leeway)) {
128
  throw new BeforeValidException(
129
+ 'Cannot handle token prior to ' . \date(DateTime::ISO8601, $payload->nbf)
130
  );
131
  }
132
 
133
  // Check that this token has been created before 'now'. This prevents
134
  // using tokens that have been created for later use (and haven't
135
  // correctly used the nbf claim).
136
+ if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) {
137
  throw new BeforeValidException(
138
+ 'Cannot handle token prior to ' . \date(DateTime::ISO8601, $payload->iat)
139
  );
140
  }
141
 
142
  // Check if this token has expired.
143
+ if (isset($payload->exp) && ($timestamp - static::$leeway) >= $payload->exp) {
144
  throw new ExpiredException('Expired token');
145
  }
146
 
154
  * @param string $key The secret key.
155
  * If the algorithm used is asymmetric, this is the private key
156
  * @param string $alg The signing algorithm.
157
+ * Supported algorithms are 'ES256', 'HS256', 'HS384', 'HS512', 'RS256', 'RS384', and 'RS512'
158
+ * @param mixed $keyId
159
  * @param array $head An array with header elements to attach
160
  *
161
  * @return string A signed JWT
169
  if ($keyId !== null) {
170
  $header['kid'] = $keyId;
171
  }
172
+ if (isset($head) && \is_array($head)) {
173
+ $header = \array_merge($head, $header);
174
  }
175
  $segments = array();
176
+ $segments[] = static::urlsafeB64Encode(static::jsonEncode($header));
177
+ $segments[] = static::urlsafeB64Encode(static::jsonEncode($payload));
178
+ $signing_input = \implode('.', $segments);
179
 
180
+ $signature = static::sign($signing_input, $key, $alg);
181
+ $segments[] = static::urlsafeB64Encode($signature);
182
 
183
+ return \implode('.', $segments);
184
  }
185
 
186
  /**
189
  * @param string $msg The message to sign
190
  * @param string|resource $key The secret key
191
  * @param string $alg The signing algorithm.
192
+ * Supported algorithms are 'ES256', 'HS256', 'HS384', 'HS512', 'RS256', 'RS384', and 'RS512'
193
  *
194
  * @return string An encrypted message
195
  *
197
  */
198
  public static function sign($msg, $key, $alg = 'HS256')
199
  {
200
+ if (empty(static::$supported_algs[$alg])) {
201
  throw new DomainException('Algorithm not supported');
202
  }
203
+ list($function, $algorithm) = static::$supported_algs[$alg];
204
+ switch ($function) {
205
  case 'hash_hmac':
206
+ return \hash_hmac($algorithm, $msg, $key, true);
207
  case 'openssl':
208
  $signature = '';
209
+ $success = \openssl_sign($msg, $signature, $key, $algorithm);
210
  if (!$success) {
211
  throw new DomainException("OpenSSL unable to sign data");
212
  } else {
213
+ if ($alg === 'ES256') {
214
+ $signature = self::signatureFromDER($signature, 256);
215
+ }
216
  return $signature;
217
  }
218
  }
233
  */
234
  private static function verify($msg, $signature, $key, $alg)
235
  {
236
+ if (empty(static::$supported_algs[$alg])) {
237
  throw new DomainException('Algorithm not supported');
238
  }
239
 
240
+ list($function, $algorithm) = static::$supported_algs[$alg];
241
+ switch ($function) {
242
  case 'openssl':
243
+ $success = \openssl_verify($msg, $signature, $key, $algorithm);
244
+ if ($success === 1) {
245
+ return true;
246
+ } elseif ($success === 0) {
247
+ return false;
248
  }
249
+ // returns 1 on success, 0 on failure, -1 on error.
250
+ throw new DomainException(
251
+ 'OpenSSL error: ' . \openssl_error_string()
252
+ );
253
  case 'hash_hmac':
254
  default:
255
+ $hash = \hash_hmac($algorithm, $msg, $key, true);
256
+ if (\function_exists('hash_equals')) {
257
+ return \hash_equals($signature, $hash);
258
  }
259
+ $len = \min(static::safeStrlen($signature), static::safeStrlen($hash));
260
 
261
  $status = 0;
262
  for ($i = 0; $i < $len; $i++) {
263
+ $status |= (\ord($signature[$i]) ^ \ord($hash[$i]));
264
  }
265
+ $status |= (static::safeStrlen($signature) ^ static::safeStrlen($hash));
266
 
267
  return ($status === 0);
268
  }
279
  */
280
  public static function jsonDecode($input)
281
  {
282
+ if (\version_compare(PHP_VERSION, '5.4.0', '>=') && !(\defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)) {
283
  /** In PHP >=5.4.0, json_decode() accepts an options parameter, that allows you
284
  * to specify that large ints (like Steam Transaction IDs) should be treated as
285
  * strings, rather than the PHP default behaviour of converting them to floats.
286
  */
287
+ $obj = \json_decode($input, false, 512, JSON_BIGINT_AS_STRING);
288
  } else {
289
  /** Not all servers will support that, however, so for older versions we must
290
  * manually detect large ints in the JSON string and quote them (thus converting
291
  *them to strings) before decoding, hence the preg_replace() call.
292
  */
293
+ $max_int_length = \strlen((string) PHP_INT_MAX) - 1;
294
+ $json_without_bigints = \preg_replace('/:\s*(-?\d{'.$max_int_length.',})/', ': "$1"', $input);
295
+ $obj = \json_decode($json_without_bigints);
296
  }
297
 
298
+ if ($errno = \json_last_error()) {
299
+ static::handleJsonError($errno);
300
  } elseif ($obj === null && $input !== 'null') {
301
  throw new DomainException('Null result with non-null input');
302
  }
314
  */
315
  public static function jsonEncode($input)
316
  {
317
+ $json = \json_encode($input);
318
+ if ($errno = \json_last_error()) {
319
+ static::handleJsonError($errno);
320
  } elseif ($json === 'null' && $input !== null) {
321
  throw new DomainException('Null result with non-null input');
322
  }
332
  */
333
  public static function urlsafeB64Decode($input)
334
  {
335
+ $remainder = \strlen($input) % 4;
336
  if ($remainder) {
337
  $padlen = 4 - $remainder;
338
+ $input .= \str_repeat('=', $padlen);
339
  }
340
+ return \base64_decode(\strtr($input, '-_', '+/'));
341
  }
342
 
343
  /**
349
  */
350
  public static function urlsafeB64Encode($input)
351
  {
352
+ return \str_replace('=', '', \strtr(\base64_encode($input), '+/', '-_'));
353
  }
354
 
355
  /**
363
  {
364
  $messages = array(
365
  JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
366
+ JSON_ERROR_STATE_MISMATCH => 'Invalid or malformed JSON',
367
  JSON_ERROR_CTRL_CHAR => 'Unexpected control character found',
368
+ JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON',
369
+ JSON_ERROR_UTF8 => 'Malformed UTF-8 characters' //PHP >= 5.3.3
370
  );
371
  throw new DomainException(
372
  isset($messages[$errno])
378
  /**
379
  * Get the number of bytes in cryptographic strings.
380
  *
381
+ * @param string $str
382
  *
383
  * @return int
384
  */
385
  private static function safeStrlen($str)
386
  {
387
+ if (\function_exists('mb_strlen')) {
388
+ return \mb_strlen($str, '8bit');
389
+ }
390
+ return \strlen($str);
391
+ }
392
+
393
+ /**
394
+ * Convert an ECDSA signature to an ASN.1 DER sequence
395
+ *
396
+ * @param string $sig The ECDSA signature to convert
397
+ * @return string The encoded DER object
398
+ */
399
+ private static function signatureToDER($sig)
400
+ {
401
+ // Separate the signature into r-value and s-value
402
+ list($r, $s) = \str_split($sig, (int) (\strlen($sig) / 2));
403
+
404
+ // Trim leading zeros
405
+ $r = \ltrim($r, "\x00");
406
+ $s = \ltrim($s, "\x00");
407
+
408
+ // Convert r-value and s-value from unsigned big-endian integers to
409
+ // signed two's complement
410
+ if (\ord($r[0]) > 0x7f) {
411
+ $r = "\x00" . $r;
412
+ }
413
+ if (\ord($s[0]) > 0x7f) {
414
+ $s = "\x00" . $s;
415
+ }
416
+
417
+ return self::encodeDER(
418
+ self::ASN1_SEQUENCE,
419
+ self::encodeDER(self::ASN1_INTEGER, $r) .
420
+ self::encodeDER(self::ASN1_INTEGER, $s)
421
+ );
422
+ }
423
+
424
+ /**
425
+ * Encodes a value into a DER object.
426
+ *
427
+ * @param int $type DER tag
428
+ * @param string $value the value to encode
429
+ * @return string the encoded object
430
+ */
431
+ private static function encodeDER($type, $value)
432
+ {
433
+ $tag_header = 0;
434
+ if ($type === self::ASN1_SEQUENCE) {
435
+ $tag_header |= 0x20;
436
+ }
437
+
438
+ // Type
439
+ $der = \chr($tag_header | $type);
440
+
441
+ // Length
442
+ $der .= \chr(\strlen($value));
443
+
444
+ return $der . $value;
445
+ }
446
+
447
+ /**
448
+ * Encodes signature from a DER object.
449
+ *
450
+ * @param string $der binary signature in DER format
451
+ * @param int $keySize the number of bits in the key
452
+ * @return string the signature
453
+ */
454
+ private static function signatureFromDER($der, $keySize)
455
+ {
456
+ // OpenSSL returns the ECDSA signatures as a binary ASN.1 DER SEQUENCE
457
+ list($offset, $_) = self::readDER($der);
458
+ list($offset, $r) = self::readDER($der, $offset);
459
+ list($offset, $s) = self::readDER($der, $offset);
460
+
461
+ // Convert r-value and s-value from signed two's compliment to unsigned
462
+ // big-endian integers
463
+ $r = \ltrim($r, "\x00");
464
+ $s = \ltrim($s, "\x00");
465
+
466
+ // Pad out r and s so that they are $keySize bits long
467
+ $r = \str_pad($r, $keySize / 8, "\x00", STR_PAD_LEFT);
468
+ $s = \str_pad($s, $keySize / 8, "\x00", STR_PAD_LEFT);
469
+
470
+ return $r . $s;
471
+ }
472
+
473
+ /**
474
+ * Reads binary DER-encoded data and decodes into a single object
475
+ *
476
+ * @param string $der the binary data in DER format
477
+ * @param int $offset the offset of the data stream containing the object
478
+ * to decode
479
+ * @return array [$offset, $data] the new offset and the decoded object
480
+ */
481
+ private static function readDER($der, $offset = 0)
482
+ {
483
+ $pos = $offset;
484
+ $size = \strlen($der);
485
+ $constructed = (\ord($der[$pos]) >> 5) & 0x01;
486
+ $type = \ord($der[$pos++]) & 0x1f;
487
+
488
+ // Length
489
+ $len = \ord($der[$pos++]);
490
+ if ($len & 0x80) {
491
+ $n = $len & 0x1f;
492
+ $len = 0;
493
+ while ($n-- && $pos < $size) {
494
+ $len = ($len << 8) | \ord($der[$pos++]);
495
+ }
496
  }
497
+
498
+ // Value
499
+ if ($type == self::ASN1_BIT_STRING) {
500
+ $pos++; // Skip the first contents octet (padding indicator)
501
+ $data = \substr($der, $pos, $len - 1);
502
+ $pos += $len - 1;
503
+ } elseif (!$constructed) {
504
+ $data = \substr($der, $pos, $len);
505
+ $pos += $len;
506
+ } else {
507
+ $data = null;
508
+ }
509
+
510
+ return array($pos, $data);
511
  }
512
  }
vendor/firebase/php-jwt/src/SignatureInvalidException.php CHANGED
@@ -3,5 +3,4 @@ namespace Firebase\JWT;
3
 
4
  class SignatureInvalidException extends \UnexpectedValueException
5
  {
6
-
7
  }
3
 
4
  class SignatureInvalidException extends \UnexpectedValueException
5
  {
 
6
  }
vendor/google/apiclient-services/LICENSE ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
202
+
203
+
vendor/google/apiclient-services/README.md ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Google PHP API Client Services
2
+ ==============================
3
+
4
+ ## Requirements
5
+
6
+ [Google API PHP Client](https://github.com/googleapis/google-api-php-client/releases)
7
+
8
+ ## Usage in v2 of Google API PHP Client
9
+
10
+ This library is automatically updated daily with new API changes, and tagged weekly.
11
+ It is installed as part of the
12
+ [Google API PHP Client](https://github.com/googleapis/google-api-php-client/releases)
13
+ library via Composer, which will pull down the most recent tag.
14
+
15
+ ## Usage in v1
16
+
17
+ If you are currently using the [`v1-master`](https://github.com/googleapis/google-api-php-client/tree/v1-master)
18
+ branch of the client library, but want to use the latest API services, you can
19
+ do so by requiring this library directly into your project via the same composer command:
20
+
21
+ ```sh
22
+ composer require google/apiclient-services:dev-master
23
+ ```
vendor/google/apiclient/CONTRIBUTING.md DELETED
@@ -1,22 +0,0 @@
1
- # How to become a contributor and submit your own code
2
-
3
- ## Contributor License Agreements
4
-
5
- We'd love to accept your code patches! However, before we can take them, we have to jump a couple of legal hurdles.
6
-
7
- Please fill out either the individual or corporate Contributor License Agreement (CLA).
8
-
9
- * If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).
10
- * If you work for a company that wants to allow you to contribute your work to this client library, then you'll need to sign a[corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
11
-
12
- Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll add you to the official list of contributors and be able to accept your patches.
13
-
14
- ## Submitting Patches
15
-
16
- 1. Fork the PHP client library on GitHub
17
- 1. Decide which code you want to submit. A submission should be a set of changes that addresses one issue in the issue tracker. Please file one change per issue, and address one issue per change. If you want to make a change that doesn't have a corresponding issue in the issue tracker, please file a new ticket!
18
- 1. Ensure that your code adheres to standard PHP conventions, as used in the rest of the library.
19
- 1. Ensure that there are unit tests for your code.
20
- 1. Sign a Contributor License Agreement (see above).
21
- 1. Submit a pull request with your patch on Github.
22
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/README.md CHANGED
@@ -1,18 +1,23 @@
1
- [![Build Status](https://travis-ci.org/google/google-api-php-client.svg?branch=master)](https://travis-ci.org/google/google-api-php-client)
2
 
3
  # Google APIs Client Library for PHP #
4
 
5
- ## Description ##
6
- The Google API Client Library enables you to work with Google APIs such as Google+, Drive, or YouTube on your server.
7
 
8
- ## Beta ##
9
- This library is in Beta. We're comfortable enough with the stability and features of the library that we want you to build real production applications on it. We will make an effort to support the public and protected surface of the library and maintain backwards compatibility in the future. While we are still in Beta, we reserve the right to make incompatible changes.
 
 
 
 
 
10
 
11
  ## Requirements ##
12
- * [PHP 5.4.0 or higher](http://www.php.net/)
13
 
14
  ## Developer Documentation ##
15
- http://developers.google.com/api-client-library/php
 
16
 
17
  ## Installation ##
18
 
@@ -20,14 +25,14 @@ You can use **Composer** or simply **Download the Release**
20
 
21
  ### Composer
22
 
23
- The preferred method is via [composer](https://getcomposer.org). Follow the
24
  [installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have
25
  composer installed.
26
 
27
  Once composer is installed, execute the following command in your project root to install this library:
28
 
29
  ```sh
30
- composer require google/apiclient:^2.0
31
  ```
32
 
33
  Finally, be sure to include the autoloader:
@@ -36,9 +41,64 @@ Finally, be sure to include the autoloader:
36
  require_once '/path/to/your-project/vendor/autoload.php';
37
  ```
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  ### Download the Release
40
 
41
- If you abhor using composer, you can download the package in its entirety. The [Releases](https://github.com/google/google-api-php-client/releases) page lists all stable versions. Download any file
42
  with the name `google-api-php-client-[RELEASE_NAME].zip` for a package including this library and its dependencies.
43
 
44
  Uncompress the zip file you download, and include the autoloader in your project:
@@ -47,7 +107,7 @@ Uncompress the zip file you download, and include the autoloader in your project
47
  require_once '/path/to/google-api-php-client/vendor/autoload.php';
48
  ```
49
 
50
- For additional installation and setup instructions, see [the documentation](https://developers.google.com/api-client-library/php/start/installation).
51
 
52
  ## Examples ##
53
  See the [`examples/`](examples) directory for examples of the key client features. You can
@@ -71,10 +131,13 @@ $client->setApplicationName("Client_Library_Examples");
71
  $client->setDeveloperKey("YOUR_APP_KEY");
72
 
73
  $service = new Google_Service_Books($client);
74
- $optParams = array('filter' => 'free-ebooks');
75
- $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
 
 
 
76
 
77
- foreach ($results as $item) {
78
  echo $item['volumeInfo']['title'], "<br /> \n";
79
  }
80
  ```
@@ -83,34 +146,48 @@ foreach ($results as $item) {
83
 
84
  > An example of this can be seen in [`examples/simple-file-upload.php`](examples/simple-file-upload.php).
85
 
86
- **NOTE:** If you are using Google App Engine or Google Compute Engine, you can skip steps 1-3, as Application Default Credentials are included automatically when `useApplicationDefaultCredentials` is called.
87
-
88
- 1. Follow the instructions to [Create Web Application Credentials](https://developers.google.com/api-client-library/php/auth/web-app#creatingcred)
89
  1. Download the JSON credentials
90
- 1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable:
91
 
92
  ```php
93
- putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
 
94
  ```
95
 
96
- 1. Tell the Google client to use your service account credentials to authenticate:
97
 
98
  ```php
99
- $client = new Google_Client();
100
- $client->useApplicationDefaultCredentials();
101
  ```
102
 
103
- 1. If you have delegated domain-wide access to the service account and you want to impersonate a user account, specify the email address of the user account using the method setSubject:
 
 
 
 
 
 
 
 
 
104
 
105
  ```php
106
- $ client->setSubject($user_to_impersonate);
 
 
107
  ```
108
 
109
  ### Authentication with Service Accounts ###
110
 
111
  > An example of this can be seen in [`examples/service-account.php`](examples/service-account.php).
112
 
113
- 1. Follow the instructions to [Create a Service Account](https://developers.google.com/api-client-library/php/auth/service-accounts#creatinganaccount)
 
 
 
 
 
114
  1. Download the JSON credentials
115
  1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable:
116
 
@@ -139,7 +216,7 @@ foreach ($results as $item) {
139
 
140
  ### Making Requests ###
141
 
142
- The classes used to call the API in [google-api-php-client-services](https://github.com/Google/google-api-php-client-services) are autogenerated. They map directly to the JSON requests and responses found in the [APIs Explorer](https://developers.google.com/apis-explorer/#p/).
143
 
144
  A JSON request to the [Datastore API](https://developers.google.com/apis-explorer/#p/datastore/v1beta3/datastore.projects.runQuery) would look like this:
145
 
@@ -166,7 +243,7 @@ Using this library, the same call would look something like this:
166
 
167
  ```php
168
  // create the datastore service class
169
- $datastore = new Google_Service_Datastore($client)
170
 
171
  // build the query - this maps directly to the JSON
172
  $query = new Google_Service_Datastore_Query([
@@ -189,11 +266,11 @@ $request = new Google_Service_Datastore_RunQueryRequest(['query' => $query]);
189
  $response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request);
190
  ```
191
 
192
- However, as each property of the JSON API has a corresponding generated class, the above code could also be written lile this:
193
 
194
  ```php
195
  // create the datastore service class
196
- $datastore = new Google_Service_Datastore($client)
197
 
198
  // build the query
199
  $request = new Google_Service_Datastore_RunQueryRequest();
@@ -223,6 +300,8 @@ The method used is a matter of preference, but *it will be very difficult to use
223
 
224
  If Google Authentication is desired for external applications, or a Google API is not available yet in this library, HTTP requests can be made directly.
225
 
 
 
226
  The `authorize` method returns an authorized [Guzzle Client](http://docs.guzzlephp.org/), so any request made using the client will contain the corresponding authorization.
227
 
228
  ```php
@@ -246,22 +325,29 @@ $response = $httpClient->get('https://www.googleapis.com/plus/v1/people/me');
246
 
247
  ### Caching ###
248
 
249
- It is recommended to use another caching library to improve performance. This can be done by passing a [PSR-6](http://www.php-fig.org/psr/psr-6/) compatible library to the client:
250
 
251
  ```php
252
- $cache = new Stash\Pool(new Stash\Driver\FileSystem);
 
 
 
 
 
 
 
253
  $client->setCache($cache);
254
  ```
255
 
256
- In this example we use [StashPHP](http://www.stashphp.com/). Add this to your project with composer:
257
 
258
  ```
259
- composer require tedivm/stash
260
  ```
261
 
262
  ### Updating Tokens ###
263
 
264
- When using [Refresh Tokens](https://developers.google.com/identity/protocols/OAuth2InstalledApp#refresh) or [Service Account Credentials](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview), it may be useful to perform some action when a new access token is granted. To do this, pass a callable to the `setTokenCallback` method on the client:
265
 
266
  ```php
267
  $logger = new Monolog\Logger;
@@ -290,30 +376,47 @@ Now all calls made by this library will appear in the Charles UI.
290
 
291
  One additional step is required in Charles to view SSL requests. Go to **Charles > Proxy > SSL Proxying Settings** and add the domain you'd like captured. In the case of the Google APIs, this is usually `*.googleapis.com`.
292
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  ### Service Specific Examples ###
294
 
295
  YouTube: https://github.com/youtube/api-samples/tree/master/php
296
 
297
- ## Frequently Asked Questions ##
298
 
299
- ### What do I do if something isn't working? ###
300
 
301
- For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: http://stackoverflow.com/questions/tagged/google-api-php-client
302
 
303
- If there is a specific bug with the library, please [file a issue](/Google/google-api-php-client/issues) in the Github issues tracker, including an example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address.
304
 
305
- ### How do I contribute? ###
306
 
307
- We accept contributions via Github Pull Requests, but all contributors need to be covered by the standard Google Contributor License Agreement. You can find links, and more instructions, in the documentation: https://developers.google.com/api-client-library/php/contribute
308
 
309
  ### I want an example of X! ###
310
 
311
  If X is a feature of the library, file away! If X is an example of using a specific service, the best place to go is to the teams for those specific APIs - our preference is to link to their examples rather than add them to the library, as they can then pin to specific versions of the library. If you have any examples for other APIs, let us know and we will happily add a link to the README above!
312
 
313
- ### Why do you still support 5.2? ###
314
-
315
- When we started working on the 1.0.0 branch we knew there were several fundamental issues to fix with the 0.6 releases of the library. At that time we looked at the usage of the library, and other related projects, and determined that there was still a large and active base of PHP 5.2 installs. You can see this in statistics such as the PHP versions chart in the WordPress stats: http://wordpress.org/about/stats/. We will keep looking at the types of usage we see, and try to take advantage of newer PHP features where possible.
316
-
317
  ### Why does Google_..._Service have weird names? ###
318
 
319
  The _Service classes are generally automatically generated from the API discovery documents: https://developers.google.com/discovery/. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes.
@@ -330,7 +433,7 @@ $opt_params = array(
330
 
331
  ### How do I set a field to null? ###
332
 
333
- The library strips out nulls from the objects sent to the Google APIs as its the default value of all of the uninitialised properties. To work around this, set the field you want to null to Google_Model::NULL_VALUE. This is a placeholder that will be replaced with a true null when sent over the wire.
334
 
335
  ## Code Quality ##
336
 
1
+ ![](https://github.com/googleapis/google-api-php-client/workflows/.github/workflows/tests.yml/badge.svg)
2
 
3
  # Google APIs Client Library for PHP #
4
 
5
+ The Google API Client Library enables you to work with Google APIs such as Gmail, Drive or YouTube on your server.
 
6
 
7
+ These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.
8
+
9
+ **NOTE** The actively maintained (v2) version of this client requires PHP 5.4 or above. If you require support for PHP 5.2 or 5.3, use the v1 branch.
10
+
11
+ ## Google Cloud Platform
12
+
13
+ For Google Cloud Platform APIs such as Datastore, Cloud Storage or Pub/Sub, we recommend using [GoogleCloudPlatform/google-cloud-php](https://github.com/googleapis/google-cloud-php) which is under active development.
14
 
15
  ## Requirements ##
16
+ * [PHP 5.4.0 or higher](https://www.php.net/)
17
 
18
  ## Developer Documentation ##
19
+
20
+ The [docs folder](docs/) provides detailed guides for using this library.
21
 
22
  ## Installation ##
23
 
25
 
26
  ### Composer
27
 
28
+ The preferred method is via [composer](https://getcomposer.org/). Follow the
29
  [installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have
30
  composer installed.
31
 
32
  Once composer is installed, execute the following command in your project root to install this library:
33
 
34
  ```sh
35
+ composer require google/apiclient:"^2.7"
36
  ```
37
 
38
  Finally, be sure to include the autoloader:
41
  require_once '/path/to/your-project/vendor/autoload.php';
42
  ```
43
 
44
+ This library relies on `google/apiclient-services`. That library provides up-to-date API wrappers for a large number of Google APIs. In order that users may make use of the latest API clients, this library does not pin to a specific version of `google/apiclient-services`. **In order to prevent the accidental installation of API wrappers with breaking changes**, it is highly recommended that you pin to the [latest version](https://github.com/googleapis/google-api-php-client-services/releases) yourself prior to using this library in production.
45
+
46
+ #### Cleaning up unused services
47
+
48
+ There are over 200 Google API services. The chances are good that you will not
49
+ want them all. In order to avoid shipping these dependencies with your code,
50
+ you can run the `Google_Task_Composer::cleanup` task and specify the services
51
+ you want to keep in `composer.json`:
52
+
53
+ ```json
54
+ {
55
+ "require": {
56
+ "google/apiclient": "^2.7"
57
+ },
58
+ "scripts": {
59
+ "post-update-cmd": "Google_Task_Composer::cleanup"
60
+ },
61
+ "extra": {
62
+ "google/apiclient-services": [
63
+ "Drive",
64
+ "YouTube"
65
+ ]
66
+ }
67
+ }
68
+ ```
69
+
70
+ This example will remove all services other than "Drive" and "YouTube" when
71
+ `composer update` or a fresh `composer install` is run.
72
+
73
+ **IMPORTANT**: If you add any services back in `composer.json`, you will need to
74
+ remove the `vendor/google/apiclient-services` directory explicity for the
75
+ change you made to have effect:
76
+
77
+ ```sh
78
+ rm -r vendor/google/apiclient-services
79
+ composer update
80
+ ```
81
+
82
+ **NOTE**: This command performs an exact match on the service name, so to keep
83
+ `YouTubeReporting` and `YouTubeAnalytics` as well, you'd need to add each of
84
+ them explicitly:
85
+
86
+ ```json
87
+ {
88
+ "extra": {
89
+ "google/apiclient-services": [
90
+ "Drive",
91
+ "YouTube",
92
+ "YouTubeAnalytics",
93
+ "YouTubeReporting"
94
+ ]
95
+ }
96
+ }
97
+ ```
98
+
99
  ### Download the Release
100
 
101
+ If you prefer not to use composer, you can download the package in its entirety. The [Releases](https://github.com/googleapis/google-api-php-client/releases) page lists all stable versions. Download any file
102
  with the name `google-api-php-client-[RELEASE_NAME].zip` for a package including this library and its dependencies.
103
 
104
  Uncompress the zip file you download, and include the autoloader in your project:
107
  require_once '/path/to/google-api-php-client/vendor/autoload.php';
108
  ```
109
 
110
+ For additional installation and setup instructions, see [the documentation](docs/).
111
 
112
  ## Examples ##
113
  See the [`examples/`](examples) directory for examples of the key client features. You can
131
  $client->setDeveloperKey("YOUR_APP_KEY");
132
 
133
  $service = new Google_Service_Books($client);
134
+ $optParams = array(
135
+ 'filter' => 'free-ebooks',
136
+ 'q' => 'Henry David Thoreau'
137
+ );
138
+ $results = $service->volumes->listVolumes($optParams);
139
 
140
+ foreach ($results->getItems() as $item) {
141
  echo $item['volumeInfo']['title'], "<br /> \n";
142
  }
143
  ```
146
 
147
  > An example of this can be seen in [`examples/simple-file-upload.php`](examples/simple-file-upload.php).
148
 
149
+ 1. Follow the instructions to [Create Web Application Credentials](docs/oauth-web.md#create-authorization-credentials)
 
 
150
  1. Download the JSON credentials
151
+ 1. Set the path to these credentials using `Google_Client::setAuthConfig`:
152
 
153
  ```php
154
+ $client = new Google_Client();
155
+ $client->setAuthConfig('/path/to/client_credentials.json');
156
  ```
157
 
158
+ 1. Set the scopes required for the API you are going to call
159
 
160
  ```php
161
+ $client->addScope(Google_Service_Drive::DRIVE);
 
162
  ```
163
 
164
+ 1. Set your application's redirect URI
165
+
166
+ ```php
167
+ // Your redirect URI can be any registered URI, but in this example
168
+ // we redirect back to this same page
169
+ $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
170
+ $client->setRedirectUri($redirect_uri);
171
+ ```
172
+
173
+ 1. In the script handling the redirect URI, exchange the authorization code for an access token:
174
 
175
  ```php
176
+ if (isset($_GET['code'])) {
177
+ $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
178
+ }
179
  ```
180
 
181
  ### Authentication with Service Accounts ###
182
 
183
  > An example of this can be seen in [`examples/service-account.php`](examples/service-account.php).
184
 
185
+ Some APIs
186
+ (such as the [YouTube Data API](https://developers.google.com/youtube/v3/)) do
187
+ not support service accounts. Check with the specific API documentation if API
188
+ calls return unexpected 401 or 403 errors.
189
+
190
+ 1. Follow the instructions to [Create a Service Account](docs/oauth-server.md#creating-a-service-account)
191
  1. Download the JSON credentials
192
  1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable:
193
 
216
 
217
  ### Making Requests ###
218
 
219
+ The classes used to call the API in [google-api-php-client-services](https://github.com/googleapis/google-api-php-client-services) are autogenerated. They map directly to the JSON requests and responses found in the [APIs Explorer](https://developers.google.com/apis-explorer/#p/).
220
 
221
  A JSON request to the [Datastore API](https://developers.google.com/apis-explorer/#p/datastore/v1beta3/datastore.projects.runQuery) would look like this:
222
 
243
 
244
  ```php
245
  // create the datastore service class
246
+ $datastore = new Google_Service_Datastore($client);
247
 
248
  // build the query - this maps directly to the JSON
249
  $query = new Google_Service_Datastore_Query([
266
  $response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request);
267
  ```
268
 
269
+ However, as each property of the JSON API has a corresponding generated class, the above code could also be written like this:
270
 
271
  ```php
272
  // create the datastore service class
273
+ $datastore = new Google_Service_Datastore($client);
274
 
275
  // build the query
276
  $request = new Google_Service_Datastore_RunQueryRequest();
300
 
301
  If Google Authentication is desired for external applications, or a Google API is not available yet in this library, HTTP requests can be made directly.
302
 
303
+ If you are installing this client only to authenticate your own HTTP client requests, you should use [`google/auth`](https://github.com/googleapis/google-auth-library-php#call-the-apis) instead.
304
+
305
  The `authorize` method returns an authorized [Guzzle Client](http://docs.guzzlephp.org/), so any request made using the client will contain the corresponding authorization.
306
 
307
  ```php
325
 
326
  ### Caching ###
327
 
328
+ It is recommended to use another caching library to improve performance. This can be done by passing a [PSR-6](https://www.php-fig.org/psr/psr-6/) compatible library to the client:
329
 
330
  ```php
331
+ use League\Flysystem\Adapter\Local;
332
+ use League\Flysystem\Filesystem;
333
+ use Cache\Adapter\Filesystem\FilesystemCachePool;
334
+
335
+ $filesystemAdapter = new Local(__DIR__.'/');
336
+ $filesystem = new Filesystem($filesystemAdapter);
337
+
338
+ $cache = new FilesystemCachePool($filesystem);
339
  $client->setCache($cache);
340
  ```
341
 
342
+ In this example we use [PHP Cache](http://www.php-cache.com/). Add this to your project with composer:
343
 
344
  ```
345
+ composer require cache/filesystem-adapter
346
  ```
347
 
348
  ### Updating Tokens ###
349
 
350
+ When using [Refresh Tokens](https://developers.google.com/identity/protocols/OAuth2InstalledApp#offline) or [Service Account Credentials](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview), it may be useful to perform some action when a new access token is granted. To do this, pass a callable to the `setTokenCallback` method on the client:
351
 
352
  ```php
353
  $logger = new Monolog\Logger;
376
 
377
  One additional step is required in Charles to view SSL requests. Go to **Charles > Proxy > SSL Proxying Settings** and add the domain you'd like captured. In the case of the Google APIs, this is usually `*.googleapis.com`.
378
 
379
+ ### Controlling HTTP Client Configuration Directly
380
+
381
+ Google API Client uses [Guzzle](http://docs.guzzlephp.org/) as its default HTTP client. That means that you can control your HTTP requests in the same manner you would for any application using Guzzle.
382
+
383
+ Let's say, for instance, we wished to apply a referrer to each request.
384
+
385
+ ```php
386
+ use GuzzleHttp\Client;
387
+
388
+ $httpClient = new Client([
389
+ 'headers' => [
390
+ 'referer' => 'mysite.com'
391
+ ]
392
+ ]);
393
+
394
+ $client = new Google_Client();
395
+ $client->setHttpClient($httpClient);
396
+ ```
397
+
398
+ Other Guzzle features such as [Handlers and Middleware](http://docs.guzzlephp.org/en/stable/handlers-and-middleware.html) offer even more control.
399
+
400
  ### Service Specific Examples ###
401
 
402
  YouTube: https://github.com/youtube/api-samples/tree/master/php
403
 
404
+ ## How Do I Contribute? ##
405
 
406
+ Please see the [contributing](.github/CONTRIBUTING.md) page for more information. In particular, we love pull requests - but please make sure to sign the contributor license agreement.
407
 
408
+ ## Frequently Asked Questions ##
409
 
410
+ ### What do I do if something isn't working? ###
411
 
412
+ For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: https://stackoverflow.com/questions/tagged/google-api-php-client
413
 
414
+ If there is a specific bug with the library, please [file an issue](https://github.com/googleapis/google-api-php-client/issues) in the GitHub issues tracker, including an example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address.
415
 
416
  ### I want an example of X! ###
417
 
418
  If X is a feature of the library, file away! If X is an example of using a specific service, the best place to go is to the teams for those specific APIs - our preference is to link to their examples rather than add them to the library, as they can then pin to specific versions of the library. If you have any examples for other APIs, let us know and we will happily add a link to the README above!
419
 
 
 
 
 
420
  ### Why does Google_..._Service have weird names? ###
421
 
422
  The _Service classes are generally automatically generated from the API discovery documents: https://developers.google.com/discovery/. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes.
433
 
434
  ### How do I set a field to null? ###
435
 
436
+ The library strips out nulls from the objects sent to the Google APIs as its the default value of all of the uninitialized properties. To work around this, set the field you want to null to `Google_Model::NULL_VALUE`. This is a placeholder that will be replaced with a true null when sent over the wire.
437
 
438
  ## Code Quality ##
439
 
vendor/google/apiclient/UPGRADING.md DELETED
@@ -1,327 +0,0 @@
1
- Google API Client Upgrade Guide
2
- ===============================
3
-
4
- 1.0 to 2.0
5
- ----------
6
-
7
- The Google API Client for PHP has undergone major internal changes in `2.0`. Please read through
8
- the list below in order to upgrade to the latest version:
9
-
10
- ## Installation now uses `Composer`
11
-
12
- **Before**
13
-
14
- The project was cloned in your project and you would run the autoloader from wherever:
15
-
16
- ```php
17
- // the autoload file was included
18
- require_once 'google-api-php-client/src/Google/autoload.php'; // or wherever autoload.php is located
19
- // OR classes were added one-by-one
20
- require_once 'Google/Client.php';
21
- require_once 'Google/Service/YouTube.php';
22
- ```
23
-
24
- **After**
25
-
26
- This library now uses [composer](https://getcomposer.org) (We suggest installing
27
- composer [globally](http://symfony.com/doc/current/cookbook/composer.html)). Add this library by
28
- running the following in the root of your project:
29
-
30
- ```
31
- $ composer require google/apiclient:~2.0
32
- ```
33
-
34
- This will install this library and generate an autoload file in `vendor/autoload.php` in the root
35
- of your project. You can now include this library with the following code:
36
-
37
- ```php
38
- require_once 'vendor/autoload.php';
39
- ```
40
-
41
- ## Access Tokens are passed around as arrays instead of JSON strings
42
-
43
- **Before**
44
-
45
- ```php
46
- $accessToken = $client->getAccessToken();
47
- print_r($accessToken);
48
- // would output:
49
- // string(153) "{"access_token":"ya29.FAKsaByOPoddfzvKRo_LBpWWCpVTiAm4BjsvBwxtN7IgSNoUfcErBk_VPl4iAiE1ntb_","token_type":"Bearer","expires_in":3593,"created":1445548590}"
50
- file_put_contents($credentialsPath, $accessToken);
51
- ```
52
-
53
- **After**
54
-
55
- ```php
56
- $accessToken = $client->getAccessToken();
57
- print_r($accessToken);
58
- // will output:
59
- // array(4) {
60
- // ["access_token"]=>
61
- // string(73) "ya29.FAKsaByOPoddfzvKRo_LBpWWCpVTiAm4BjsvBwxtN7IgSNoUfcErBk_VPl4iAiE1ntb_"
62
- // ["token_type"]=>
63
- // string(6) "Bearer"
64
- // ["expires_in"]=>
65
- // int(3593)
66
- // ["created"]=>
67
- // int(1445548590)
68
- // }
69
- file_put_contents($credentialsPath, json_encode($accessToken));
70
- ```
71
-
72
- ## ID Token data is returned as an array
73
-
74
- **Before**
75
-
76
- ```php
77
- $ticket = $client->verifyIdToken($idToken);
78
- $data = $ticket->getAttributes();
79
- $userId = $data['payload']['sub'];
80
- ```
81
-
82
- **After**
83
-
84
- ```php
85
- $userData = $client->verifyIdToken($idToken);
86
- $userId = $userData['sub'];
87
- ```
88
-
89
- ## `Google_Auth_AssertionCredentials` has been removed
90
-
91
- For service accounts, we now use `setAuthConfig` or `useApplicationDefaultCredentials`
92
-
93
- **Before**
94
-
95
- ```php
96
- $client_email = '1234567890-a1b2c3d4e5f6g7h8i@developer.gserviceaccount.com';
97
- $private_key = file_get_contents('MyProject.p12');
98
- $scopes = array('https://www.googleapis.com/auth/sqlservice.admin');
99
- $credentials = new Google_Auth_AssertionCredentials(
100
- $client_email,
101
- $scopes,
102
- $private_key
103
- );
104
- ```
105
-
106
- **After**
107
-
108
- ```php
109
- $client->setAuthConfig('/path/to/service-account.json');
110
-
111
- // OR use environment variables (recommended)
112
-
113
- putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
114
- $client->useApplicationDefaultCredentials();
115
- ```
116
-
117
- > Note: P12s are deprecated in favor of service account JSON, which can be generated in the
118
- > Credentials section of Google Developer Console.
119
-
120
- In order to impersonate a user, call `setSubject` when your service account
121
- credentials are being used.
122
-
123
- **Before**
124
-
125
- ```php
126
- $user_to_impersonate = 'user@example.org';
127
- $credentials = new Google_Auth_AssertionCredentials(
128
- $client_email,
129
- $scopes,
130
- $private_key,
131
- 'notasecret', // Default P12 password
132
- 'http://oauth.net/grant_type/jwt/1.0/bearer', // Default grant type
133
- $user_to_impersonate,
134
- );
135
- ```
136
-
137
- **After**
138
-
139
- ```php
140
- $user_to_impersonate = 'user@example.org';
141
- $client->setSubject($user_to_impersonate);
142
- ```
143
-
144
- Additionally, `Google_Client::loadServiceAccountJson` has been removed in favor
145
- of `Google_Client::setAuthConfig`:
146
-
147
- **Before**
148
-
149
- ```php
150
- $scopes = [ Google_Service_Books::BOOKS ];
151
- $client->loadServiceAccountJson('/path/to/service-account.json', $scopes);
152
- ```
153
-
154
- **After**
155
-
156
- ```php
157
- $scopes = [ Google_Service_Books::BOOKS ];
158
- $client->setAuthConfig('/path/to/service-account.json');
159
- $client->setScopes($scopes);
160
- ```
161
-
162
- ## `Google_Auth_AppIdentity` has been removed
163
-
164
- For App Engine authentication, we now use the underlying [`google/auth`][Google Auth] and
165
- call `useApplicationDefaultCredentials`:
166
-
167
- **Before**
168
-
169
- ```php
170
- $client->setAuth(new Google_Auth_AppIdentity($client));
171
- $client->getAuth()
172
- ->authenticateForScope('https://www.googleapis.com/auth/sqlservice.admin')
173
- ```
174
-
175
- **After**
176
-
177
- ```php
178
- $client->useDefaultApplicationCredentials();
179
- $client->addScope('https://www.googleapis.com/auth/sqlservice.admin');
180
- ```
181
-
182
- This will detect when the App Engine environment is present, and use the appropriate credentials.
183
-
184
- ## `Google_Auth_Abstract` classes have been removed
185
-
186
- [`google/auth`][Google Auth] is now used for authentication. As a result, all
187
- `Google_Auth`-related functionality has been removed. The methods that were a part of
188
- `Google_Auth_Abstract` have been moved into the `Google_Client` object.
189
-
190
- **Before**
191
-
192
- ```php
193
- $request = new Google_Http_Request();
194
- $client->getAuth()->sign($request);
195
- ```
196
-
197
- **After**
198
-
199
- ```php
200
- // create an authorized HTTP client
201
- $httpClient = $client->authorize();
202
-
203
- // OR add authorization to an existing client
204
- $httpClient = new GuzzleHttp\Client();
205
- $httpClient = $client->authorize($httpClient);
206
- ```
207
-
208
- **Before**
209
-
210
- ```php
211
- $request = new Google_Http_Request();
212
- $response = $client->getAuth()->authenticatedRequest($request);
213
- ```
214
-
215
- **After**
216
-
217
- ```php
218
- $httpClient = $client->authorize();
219
- $request = new GuzzleHttp\Psr7\Request('POST', $url);
220
- $response = $httpClient->send($request);
221
- ```
222
-
223
- > NOTE: `$request` can be any class implementing
224
- > `Psr\Http\Message\RequestInterface`
225
-
226
- In addition, other methods that were callable on `Google_Auth_OAuth2` are now called
227
- on the `Google_Client` object:
228
-
229
- **Before**
230
-
231
- ```php
232
- $client->getAuth()->refreshToken($token);
233
- $client->getAuth()->refreshTokenWithAssertion();
234
- $client->getAuth()->revokeToken($token);
235
- $client->getAuth()->isAccessTokenExpired();
236
- ```
237
-
238
- **After**
239
-
240
- ```php
241
- $client->refreshToken($token);
242
- $client->refreshTokenWithAssertion();
243
- $client->revokeToken($token);
244
- $client->isAccessTokenExpired();
245
- ```
246
-
247
- ## PHP 5.4 is now the minimum supported PHP version
248
-
249
- This was previously `PHP 5.2`. If you still need to use PHP 5.2, please continue to use
250
- the [v1-master](https://github.com/google/google-api-php-client/tree/v1-master) branch.
251
-
252
- ## Guzzle and PSR-7 are used for HTTP Requests
253
-
254
- The HTTP library Guzzle is used for all HTTP Requests. By default, [`Guzzle 6`][Guzzle 6]
255
- is used, but this library is also compatible with [`Guzzle 5`][Guzzle 5]. As a result,
256
- all `Google_IO`-related functionality and `Google_Http`-related functionality has been
257
- changed or removed.
258
-
259
- 1. Removed `Google_Http_Request`
260
- 1. Removed `Google_IO_Abstract`, `Google_IO_Exception`, `Google_IO_Curl`, and `Google_IO_Stream`
261
- 1. Removed methods `Google_Client::getIo` and `Google_Client::setIo`
262
- 1. Refactored `Google_Http_Batch` and `Google_Http_MediaFileUpload` for Guzzle
263
- 1. Added `Google_Client::getHttpClient` and `Google_Client::setHttpClient` for getting and
264
- setting the Guzzle `GuzzleHttp\ClientInterface` object.
265
-
266
- > NOTE: `PSR-7`-compatible libraries can now be used with this library.
267
-
268
- ## Other Changes
269
-
270
- - [`PSR 3`][PSR 3] `LoggerInterface` is now supported, and [Monolog][Monolog] is used for all
271
- logging. As a result, all `Google_Logger`-related functionality has been removed:
272
- 1. Removed `Google_Logger_Abstract`, `Google_Logger_Exception`, `Google_Logger_File`,
273
- `Google_Logger_Null`, and `Google_Logger_Psr`
274
- 1. `Google_Client::setLogger` now requires `Psr\Log\LoggerInterface`
275
- - [`firebase/jwt`][Firebase JWT] is now used for all JWT signing and verifying. As a result, the
276
- following classes have been changed or removed:
277
- 1. Removed `Google_Signer_P12`
278
- 1. Removed `Google_Verifier_Pem`
279
- 1. Removed `Google_Auth_LoginTicket` (see below)
280
- - The following classes and methods have been removed in favor of [`google/auth`][Google Auth]:
281
- 1. Removed methods `Google_Client::getAuth` and `Google_Client::setAuth`
282
- 1. Removed `Google_Auth_Abstract`
283
- - `Google_Auth_Abstract::sign` and `Google_Auth_Abstract::authenticatedRequest` have been
284
- replaced by `Google_Client::authorize`. See the above examples for more details.
285
- 1. Removed `Google_Auth_AppIdentity`. This is now supported in [`google/auth`][Google Auth AppIdentity]
286
- and is used automatically when `Google_Client::useApplicationDefaultCredentials` is called.
287
- 1. Removed `Google_Auth_AssertionCredentials`. Use `Google_Client::setAuthConfig` instead.
288
- 1. Removed `Google_Auth_ComputeEngine`. This is now supported in
289
- [`google/auth`][Google Auth GCE], and is used automatically when
290
- `Google_Client::useApplicationDefaultCredentials` is called.
291
- 1. Removed `Google_Auth_Exception`
292
- 1. Removed `Google_Auth_LoginTicket`. Calls to `Google_Client::verifyIdToken` now returns
293
- the payload of the ID Token as an array if the verification is successful.
294
- 1. Removed `Google_Auth_OAuth2`. This functionality is now supported in [`google/auth`][Google Auth OAuth2] and wrapped in `Google_Client`. These changes will only affect applications calling `Google_Client::getAuth`,
295
- as the methods on `Google_Client` have not changed.
296
- 1. Removed `Google_Auth_Simple`. This is now supported in [`google/auth`][Google Auth Simple]
297
- and is used automatically when `Google_Client::setDeveloperKey` is called.
298
- - `Google_Client::sign` has been replaced by `Google_Client::authorize`. This function
299
- now takes a `GuzzleHttp\ClientInterface` object and uses the following decision tree for
300
- authentication:
301
- 1. Uses Application Default Credentials when
302
- `Google_Client::useApplicationDefaultCredentials` is called
303
- - Looks for `GOOGLE_APPLICATION_CREDENTIALS` environment variable if set
304
- - Looks in `~/.config/gcloud/application_default_credentials.json`
305
- - Otherwise, uses `GCECredentials`
306
- 1. Uses API Key if set (see `Client::setDeveloperKey`)
307
- 1. Uses Access Token if set (call `Client::setAccessToken`)
308
- 1. Automatically refreshes access tokens if one is set and the access token is expired
309
- - Removed `Google_Config`
310
- - Removed `Google_Utils`
311
- - [`Google\Auth\CacheInterface`][Google Auth CacheInterface] is used for all caching. As a result:
312
- 1. Removed `Google_Cache_Abstract`
313
- 1. Classes `Google_Cache_Apc`, `Google_Cache_File`, `Google_Cache_Memcache`, and
314
- `Google_Cache_Null` now implement `Google\Auth\CacheInterface`.
315
- - Removed `$boundary` constructor argument for `Google_Http_MediaFileUpload`
316
-
317
- [PSR 3]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
318
- [Guzzle 5]: https://github.com/guzzle/guzzle
319
- [Guzzle 6]: http://docs.guzzlephp.org/en/latest/psr7.html
320
- [Monolog]: https://github.com/Seldaek/monolog
321
- [Google Auth]: https://github.com/google/google-auth-library-php
322
- [Google Auth GCE]: https://github.com/google/google-auth-library-php/blob/master/src/GCECredentials.php
323
- [Google Auth OAuth2]: https://github.com/google/google-auth-library-php/blob/master/src/OAuth2.php
324
- [Google Auth Simple]: https://github.com/google/google-auth-library-php/blob/master/src/Simple.php
325
- [Google Auth AppIdentity]: https://github.com/google/google-auth-library-php/blob/master/src/AppIdentityCredentials.php
326
- [Google Auth CacheInterface]: https://github.com/google/google-auth-library-php/blob/master/src/CacheInterface.php
327
- [Firebase JWT]: https://github.com/firebase/php-jwt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/README.md DELETED
@@ -1,13 +0,0 @@
1
- # Examples for Google APIs Client Library for PHP #
2
-
3
- ## How to run the examples ##
4
-
5
- 1. Following the [Installation Instructions](../README.md#installation)
6
- 1. Run the PHP built-in web server. Supply the `-t` option to point to this directory:
7
-
8
- ```
9
- $ php -S localhost:8000 -t examples/
10
- ```
11
-
12
- 1. Point your browser to the host and port you specified, i.e `http://localhost:8000`.
13
-
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/batch.php DELETED
@@ -1,87 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2013 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("Batching Queries");
22
-
23
- /************************************************
24
- We're going to use the simple access to the
25
- books API again as an example, but this time we
26
- will batch up two queries into a single call.
27
- ************************************************/
28
-
29
- /************************************************
30
- We create the client and set the simple API
31
- access key. If you comment out the call to
32
- setDeveloperKey, the request may still succeed
33
- using the anonymous quota.
34
- ************************************************/
35
- $client = new Google_Client();
36
- $client->setApplicationName("Client_Library_Examples");
37
-
38
- // Warn if the API key isn't set.
39
- if (!$apiKey = getApiKey()) {
40
- echo missingApiKeyWarning();
41
- return;
42
- }
43
- $client->setDeveloperKey($apiKey);
44
-
45
- $service = new Google_Service_Books($client);
46
-
47
- /************************************************
48
- To actually make the batch call we need to
49
- enable batching on the client - this will apply
50
- globally until we set it to false. This causes
51
- call to the service methods to return the query
52
- rather than immediately executing.
53
- ************************************************/
54
- $client->setUseBatch(true);
55
-
56
- /************************************************
57
- We then create a batch, and add each query we
58
- want to execute with keys of our choice - these
59
- keys will be reflected in the returned array.
60
- ************************************************/
61
- $batch = new Google_Http_Batch($client);
62
- $optParams = array('filter' => 'free-ebooks');
63
- $req1 = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
64
- $batch->add($req1, "thoreau");
65
- $req2 = $service->volumes->listVolumes('George Bernard Shaw', $optParams);
66
- $batch->add($req2, "shaw");
67
-
68
- /************************************************
69
- Executing the batch will send all requests off
70
- at once.
71
- ************************************************/
72
- $results = $batch->execute();
73
- ?>
74
-
75
- <h3>Results Of Call 1:</h3>
76
- <?php foreach ($results['response-thoreau'] as $item): ?>
77
- <?= $item['volumeInfo']['title'] ?>
78
- <br />
79
- <?php endforeach ?>
80
-
81
- <h3>Results Of Call 2:</h3>
82
- <?php foreach ($results['response-shaw'] as $item): ?>
83
- <?= $item['volumeInfo']['title'] ?>
84
- <br />
85
- <?php endforeach ?>
86
-
87
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/idtoken.php DELETED
@@ -1,109 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2011 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("Retrieving An Id Token");
22
-
23
- /*************************************************
24
- * Ensure you've downloaded your oauth credentials
25
- ************************************************/
26
- if (!$oauth_credentials = getOAuthCredentialsFile()) {
27
- echo missingOAuth2CredentialsWarning();
28
- return;
29
- }
30
-
31
- /************************************************
32
- * NOTICE:
33
- * The redirect URI is to the current page, e.g:
34
- * http://localhost:8080/idtoken.php
35
- ************************************************/
36
- $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
37
-
38
- $client = new Google_Client();
39
- $client->setAuthConfig($oauth_credentials);
40
- $client->setRedirectUri($redirect_uri);
41
- $client->setScopes('email');
42
-
43
- /************************************************
44
- * If we're logging out we just need to clear our
45
- * local access token in this case
46
- ************************************************/
47
- if (isset($_REQUEST['logout'])) {
48
- unset($_SESSION['id_token_token']);
49
- }
50
-
51
-
52
- /************************************************
53
- * If we have a code back from the OAuth 2.0 flow,
54
- * we need to exchange that with the
55
- * Google_Client::fetchAccessTokenWithAuthCode()
56
- * function. We store the resultant access token
57
- * bundle in the session, and redirect to ourself.
58
- ************************************************/
59
- if (isset($_GET['code'])) {
60
- $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
61
- $client->setAccessToken($token);
62
-
63
- // store in the session also
64
- $_SESSION['id_token_token'] = $token;
65
-
66
- // redirect back to the example
67
- header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
68
- }
69
-
70
- /************************************************
71
- If we have an access token, we can make
72
- requests, else we generate an authentication URL.
73
- ************************************************/
74
- if (
75
- !empty($_SESSION['id_token_token'])
76
- && isset($_SESSION['id_token_token']['id_token'])
77
- ) {
78
- $client->setAccessToken($_SESSION['id_token_token']);
79
- } else {
80
- $authUrl = $client->createAuthUrl();
81
- }
82
-
83
- /************************************************
84
- If we're signed in we can go ahead and retrieve
85
- the ID token, which is part of the bundle of
86
- data that is exchange in the authenticate step
87
- - we only need to do a network call if we have
88
- to retrieve the Google certificate to verify it,
89
- and that can be cached.
90
- ************************************************/
91
- if ($client->getAccessToken()) {
92
- $token_data = $client->verifyIdToken();
93
- }
94
- ?>
95
-
96
- <div class="box">
97
- <?php if (isset($authUrl)): ?>
98
- <div class="request">
99
- <a class='login' href='<?= $authUrl ?>'>Connect Me!</a>
100
- </div>
101
- <?php else: ?>
102
- <div class="data">
103
- <p>Here is the data from your Id Token:</p>
104
- <pre><?php var_export($token_data) ?></pre>
105
- </div>
106
- <?php endif ?>
107
- </div>
108
-
109
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/index.php DELETED
@@ -1,43 +0,0 @@
1
- <?php include_once "templates/base.php" ?>
2
-
3
- <?php if (!isWebRequest()): ?>
4
- To view this example, run the following command from the root directory of this repository:
5
-
6
- php -S localhost:8080 -t examples/
7
-
8
- And then browse to "localhost:8080" in your web browser
9
- <?php return ?>
10
- <?php endif ?>
11
-
12
- <?= pageHeader("PHP Library Examples"); ?>
13
-
14
- <?php if (isset($_POST['api_key'])): ?>
15
- <?php setApiKey($_POST['api_key']) ?>
16
- <span class="warn">
17
- API Key set!
18
- </span>
19
- <?php endif ?>
20
-
21
- <?php if (!getApiKey()): ?>
22
- <div class="api-key">
23
- <strong>You have not entered your API key</strong>
24
- <form method="post">
25
- API Key:<input type="text" name="api_key" />
26
- <input type="submit" />
27
- </form>
28
- <em>This can be found in the <a href="http://developers.google.com/console" target="_blank">Google API Console</em>
29
- </div>
30
- <?php endif ?>
31
-
32
- <ul>
33
- <li><a href="simple-query.php">A query using simple API access</a></li>
34
- <li><a href="url-shortener.php">Authorize a url shortener, using OAuth 2.0 authentication.</a></li>
35
- <li><a href="batch.php">An example of combining multiple calls into a batch request</a></li>
36
- <li><a href="service-account.php">A query using the service account functionality.</a></li>
37
- <li><a href="simple-file-upload.php">An example of a small file upload.</a></li>
38
- <li><a href="large-file-upload.php">An example of a large file upload.</a></li>
39
- <li><a href="idtoken.php">An example of verifying and retrieving the id token.</a></li>
40
- <li><a href="multi-api.php">An example of using multiple APIs.</a></li>
41
- </ul>
42
-
43
- <?= pageFooter(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/large-file-upload.php DELETED
@@ -1,168 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2011 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("File Upload - Uploading a large file");
22
-
23
- /*************************************************
24
- * Ensure you've downloaded your oauth credentials
25
- ************************************************/
26
- if (!$oauth_credentials = getOAuthCredentialsFile()) {
27
- echo missingOAuth2CredentialsWarning();
28
- return;
29
- }
30
-
31
- /************************************************
32
- * The redirect URI is to the current page, e.g:
33
- * http://localhost:8080/large-file-upload.php
34
- ************************************************/
35
- $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
36
-
37
- $client = new Google_Client();
38
- $client->setAuthConfig($oauth_credentials);
39
- $client->setRedirectUri($redirect_uri);
40
- $client->addScope("https://www.googleapis.com/auth/drive");
41
- $service = new Google_Service_Drive($client);
42
-
43
- // add "?logout" to the URL to remove a token from the session
44
- if (isset($_REQUEST['logout'])) {
45
- unset($_SESSION['upload_token']);
46
- }
47
-
48
- /************************************************
49
- * If we have a code back from the OAuth 2.0 flow,
50
- * we need to exchange that with the
51
- * Google_Client::fetchAccessTokenWithAuthCode()
52
- * function. We store the resultant access token
53
- * bundle in the session, and redirect to ourself.
54
- ************************************************/
55
- if (isset($_GET['code'])) {
56
- $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
57
- $client->setAccessToken($token);
58
-
59
- // store in the session also
60
- $_SESSION['upload_token'] = $token;
61
-
62
- // redirect back to the example
63
- header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
64
- }
65
-
66
- // set the access token as part of the client
67
- if (!empty($_SESSION['upload_token'])) {
68
- $client->setAccessToken($_SESSION['upload_token']);
69
- if ($client->isAccessTokenExpired()) {
70
- unset($_SESSION['upload_token']);
71
- }
72
- } else {
73
- $authUrl = $client->createAuthUrl();
74
- }
75
-
76
- /************************************************
77
- * If we're signed in then lets try to upload our
78
- * file.
79
- ************************************************/
80
- if ($_SERVER['REQUEST_METHOD'] == 'POST' && $client->getAccessToken()) {
81
- /************************************************
82
- * We'll setup an empty 20MB file to upload.
83
- ************************************************/
84
- DEFINE("TESTFILE", 'testfile.txt');
85
- if (!file_exists(TESTFILE)) {
86
- $fh = fopen(TESTFILE, 'w');
87
- fseek($fh, 1024*1024*20);
88
- fwrite($fh, "!", 1);
89
- fclose($fh);
90
- }
91
-
92
- $file = new Google_Service_Drive_DriveFile();
93
- $file->name = "Big File";
94
- $chunkSizeBytes = 1 * 1024 * 1024;
95
-
96
- // Call the API with the media upload, defer so it doesn't immediately return.
97
- $client->setDefer(true);
98
- $request = $service->files->create($file);
99
-
100
- // Create a media file upload to represent our upload process.
101
- $media = new Google_Http_MediaFileUpload(
102
- $client,
103
- $request,
104
- 'text/plain',
105
- null,
106
- true,
107
- $chunkSizeBytes
108
- );
109
- $media->setFileSize(filesize(TESTFILE));
110
-
111
- // Upload the various chunks. $status will be false until the process is
112
- // complete.
113
- $status = false;
114
- $handle = fopen(TESTFILE, "rb");
115
- while (!$status && !feof($handle)) {
116
- // read until you get $chunkSizeBytes from TESTFILE
117
- // fread will never return more than 8192 bytes if the stream is read buffered and it does not represent a plain file
118
- // An example of a read buffered file is when reading from a URL
119
- $chunk = readVideoChunk($handle, $chunkSizeBytes);
120
- $status = $media->nextChunk($chunk);
121
- }
122
-
123
- // The final value of $status will be the data from the API for the object
124
- // that has been uploaded.
125
- $result = false;
126
- if ($status != false) {
127
- $result = $status;
128
- }
129
-
130
- fclose($handle);
131
- }
132
-
133
- function readVideoChunk ($handle, $chunkSize)
134
- {
135
- $byteCount = 0;
136
- $giantChunk = "";
137
- while (!feof($handle)) {
138
- // fread will never return more than 8192 bytes if the stream is read buffered and it does not represent a plain file
139
- $chunk = fread($handle, 8192);
140
- $byteCount += strlen($chunk);
141
- $giantChunk .= $chunk;
142
- if ($byteCount >= $chunkSize)
143
- {
144
- return $giantChunk;
145
- }
146
- }
147
- return $giantChunk;
148
- }
149
- ?>
150
-
151
- <div class="box">
152
- <?php if (isset($authUrl)): ?>
153
- <div class="request">
154
- <a class='login' href='<?= $authUrl ?>'>Connect Me!</a>
155
- </div>
156
- <?php elseif($_SERVER['REQUEST_METHOD'] == 'POST'): ?>
157
- <div class="shortened">
158
- <p>Your call was successful! Check your drive for this file:</p>
159
- <p><a href="https://drive.google.com/open?id=<?= $result->id ?>" target="_blank"><?= $result->name ?></a></p>
160
- </div>
161
- <?php else: ?>
162
- <form method="POST">
163
- <input type="submit" value="Click here to upload a large (20MB) test file" />
164
- </form>
165
- <?php endif ?>
166
- </div>
167
-
168
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/multi-api.php DELETED
@@ -1,120 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2011 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("User Query - Multiple APIs");
22
-
23
-
24
- /*************************************************
25
- * Ensure you've downloaded your oauth credentials
26
- ************************************************/
27
- if (!$oauth_credentials = getOAuthCredentialsFile()) {
28
- echo missingOAuth2CredentialsWarning();
29
- return;
30
- }
31
-
32
- /************************************************
33
- * The redirect URI is to the current page, e.g:
34
- * http://localhost:8080/multi-api.php
35
- ************************************************/
36
- $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
37
-
38
- $client = new Google_Client();
39
- $client->setAuthConfig($oauth_credentials);
40
- $client->setRedirectUri($redirect_uri);
41
- $client->addScope("https://www.googleapis.com/auth/drive");
42
- $client->addScope("https://www.googleapis.com/auth/youtube");
43
-
44
- // add "?logout" to the URL to remove a token from the session
45
- if (isset($_REQUEST['logout'])) {
46
- unset($_SESSION['multi-api-token']);
47
- }
48
-
49
- /************************************************
50
- * If we have a code back from the OAuth 2.0 flow,
51
- * we need to exchange that with the
52
- * Google_Client::fetchAccessTokenWithAuthCode()
53
- * function. We store the resultant access token
54
- * bundle in the session, and redirect to ourself.
55
- ************************************************/
56
- if (isset($_GET['code'])) {
57
- $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
58
- $client->setAccessToken($token);
59
-
60
- // store in the session also
61
- $_SESSION['multi-api-token'] = $token;
62
-
63
- // redirect back to the example
64
- header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
65
- }
66
-
67
- // set the access token as part of the client
68
- if (!empty($_SESSION['multi-api-token'])) {
69
- $client->setAccessToken($_SESSION['multi-api-token']);
70
- if ($client->isAccessTokenExpired()) {
71
- unset($_SESSION['multi-api-token']);
72
- }
73
- } else {
74
- $authUrl = $client->createAuthUrl();
75
- }
76
-
77
- /************************************************
78
- We are going to create both YouTube and Drive
79
- services, and query both.
80
- ************************************************/
81
- $yt_service = new Google_Service_YouTube($client);
82
- $dr_service = new Google_Service_Drive($client);
83
-
84
- /************************************************
85
- If we're signed in, retrieve channels from YouTube
86
- and a list of files from Drive.
87
- ************************************************/
88
- if ($client->getAccessToken()) {
89
- $_SESSION['multi-api-token'] = $client->getAccessToken();
90
-
91
- $dr_results = $dr_service->files->listFiles(array('pageSize' => 10));
92
-
93
- $yt_channels = $yt_service->channels->listChannels('contentDetails', array("mine" => true));
94
- $likePlaylist = $yt_channels[0]->contentDetails->relatedPlaylists->likes;
95
- $yt_results = $yt_service->playlistItems->listPlaylistItems(
96
- "snippet",
97
- array("playlistId" => $likePlaylist)
98
- );
99
- }
100
- ?>
101
-
102
- <div class="box">
103
- <div class="request">
104
- <?php if (isset($authUrl)): ?>
105
- <a class="login" href="<?= $authUrl ?>">Connect Me!</a>
106
- <?php else: ?>
107
- <h3>Results Of Drive List:</h3>
108
- <?php foreach ($dr_results as $item): ?>
109
- <?= $item->name ?><br />
110
- <?php endforeach ?>
111
-
112
- <h3>Results Of YouTube Likes:</h3>
113
- <?php foreach ($yt_results as $item): ?>
114
- <?= $item['snippet']['title'] ?><br />
115
- <?php endforeach ?>
116
- <?php endif ?>
117
- </div>
118
- </div>
119
-
120
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/service-account.php DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2013 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("Service Account Access");
22
-
23
- /************************************************
24
- Make an API request authenticated with a service
25
- account.
26
- ************************************************/
27
-
28
- $client = new Google_Client();
29
-
30
- /************************************************
31
- ATTENTION: Fill in these values, or make sure you
32
- have set the GOOGLE_APPLICATION_CREDENTIALS
33
- environment variable. You can get these credentials
34
- by creating a new Service Account in the
35
- API console. Be sure to store the key file
36
- somewhere you can get to it - though in real
37
- operations you'd want to make sure it wasn't
38
- accessible from the webserver!
39
- Make sure the Books API is enabled on this
40
- account as well, or the call will fail.
41
- ************************************************/
42
-
43
- if ($credentials_file = checkServiceAccountCredentialsFile()) {
44
- // set the location manually
45
- $client->setAuthConfig($credentials_file);
46
- } elseif (getenv('GOOGLE_APPLICATION_CREDENTIALS')) {
47
- // use the application default credentials
48
- $client->useApplicationDefaultCredentials();
49
- } else {
50
- echo missingServiceAccountDetailsWarning();
51
- return;
52
- }
53
-
54
- $client->setApplicationName("Client_Library_Examples");
55
- $client->setScopes(['https://www.googleapis.com/auth/books']);
56
- $service = new Google_Service_Books($client);
57
-
58
- /************************************************
59
- We're just going to make the same call as in the
60
- simple query as an example.
61
- ************************************************/
62
- $optParams = array('filter' => 'free-ebooks');
63
- $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
64
- ?>
65
-
66
- <h3>Results Of Call:</h3>
67
- <?php foreach ($results as $item): ?>
68
- <?= $item['volumeInfo']['title'] ?>
69
- <br />
70
- <?php endforeach ?>
71
-
72
- <?php pageFooter(__FILE__); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/simple-file-upload.php DELETED
@@ -1,135 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2011 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("File Upload - Uploading a simple file");
22
-
23
- /*************************************************
24
- * Ensure you've downloaded your oauth credentials
25
- ************************************************/
26
- if (!$oauth_credentials = getOAuthCredentialsFile()) {
27
- echo missingOAuth2CredentialsWarning();
28
- return;
29
- }
30
-
31
- /************************************************
32
- * The redirect URI is to the current page, e.g:
33
- * http://localhost:8080/simple-file-upload.php
34
- ************************************************/
35
- $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
36
-
37
- $client = new Google_Client();
38
- $client->setAuthConfig($oauth_credentials);
39
- $client->setRedirectUri($redirect_uri);
40
- $client->addScope("https://www.googleapis.com/auth/drive");
41
- $service = new Google_Service_Drive($client);
42
-
43
- // add "?logout" to the URL to remove a token from the session
44
- if (isset($_REQUEST['logout'])) {
45
- unset($_SESSION['upload_token']);
46
- }
47
-
48
- /************************************************
49
- * If we have a code back from the OAuth 2.0 flow,
50
- * we need to exchange that with the
51
- * Google_Client::fetchAccessTokenWithAuthCode()
52
- * function. We store the resultant access token
53
- * bundle in the session, and redirect to ourself.
54
- ************************************************/
55
- if (isset($_GET['code'])) {
56
- $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
57
- $client->setAccessToken($token);
58
-
59
- // store in the session also
60
- $_SESSION['upload_token'] = $token;
61
-
62
- // redirect back to the example
63
- header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
64
- }
65
-
66
- // set the access token as part of the client
67
- if (!empty($_SESSION['upload_token'])) {
68
- $client->setAccessToken($_SESSION['upload_token']);
69
- if ($client->isAccessTokenExpired()) {
70
- unset($_SESSION['upload_token']);
71
- }
72
- } else {
73
- $authUrl = $client->createAuthUrl();
74
- }
75
-
76
- /************************************************
77
- * If we're signed in then lets try to upload our
78
- * file. For larger files, see fileupload.php.
79
- ************************************************/
80
- if ($_SERVER['REQUEST_METHOD'] == 'POST' && $client->getAccessToken()) {
81
- // We'll setup an empty 1MB file to upload.
82
- DEFINE("TESTFILE", 'testfile-small.txt');
83
- if (!file_exists(TESTFILE)) {
84
- $fh = fopen(TESTFILE, 'w');
85
- fseek($fh, 1024 * 1024);
86
- fwrite($fh, "!", 1);
87
- fclose($fh);
88
- }
89
-
90
- // This is uploading a file directly, with no metadata associated.
91
- $file = new Google_Service_Drive_DriveFile();
92
- $result = $service->files->create(
93
- $file,
94
- array(
95
- 'data' => file_get_contents(TESTFILE),
96
- 'mimeType' => 'application/octet-stream',
97
- 'uploadType' => 'media'
98
- )
99
- );
100
-
101
- // Now lets try and send the metadata as well using multipart!
102
- $file = new Google_Service_Drive_DriveFile();
103
- $file->setName("Hello World!");
104
- $result2 = $service->files->create(
105
- $file,
106
- array(
107
- 'data' => file_get_contents(TESTFILE),
108
- 'mimeType' => 'application/octet-stream',
109
- 'uploadType' => 'multipart'
110
- )
111
- );
112
- }
113
- ?>
114
-
115
- <div class="box">
116
- <?php if (isset($authUrl)): ?>
117
- <div class="request">
118
- <a class='login' href='<?= $authUrl ?>'>Connect Me!</a>
119
- </div>
120
- <?php elseif($_SERVER['REQUEST_METHOD'] == 'POST'): ?>
121
- <div class="shortened">
122
- <p>Your call was successful! Check your drive for the following files:</p>
123
- <ul>
124
- <li><a href="https://drive.google.com/open?id=<?= $result->id ?>" target="_blank"><?= $result->name ?></a></li>
125
- <li><a href="https://drive.google.com/open?id=<?= $result2->id ?>" target="_blank"><?= $result2->name ?></a></li>
126
- </ul>
127
- </div>
128
- <?php else: ?>
129
- <form method="POST">
130
- <input type="submit" value="Click here to upload two small (1MB) test files" />
131
- </form>
132
- <?php endif ?>
133
- </div>
134
-
135
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/simple-query.php DELETED
@@ -1,84 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2013 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader("Simple API Access");
22
-
23
- /************************************************
24
- We create the client and set the simple API
25
- access key. If you comment out the call to
26
- setDeveloperKey, the request may still succeed
27
- using the anonymous quota.
28
- ************************************************/
29
- $client = new Google_Client();
30
- $client->setApplicationName("Client_Library_Examples");
31
-
32
- // Warn if the API key isn't set.
33
- if (!$apiKey = getApiKey()) {
34
- echo missingApiKeyWarning();
35
- return;
36
- }
37
- $client->setDeveloperKey($apiKey);
38
-
39
- $service = new Google_Service_Books($client);
40
-
41
- /************************************************
42
- We make a call to our service, which will
43
- normally map to the structure of the API.
44
- In this case $service is Books API, the
45
- resource is volumes, and the method is
46
- listVolumes. We pass it a required parameters
47
- (the query), and an array of named optional
48
- parameters.
49
- ************************************************/
50
- $optParams = array('filter' => 'free-ebooks');
51
- $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
52
-
53
- /************************************************
54
- This is an example of deferring a call.
55
- ***********************************************/
56
- $client->setDefer(true);
57
- $optParams = array('filter' => 'free-ebooks');
58
- $request = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
59
- $resultsDeferred = $client->execute($request);
60
-
61
- /************************************************
62
- These calls returns a list of volumes, so we
63
- can iterate over them as normal with any
64
- array.
65
- Some calls will return a single item which we
66
- can immediately use. The individual responses
67
- are typed as Google_Service_Books_Volume, but
68
- can be treated as an array.
69
- ************************************************/
70
- ?>
71
-
72
- <h3>Results Of Call:</h3>
73
- <?php foreach ($results as $item): ?>
74
- <?= $item['volumeInfo']['title'] ?>
75
- <br />
76
- <?php endforeach ?>
77
-
78
- <h3>Results Of Deferred Call:</h3>
79
- <?php foreach ($resultsDeferred as $item): ?>
80
- <?= $item['volumeInfo']['title'] ?>
81
- <br />
82
- <?php endforeach ?>
83
-
84
- <?= pageFooter(__FILE__) ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/styles/style.css DELETED
@@ -1,117 +0,0 @@
1
- /*
2
- * Copyright 2013 Google Inc.
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- */
15
-
16
- body {
17
- font-family: Arial,sans-serif;
18
- margin: auto;
19
- padding: 10px;
20
- }
21
-
22
- .box {
23
- border: .5em solid #E3E9FF;
24
- -webkit-box-orient: vertical;
25
- -webkit-box-align: center;
26
-
27
- -moz-box-orient: vertical;
28
- -moz-box-align: center;
29
-
30
- display: block;
31
- box-orient: vertical;
32
- box-align: center;
33
-
34
- width: 400px;
35
- height: auto;
36
-
37
- margin: auto;
38
- padding: 10px;
39
- overflow: scroll;
40
- }
41
-
42
- .request {
43
- -webkit-box-flex: 1;
44
- -moz-box-flex: 1;
45
- box-flex: 1;
46
- }
47
-
48
- .result {
49
- -webkit-box-flex: 2;
50
- -moz-box-flex: 2;
51
- box-flex: 2;
52
- }
53
-
54
- header {
55
- color:#000;
56
- padding:2px 5px;
57
- font-size:100%;
58
- margin: auto;
59
- text-align: center
60
- }
61
-
62
- header h1.logo {
63
- margin:6px 0;
64
- padding:0;
65
- font-size:24px;
66
- line-height:20px;
67
- text-align: center
68
- }
69
-
70
- .login {
71
- font-size: 200%;
72
- display: block;
73
- margin: auto;
74
- cursor: pointer;
75
- text-align: center;
76
- font-weight: bold;
77
- color: #2779AA;
78
- line-height: normal;
79
- }
80
-
81
- .logout {
82
- font-weight: normal;
83
- margin-top: 0;
84
- }
85
-
86
- .shortened {
87
- overflow: scroll;
88
- }
89
-
90
- .url {
91
- color: #019;
92
- font-size: 100%;
93
- vertical-align: middle;
94
- padding: 1px;
95
- background-color: white;
96
- border: 1px inset;
97
- cursor: auto;
98
- margin: 0;
99
- text-indent: 0;
100
- display: inline-block;
101
- }
102
-
103
- pre.code {
104
- padding: 10px;
105
- border: .5em solid #E3E9FF;
106
- margin: 10px;
107
- height: 400px;
108
- overflow: scroll;
109
- }
110
-
111
- .warn {
112
- color: red;
113
- }
114
-
115
- .api-key {
116
- background-color:#DDD;
117
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/templates/base.php DELETED
@@ -1,141 +0,0 @@
1
- <?php
2
-
3
- /* Ad hoc functions to make the examples marginally prettier.*/
4
- function isWebRequest()
5
- {
6
- return isset($_SERVER['HTTP_USER_AGENT']);
7
- }
8
-
9
- function pageHeader($title)
10
- {
11
- $ret = "<!doctype html>
12
- <html>
13
- <head>
14
- <title>" . $title . "</title>
15
- <link href='styles/style.css' rel='stylesheet' type='text/css' />
16
- </head>
17
- <body>\n";
18
- if ($_SERVER['PHP_SELF'] != "/index.php") {
19
- $ret .= "<p><a href='index.php'>Back</a></p>";
20
- }
21
- $ret .= "<header><h1>" . $title . "</h1></header>";
22
-
23
- // Start the session (for storing access tokens and things)
24
- if (!headers_sent()) {
25
- session_start();
26
- }
27
-
28
- return $ret;
29
- }
30
-
31
-
32
- function pageFooter($file = null)
33
- {
34
- $ret = "";
35
- if ($file) {
36
- $ret .= "<h3>Code:</h3>";
37
- $ret .= "<pre class='code'>";
38
- $ret .= htmlspecialchars(file_get_contents($file));
39
- $ret .= "</pre>";
40
- }
41
- $ret .= "</html>";
42
-
43
- return $ret;
44
- }
45
-
46
- function missingApiKeyWarning()
47
- {
48
- $ret = "
49
- <h3 class='warn'>
50
- Warning: You need to set a Simple API Access key from the
51
- <a href='http://developers.google.com/console'>Google API console</a>
52
- </h3>";
53
-
54
- return $ret;
55
- }
56
-
57
- function missingClientSecretsWarning()
58
- {
59
- $ret = "
60
- <h3 class='warn'>
61
- Warning: You need to set Client ID, Client Secret and Redirect URI from the
62
- <a href='http://developers.google.com/console'>Google API console</a>
63
- </h3>";
64
-
65
- return $ret;
66
- }
67
-
68
- function missingServiceAccountDetailsWarning()
69
- {
70
- $ret = "
71
- <h3 class='warn'>
72
- Warning: You need download your Service Account Credentials JSON from the
73
- <a href='http://developers.google.com/console'>Google API console</a>.
74
- </h3>
75
- <p>
76
- Once downloaded, move them into the root directory of this repository and
77
- rename them 'service-account-credentials.json'.
78
- </p>
79
- <p>
80
- In your application, you should set the GOOGLE_APPLICATION_CREDENTIALS environment variable
81
- as the path to this file, but in the context of this example we will do this for you.
82
- </p>";
83
-
84
- return $ret;
85
- }
86
-
87
- function missingOAuth2CredentialsWarning()
88
- {
89
- $ret = "
90
- <h3 class='warn'>
91
- Warning: You need to set the location of your OAuth2 Client Credentials from the
92
- <a href='http://developers.google.com/console'>Google API console</a>.
93
- </h3>
94
- <p>
95
- Once downloaded, move them into the root directory of this repository and
96
- rename them 'oauth-credentials.json'.
97
- </p>";
98
-
99
- return $ret;
100
- }
101
-
102
- function checkServiceAccountCredentialsFile()
103
- {
104
- // service account creds
105
- $application_creds = __DIR__ . '/../../service-account-credentials.json';
106
-
107
- return file_exists($application_creds) ? $application_creds : false;
108
- }
109
-
110
- function getOAuthCredentialsFile()
111
- {
112
- // oauth2 creds
113
- $oauth_creds = __DIR__ . '/../../oauth-credentials.json';
114
-
115
- if (file_exists($oauth_creds)) {
116
- return $oauth_creds;
117
- }
118
-
119
- return false;
120
- }
121
-
122
- function setClientCredentialsFile($apiKey)
123
- {
124
- $file = __DIR__ . '/../../tests/.apiKey';
125
- file_put_contents($file, $apiKey);
126
- }
127
-
128
-
129
- function getApiKey()
130
- {
131
- $file = __DIR__ . '/../../tests/.apiKey';
132
- if (file_exists($file)) {
133
- return file_get_contents($file);
134
- }
135
- }
136
-
137
- function setApiKey($apiKey)
138
- {
139
- $file = __DIR__ . '/../../tests/.apiKey';
140
- file_put_contents($file, $apiKey);
141
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/examples/url-shortener.php DELETED
@@ -1,133 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2011 Google Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- include_once __DIR__ . '/../vendor/autoload.php';
19
- include_once "templates/base.php";
20
-
21
- echo pageHeader('User Query - URL Shortener');
22
-
23
- /*************************************************
24
- * Ensure you've downloaded your oauth credentials
25
- ************************************************/
26
- if (!$oauth_credentials = getOAuthCredentialsFile()) {
27
- echo missingOAuth2CredentialsWarning();
28
- return;
29
- }
30
-
31
- /************************************************
32
- Make an API request on behalf of a user. In
33
- this case we need to have a valid OAuth 2.0
34
- token for the user, so we need to send them
35
- through a login flow. To do this we need some
36
- information from our API console project.
37
- ************************************************/
38
- /************************************************
39
- * NOTICE:
40
- * The redirect URI is to this page, e.g:
41
- * http://localhost:8080/simplefileupload.php
42
- ************************************************/
43
- $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
44
-
45
- $client = new Google_Client();
46
- $client->setAuthConfig($oauth_credentials);
47
- $client->setRedirectUri($redirect_uri);
48
- $client->addScope("https://www.googleapis.com/auth/urlshortener");
49
-
50
- /************************************************
51
- * When we create the service here, we pass the
52
- * client to it. The client then queries the service
53
- * for the required scopes, and uses that when
54
- * generating the authentication URL later.
55
- ************************************************/
56
- $service = new Google_Service_Urlshortener($client);
57
-
58
- /************************************************
59
- * If we're logging out we just need to clear our
60
- * local access token in this case
61
- ************************************************/
62
- if (isset($_REQUEST['logout'])) {
63
- unset($_SESSION['access_token']);
64
- }
65
-
66
- /************************************************
67
- * If we have a code back from the OAuth 2.0 flow,
68
- * we need to exchange that with the
69
- * Google_Client::fetchAccessTokenWithAuthCode()
70
- * function. We store the resultant access token
71
- * bundle in the session, and redirect to ourself.
72
- ************************************************/
73
- if (isset($_GET['code'])) {
74
- $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
75
- $client->setAccessToken($token);
76
-
77
- // store in the session also
78
- $_SESSION['access_token'] = $token;
79
-
80
- // redirect back to the example
81
- header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
82
- }
83
-
84
- /************************************************
85
- If we have an access token, we can make
86
- requests, else we generate an authentication URL.
87
- ************************************************/
88
- if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
89
- $client->setAccessToken($_SESSION['access_token']);
90
- } else {
91
- $authUrl = $client->createAuthUrl();
92
- }
93
-
94
- /************************************************
95
- If we're signed in and have a request to shorten
96
- a URL, then we create a new URL object, set the
97
- unshortened URL, and call the 'insert' method on
98
- the 'url' resource. Note that we re-store the
99
- access_token bundle, just in case anything
100
- changed during the request - the main thing that
101
- might happen here is the access token itself is
102
- refreshed if the application has offline access.
103
- ************************************************/
104
- if ($client->getAccessToken() && isset($_GET['url'])) {
105
- $url = new Google_Service_Urlshortener_Url();
106
- $url->longUrl = $_GET['url'];
107
- $short = $service->url->insert($url);
108
- $_SESSION['access_token'] = $client->getAccessToken();
109
- }
110
- ?>
111
-
112
- <div class="box">
113
- <?php if (isset($authUrl)): ?>
114
- <div class="request">
115
- <a class='login' href='<?= $authUrl ?>'>Connect Me!</a>
116
- </div>
117
- <?php elseif (empty($short)): ?>
118
- <form id="url" method="GET" action="<?= $_SERVER['PHP_SELF'] ?>">
119
- <input name="url" class="url" type="text">
120
- <input type="submit" value="Shorten">
121
- </form>
122
- <a class='logout' href='?logout'>Logout</a>
123
- <?php else: ?>
124
- You created a short link! <br />
125
- <a href="<?= $short['id'] ?>"><?= $short['id'] ?></a>
126
- <div class="shortened">
127
- <pre><?php var_export($short) ?></pre>
128
- </div>
129
- <a href="<?= $_SERVER['PHP_SELF'] ?>">Create another</a>
130
- <?php endif ?>
131
- </div>
132
-
133
- <?= pageFooter(__FILE__);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/phpunit.xml.dist DELETED
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/3.7/phpunit.xsd"
4
- colors="true"
5
- bootstrap="tests/bootstrap.php">
6
- <testsuites>
7
- <testsuite name="Google PHP Client Unit Test Suite">
8
- <directory>tests/Google</directory>
9
- </testsuite>
10
- <testsuite name="Google PHP Client Examples Test Suite">
11
- <directory>tests/examples</directory>
12
- </testsuite>
13
- </testsuites>
14
- <filter>
15
- <whitelist>
16
- <directory suffix=".php">./src/Google</directory>
17
- </whitelist>
18
- </filter>
19
- </phpunit>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/apiclient/src/Google/AccessToken/Revoke.php CHANGED
@@ -45,18 +45,20 @@ class Google_AccessToken_Revoke
45
  * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
46
  * token, if a token isn't provided.
47
  *
48
- * @param string|null $token The token (access token or a refresh token) that should be revoked.
49
  * @return boolean Returns True if the revocation was successful, otherwise False.
50
  */
51
- public function revokeToken(array $token)
52
  {
53
- if (isset($token['refresh_token'])) {
54
- $tokenString = $token['refresh_token'];
55
- } else {
56
- $tokenString = $token['access_token'];
 
 
57
  }
58
 
59
- $body = Psr7\stream_for(http_build_query(array('token' => $tokenString)));
60
  $request = new Request(
61
  'POST',
62
  Google_Client::OAUTH2_REVOKE_URI,
@@ -70,10 +72,7 @@ class Google_AccessToken_Revoke
70
  $httpHandler = HttpHandlerFactory::build($this->http);
71
 
72
  $response = $httpHandler($request);
73
- if ($response->getStatusCode() == 200) {
74
- return true;
75
- }
76
 
77
- return false;
78
  }
79
  }
45
  * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
46
  * token, if a token isn't provided.
47
  *
48
+ * @param string|array $token The token (access token or a refresh token) that should be revoked.
49
  * @return boolean Returns True if the revocation was successful, otherwise False.
50
  */
51
+ public function revokeToken($token)
52
  {
53
+ if (is_array($token)) {
54
+ if (isset($token['refresh_token'])) {
55
+ $token = $token['refresh_token'];
56
+ } else {
57
+ $token = $token['access_token'];
58
+ }
59
  }
60
 
61
+ $body = Psr7\stream_for(http_build_query(array('token' => $token)));
62
  $request = new Request(
63
  'POST',
64
  Google_Client::OAUTH2_REVOKE_URI,
72
  $httpHandler = HttpHandlerFactory::build($this->http);
73
 
74
  $response = $httpHandler($request);
 
 
 
75
 
76
+ return $response->getStatusCode() == 200;
77
  }
78
  }
vendor/google/apiclient/src/Google/AccessToken/Verify.php CHANGED
@@ -17,11 +17,11 @@
17
  */
18
 
19
  use Firebase\JWT\ExpiredException as ExpiredExceptionV3;
 
20
  use GuzzleHttp\Client;
21
  use GuzzleHttp\ClientInterface;
22
- use phpseclib\Crypt\RSA;
23
- use phpseclib\Math\BigInteger;
24
  use Psr\Cache\CacheItemPoolInterface;
 
25
  use Stash\Driver\FileSystem;
26
  use Stash\Pool;
27
 
@@ -49,19 +49,22 @@ class Google_AccessToken_Verify
49
  * Instantiates the class, but does not initiate the login flow, leaving it
50
  * to the discretion of the caller.
51
  */
52
- public function __construct(ClientInterface $http = null, CacheItemPoolInterface $cache = null)
53
- {
54
- if (is_null($http)) {
 
 
 
55
  $http = new Client();
56
  }
57
 
58
- if (is_null($cache) && class_exists('Stash\Pool')) {
59
- $cache = new Pool(new FileSystem);
60
  }
61
 
62
  $this->http = $http;
63
  $this->cache = $cache;
64
- $this->jwt = $this->getJwtService();
65
  }
66
 
67
  /**
@@ -70,7 +73,8 @@ class Google_AccessToken_Verify
70
  * The audience parameter can be used to control which id tokens are
71
  * accepted. By default, the id token must have been issued to this OAuth2 client.
72
  *
73
- * @param $audience
 
74
  * @return array the token payload, if successful
75
  */
76
  public function verifyIdToken($idToken, $audience = null)
@@ -85,10 +89,12 @@ class Google_AccessToken_Verify
85
  // Check signature
86
  $certs = $this->getFederatedSignOnCerts();
87
  foreach ($certs as $cert) {
88
- $modulus = new BigInteger($this->jwt->urlsafeB64Decode($cert['n']), 256);
89
- $exponent = new BigInteger($this->jwt->urlsafeB64Decode($cert['e']), 256);
 
 
90
 
91
- $rsa = new RSA();
92
  $rsa->loadKey(array('n' => $modulus, 'e' => $exponent));
93
 
94
  try {
@@ -116,6 +122,8 @@ class Google_AccessToken_Verify
116
  return false;
117
  } catch (ExpiredExceptionV3 $e) {
118
  return false;
 
 
119
  } catch (DomainException $e) {
120
  // continue
121
  }
@@ -171,7 +179,7 @@ class Google_AccessToken_Verify
171
  {
172
  $certs = null;
173
  if ($cache = $this->getCache()) {
174
- $cacheItem = $cache->getItem('federated_signon_certs_v3', 3600);
175
  $certs = $cacheItem->get();
176
  }
177
 
@@ -182,6 +190,7 @@ class Google_AccessToken_Verify
182
  );
183
 
184
  if ($cache) {
 
185
  $cacheItem->set($certs);
186
  $cache->save($cacheItem);
187
  }
@@ -203,8 +212,8 @@ class Google_AccessToken_Verify
203
  $jwtClass = 'Firebase\JWT\JWT';
204
  }
205
 
206
- if (property_exists($jwtClass, 'leeway')) {
207
- // adds 1 second to JWT leeway
208
  // @see https://github.com/google/google-api-php-client/issues/827
209
  $jwtClass::$leeway = 1;
210
  }
@@ -212,6 +221,37 @@ class Google_AccessToken_Verify
212
  return new $jwtClass;
213
  }
214
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  /**
216
  * phpseclib calls "phpinfo" by default, which requires special
217
  * whitelisting in the AppEngine VM environment. This function
@@ -227,7 +267,7 @@ class Google_AccessToken_Verify
227
  define('MATH_BIGINTEGER_OPENSSL_ENABLED', true);
228
  }
229
  if (!defined('CRYPT_RSA_MODE')) {
230
- define('CRYPT_RSA_MODE', RSA::MODE_OPENSSL);
231
  }
232
  }
233
  }
17
  */
18
 
19
  use Firebase\JWT\ExpiredException as ExpiredExceptionV3;
20
+ use Firebase\JWT\SignatureInvalidException;
21
  use GuzzleHttp\Client;
22
  use GuzzleHttp\ClientInterface;
 
 
23
  use Psr\Cache\CacheItemPoolInterface;
24
+ use Google\Auth\Cache\MemoryCacheItemPool;
25
  use Stash\Driver\FileSystem;
26
  use Stash\Pool;
27
 
49
  * Instantiates the class, but does not initiate the login flow, leaving it
50
  * to the discretion of the caller.
51
  */
52
+ public function __construct(
53
+ ClientInterface $http = null,
54
+ CacheItemPoolInterface $cache = null,
55
+ $jwt = null
56
+ ) {
57
+ if (null === $http) {
58
  $http = new Client();
59
  }
60
 
61
+ if (null === $cache) {
62
+ $cache = new MemoryCacheItemPool;
63
  }
64
 
65
  $this->http = $http;
66
  $this->cache = $cache;
67
+ $this->jwt = $jwt ?: $this->getJwtService();
68
  }
69
 
70
  /**
73
  * The audience parameter can be used to control which id tokens are
74
  * accepted. By default, the id token must have been issued to this OAuth2 client.
75
  *
76
+ * @param string $idToken the ID token in JWT format
77
+ * @param string $audience Optional. The audience to verify against JWt "aud"
78
  * @return array the token payload, if successful
79
  */
80
  public function verifyIdToken($idToken, $audience = null)
89
  // Check signature
90
  $certs = $this->getFederatedSignOnCerts();
91
  foreach ($certs as $cert) {
92
+ $bigIntClass = $this->getBigIntClass();
93
+ $rsaClass = $this->getRsaClass();
94
+ $modulus = new $bigIntClass($this->jwt->urlsafeB64Decode($cert['n']), 256);
95
+ $exponent = new $bigIntClass($this->jwt->urlsafeB64Decode($cert['e']), 256);
96
 
97
+ $rsa = new $rsaClass();
98
  $rsa->loadKey(array('n' => $modulus, 'e' => $exponent));
99
 
100
  try {
122
  return false;
123
  } catch (ExpiredExceptionV3 $e) {
124
  return false;
125
+ } catch (SignatureInvalidException $e) {
126
+ // continue
127
  } catch (DomainException $e) {
128
  // continue
129
  }
179
  {
180
  $certs = null;
181
  if ($cache = $this->getCache()) {
182
+ $cacheItem = $cache->getItem('federated_signon_certs_v3');
183
  $certs = $cacheItem->get();
184
  }
185
 
190
  );
191
 
192
  if ($cache) {
193
+ $cacheItem->expiresAt(new DateTime('+1 hour'));
194
  $cacheItem->set($certs);
195
  $cache->save($cacheItem);
196
  }
212
  $jwtClass = 'Firebase\JWT\JWT';
213
  }
214
 
215
+ if (property_exists($jwtClass, 'leeway') && $jwtClass::$leeway < 1) {
216
+ // Ensures JWT leeway is at least 1
217
  // @see https://github.com/google/google-api-php-client/issues/827
218
  $jwtClass::$leeway = 1;
219
  }
221
  return new $jwtClass;
222
  }
223
 
224
+ private function getRsaClass()
225
+ {
226
+ if (class_exists('phpseclib\Crypt\RSA')) {
227
+ return 'phpseclib\Crypt\RSA';
228
+ }
229
+
230
+ return 'Crypt_RSA';
231
+ }
232
+
233
+ private function getBigIntClass()
234
+ {
235
+ if (class_exists('phpseclib\Math\BigInteger')) {
236
+ return 'phpseclib\Math\BigInteger';
237
+ }
238
+
239
+ return 'Math_BigInteger';
240
+ }
241
+
242
+ private function getOpenSslConstant()
243
+ {
244
+ if (class_exists('phpseclib\Crypt\RSA')) {
245
+ return 'phpseclib\Crypt\RSA::MODE_OPENSSL';
246
+ }
247
+
248
+ if (class_exists('Crypt_RSA')) {
249
+ return 'CRYPT_RSA_MODE_OPENSSL';
250
+ }
251
+
252
+ throw new \Exception('Cannot find RSA class');
253
+ }
254
+
255
  /**
256
  * phpseclib calls "phpinfo" by default, which requires special
257
  * whitelisting in the AppEngine VM environment. This function
267
  define('MATH_BIGINTEGER_OPENSSL_ENABLED', true);
268
  }
269
  if (!defined('CRYPT_RSA_MODE')) {
270
+ define('CRYPT_RSA_MODE', constant($this->getOpenSslConstant()));
271
  }
272
  }
273
  }
vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php CHANGED
@@ -28,13 +28,20 @@ class Google_AuthHandler_AuthHandlerFactory
28
  */
29
  public static function build($cache = null, array $cacheConfig = [])
30
  {
31
- $version = ClientInterface::VERSION;
 
 
 
 
 
32
 
33
- switch ($version[0]) {
34
- case '5':
35
  return new Google_AuthHandler_Guzzle5AuthHandler($cache, $cacheConfig);
36
- case '6':
37
  return new Google_AuthHandler_Guzzle6AuthHandler($cache, $cacheConfig);
 
 
38
  default:
39
  throw new Exception('Version not supported');
40
  }
28
  */
29
  public static function build($cache = null, array $cacheConfig = [])
30
  {
31
+ $guzzleVersion = null;
32
+ if (defined('\GuzzleHttp\ClientInterface::MAJOR_VERSION')) {
33
+ $guzzleVersion = ClientInterface::MAJOR_VERSION;
34
+ } elseif (defined('\GuzzleHttp\ClientInterface::VERSION')) {
35
+ $guzzleVersion = (int) substr(ClientInterface::VERSION, 0, 1);
36
+ }
37
 
38
+ switch ($guzzleVersion) {
39
+ case 5:
40
  return new Google_AuthHandler_Guzzle5AuthHandler($cache, $cacheConfig);
41
+ case 6:
42
  return new Google_AuthHandler_Guzzle6AuthHandler($cache, $cacheConfig);
43
+ case 7:
44
+ return new Google_AuthHandler_Guzzle7AuthHandler($cache, $cacheConfig);
45
  default:
46
  throw new Exception('Version not supported');
47
  }
vendor/google/apiclient/src/Google/AuthHandler/Guzzle5AuthHandler.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  use Google\Auth\CredentialsLoader;
4
  use Google\Auth\HttpHandler\HttpHandlerFactory;
 
5
  use Google\Auth\Subscriber\AuthTokenSubscriber;
6
  use Google\Auth\Subscriber\ScopedAccessTokenSubscriber;
7
  use Google\Auth\Subscriber\SimpleSubscriber;
@@ -28,6 +29,14 @@ class Google_AuthHandler_Guzzle5AuthHandler
28
  CredentialsLoader $credentials,
29
  callable $tokenCallback = null
30
  ) {
 
 
 
 
 
 
 
 
31
  // if we end up needing to make an HTTP request to retrieve credentials, we
32
  // can use our existing one, but we need to throw exceptions so the error
33
  // bubbles up.
@@ -35,8 +44,6 @@ class Google_AuthHandler_Guzzle5AuthHandler
35
  $authHttpHandler = HttpHandlerFactory::build($authHttp);
36
  $subscriber = new AuthTokenSubscriber(
37
  $credentials,
38
- $this->cacheConfig,
39
- $this->cache,
40
  $authHttpHandler,
41
  $tokenCallback
42
  );
@@ -56,7 +63,7 @@ class Google_AuthHandler_Guzzle5AuthHandler
56
  $subscriber = new ScopedAccessTokenSubscriber(
57
  $tokenFunc,
58
  $scopes,
59
- [],
60
  $this->cache
61
  );
62
 
2
 
3
  use Google\Auth\CredentialsLoader;
4
  use Google\Auth\HttpHandler\HttpHandlerFactory;
5
+ use Google\Auth\FetchAuthTokenCache;
6
  use Google\Auth\Subscriber\AuthTokenSubscriber;
7
  use Google\Auth\Subscriber\ScopedAccessTokenSubscriber;
8
  use Google\Auth\Subscriber\SimpleSubscriber;
29
  CredentialsLoader $credentials,
30
  callable $tokenCallback = null
31
  ) {
32
+ // use the provided cache
33
+ if ($this->cache) {
34
+ $credentials = new FetchAuthTokenCache(
35
+ $credentials,
36
+ $this->cacheConfig,
37
+ $this->cache
38
+ );
39
+ }
40
  // if we end up needing to make an HTTP request to retrieve credentials, we
41
  // can use our existing one, but we need to throw exceptions so the error
42
  // bubbles up.
44
  $authHttpHandler = HttpHandlerFactory::build($authHttp);
45
  $subscriber = new AuthTokenSubscriber(
46
  $credentials,
 
 
47
  $authHttpHandler,
48
  $tokenCallback
49
  );
63
  $subscriber = new ScopedAccessTokenSubscriber(
64
  $tokenFunc,
65
  $scopes,
66
+ $this->cacheConfig,
67
  $this->cache
68
  );
69
 
vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  use Google\Auth\CredentialsLoader;
4
  use Google\Auth\HttpHandler\HttpHandlerFactory;
 
5
  use Google\Auth\Middleware\AuthTokenMiddleware;
6
  use Google\Auth\Middleware\ScopedAccessTokenMiddleware;
7
  use Google\Auth\Middleware\SimpleMiddleware;
@@ -10,7 +11,7 @@ use GuzzleHttp\ClientInterface;
10
  use Psr\Cache\CacheItemPoolInterface;
11
 
12
  /**
13
- *
14
  */
15
  class Google_AuthHandler_Guzzle6AuthHandler
16
  {
@@ -28,6 +29,14 @@ class Google_AuthHandler_Guzzle6AuthHandler
28
  CredentialsLoader $credentials,
29
  callable $tokenCallback = null
30
  ) {
 
 
 
 
 
 
 
 
31
  // if we end up needing to make an HTTP request to retrieve credentials, we
32
  // can use our existing one, but we need to throw exceptions so the error
33
  // bubbles up.
@@ -35,8 +44,6 @@ class Google_AuthHandler_Guzzle6AuthHandler
35
  $authHttpHandler = HttpHandlerFactory::build($authHttp);
36
  $middleware = new AuthTokenMiddleware(
37
  $credentials,
38
- $this->cacheConfig,
39
- $this->cache,
40
  $authHttpHandler,
41
  $tokenCallback
42
  );
@@ -59,7 +66,7 @@ class Google_AuthHandler_Guzzle6AuthHandler
59
  $middleware = new ScopedAccessTokenMiddleware(
60
  $tokenFunc,
61
  $scopes,
62
- [],
63
  $this->cache
64
  );
65
 
2
 
3
  use Google\Auth\CredentialsLoader;
4
  use Google\Auth\HttpHandler\HttpHandlerFactory;
5
+ use Google\Auth\FetchAuthTokenCache;
6
  use Google\Auth\Middleware\AuthTokenMiddleware;
7
  use Google\Auth\Middleware\ScopedAccessTokenMiddleware;
8
  use Google\Auth\Middleware\SimpleMiddleware;
11
  use Psr\Cache\CacheItemPoolInterface;
12
 
13
  /**
14
+ * This supports Guzzle 6
15
  */
16
  class Google_AuthHandler_Guzzle6AuthHandler
17
  {
29
  CredentialsLoader $credentials,
30
  callable $tokenCallback = null
31
  ) {
32
+ // use the provided cache
33
+ if ($this->cache) {
34
+ $credentials = new FetchAuthTokenCache(
35
+ $credentials,
36
+ $this->cacheConfig,
37
+ $this->cache
38
+ );
39
+ }
40
  // if we end up needing to make an HTTP request to retrieve credentials, we
41
  // can use our existing one, but we need to throw exceptions so the error
42
  // bubbles up.
44
  $authHttpHandler = HttpHandlerFactory::build($authHttp);
45
  $middleware = new AuthTokenMiddleware(
46
  $credentials,
 
 
47
  $authHttpHandler,
48
  $tokenCallback
49
  );
66
  $middleware = new ScopedAccessTokenMiddleware(
67
  $tokenFunc,
68
  $scopes,
69
+ $this->cacheConfig,
70
  $this->cache
71
  );
72
 
vendor/google/apiclient/src/Google/AuthHandler/Guzzle7AuthHandler.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2020 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ /**
19
+ * This supports Guzzle 7
20
+ */
21
+ class Google_AuthHandler_Guzzle7AuthHandler extends Google_AuthHandler_Guzzle6AuthHandler
22
+ {
23
+ }
vendor/google/apiclient/src/Google/Client.php CHANGED
@@ -16,6 +16,7 @@
16
  */
17
 
18
  use Google\Auth\ApplicationDefaultCredentials;
 
19
  use Google\Auth\CredentialsLoader;
20
  use Google\Auth\HttpHandler\HttpHandlerFactory;
21
  use Google\Auth\OAuth2;
@@ -24,12 +25,12 @@ use Google\Auth\Credentials\UserRefreshCredentials;
24
  use GuzzleHttp\Client;
25
  use GuzzleHttp\ClientInterface;
26
  use GuzzleHttp\Ring\Client\StreamHandler;
27
- use GuzzleHttp\Psr7;
28
  use Psr\Cache\CacheItemPoolInterface;
29
  use Psr\Http\Message\RequestInterface;
30
  use Psr\Log\LoggerInterface;
31
  use Monolog\Logger;
32
  use Monolog\Handler\StreamHandler as MonologStreamHandler;
 
33
 
34
  /**
35
  * The Google API Client
@@ -37,10 +38,10 @@ use Monolog\Handler\StreamHandler as MonologStreamHandler;
37
  */
38
  class Google_Client
39
  {
40
- const LIBVER = "2.0.0-alpha";
41
  const USER_AGENT_SUFFIX = "google-api-php-client/";
42
- const OAUTH2_REVOKE_URI = 'https://accounts.google.com/o/oauth2/revoke';
43
- const OAUTH2_TOKEN_URI = 'https://www.googleapis.com/oauth2/v4/token';
44
  const OAUTH2_AUTH_URL = 'https://accounts.google.com/o/oauth2/auth';
45
  const API_BASE_PATH = 'https://www.googleapis.com';
46
 
@@ -65,12 +66,12 @@ class Google_Client
65
  private $token;
66
 
67
  /**
68
- * @var Google_Config $config
69
  */
70
  private $config;
71
 
72
  /**
73
- * @var Google_Logger_Abstract $logger
74
  */
75
  private $logger;
76
 
@@ -86,9 +87,9 @@ class Google_Client
86
  /**
87
  * Construct the Google Client.
88
  *
89
- * @param $config Google_Config or string for the ini file to load
90
  */
91
- public function __construct($config = array())
92
  {
93
  $this->config = array_merge(
94
  [
@@ -101,6 +102,16 @@ class Google_Client
101
  // https://developers.google.com/console
102
  'client_id' => '',
103
  'client_secret' => '',
 
 
 
 
 
 
 
 
 
 
104
  'redirect_uri' => null,
105
  'state' => null,
106
 
@@ -129,6 +140,7 @@ class Google_Client
129
  // Task Runner retry configuration
130
  // @see Google_Task_Runner
131
  'retry' => array(),
 
132
 
133
  // cache config for downstream auth caching
134
  'cache_config' => [],
@@ -136,9 +148,39 @@ class Google_Client
136
  // function to be called when an access token is fetched
137
  // follows the signature function ($cacheKey, $accessToken)
138
  'token_callback' => null,
 
 
 
 
 
 
 
 
139
  ],
140
  $config
141
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  }
143
 
144
  /**
@@ -157,6 +199,7 @@ class Google_Client
157
  *
158
  * @param $code string code from accounts.google.com
159
  * @return array access token
 
160
  */
161
  public function authenticate($code)
162
  {
@@ -195,6 +238,7 @@ class Google_Client
195
  * alias for fetchAccessTokenWithAssertion
196
  *
197
  * @return array access token
 
198
  */
199
  public function refreshTokenWithAssertion()
200
  {
@@ -203,7 +247,7 @@ class Google_Client
203
 
204
  /**
205
  * Fetches a fresh access token with a given assertion token.
206
- * @param $assertionCredentials optional.
207
  * @return array access token
208
  */
209
  public function fetchAccessTokenWithAssertion(ClientInterface $authHttp = null)
@@ -226,12 +270,13 @@ class Google_Client
226
  $credentials = $this->createApplicationDefaultCredentials();
227
 
228
  $httpHandler = HttpHandlerFactory::build($authHttp);
229
- $accessToken = $credentials->fetchAuthToken($httpHandler);
230
- if ($accessToken && isset($accessToken['access_token'])) {
231
- $this->setAccessToken($accessToken);
 
232
  }
233
 
234
- return $accessToken;
235
  }
236
 
237
  /**
@@ -253,7 +298,7 @@ class Google_Client
253
  */
254
  public function fetchAccessTokenWithRefreshToken($refreshToken = null)
255
  {
256
- if (is_null($refreshToken)) {
257
  if (!isset($this->token['refresh_token'])) {
258
  throw new LogicException(
259
  'refresh token must be passed in or set as part of setAccessToken'
@@ -269,6 +314,9 @@ class Google_Client
269
  $creds = $auth->fetchAuthToken($httpHandler);
270
  if ($creds && isset($creds['access_token'])) {
271
  $creds['created'] = time();
 
 
 
272
  $this->setAccessToken($creds);
273
  }
274
 
@@ -333,15 +381,14 @@ class Google_Client
333
  * set in the Google API Client object
334
  *
335
  * @param GuzzleHttp\ClientInterface $http the http client object.
336
- * @param GuzzleHttp\ClientInterface $authHttp an http client for authentication.
337
  * @return GuzzleHttp\ClientInterface the http client object
338
  */
339
- public function authorize(ClientInterface $http = null, ClientInterface $authHttp = null)
340
  {
341
  $credentials = null;
342
  $token = null;
343
  $scopes = null;
344
- if (is_null($http)) {
345
  $http = $this->getHttpClient();
346
  }
347
 
@@ -355,7 +402,7 @@ class Google_Client
355
  } elseif ($token = $this->getAccessToken()) {
356
  $scopes = $this->prepareScopes();
357
  // add refresh subscriber to request a new token
358
- if ($this->isAccessTokenExpired() && isset($token['refresh_token'])) {
359
  $credentials = $this->createUserRefreshCredentials(
360
  $scopes,
361
  $token['refresh_token']
@@ -401,6 +448,17 @@ class Google_Client
401
  }
402
 
403
  /**
 
 
 
 
 
 
 
 
 
 
 
404
  * @param string|array $token
405
  * @throws InvalidArgumentException
406
  */
@@ -430,11 +488,16 @@ class Google_Client
430
  return $this->token;
431
  }
432
 
 
 
 
433
  public function getRefreshToken()
434
  {
435
  if (isset($this->token['refresh_token'])) {
436
  return $this->token['refresh_token'];
437
  }
 
 
438
  }
439
 
440
  /**
@@ -466,12 +529,12 @@ class Google_Client
466
  }
467
 
468
  // If the token is set to expire in the next 30 seconds.
469
- $expired = ($created
470
- + ($this->token['expires_in'] - 30)) < time();
471
-
472
- return $expired;
473
  }
474
 
 
 
 
475
  public function getAuth()
476
  {
477
  throw new BadMethodCallException(
@@ -479,6 +542,9 @@ class Google_Client
479
  );
480
  }
481
 
 
 
 
482
  public function setAuth($auth)
483
  {
484
  throw new BadMethodCallException(
@@ -550,8 +616,8 @@ class Google_Client
550
 
551
  /**
552
  * @param string $approvalPrompt Possible values for approval_prompt include:
553
- * {@code "force"} to force the approval UI to appear. (This is the default value)
554
- * {@code "auto"} to request auto-approval when possible.
555
  */
556
  public function setApprovalPrompt($approvalPrompt)
557
  {
@@ -587,7 +653,7 @@ class Google_Client
587
  public function setRequestVisibleActions($requestVisibleActions)
588
  {
589
  if (is_array($requestVisibleActions)) {
590
- $requestVisibleActions = join(" ", $requestVisibleActions);
591
  }
592
  $this->config['request_visible_actions'] = $requestVisibleActions;
593
  }
@@ -618,6 +684,9 @@ class Google_Client
618
  * If no value is specified and the user has not previously authorized
619
  * access, then the user is shown a consent screen.
620
  * @param $prompt string
 
 
 
621
  */
622
  public function setPrompt($prompt)
623
  {
@@ -659,7 +728,7 @@ class Google_Client
659
  * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
660
  * token, if a token isn't provided.
661
  *
662
- * @param string|null $token The token (access token or a refresh token) that should be revoked.
663
  * @return boolean Returns True if the revocation was successful, otherwise False.
664
  */
665
  public function revokeToken($token = null)
@@ -675,7 +744,8 @@ class Google_Client
675
  * Verify an id_token. This method will verify the current id_token, if one
676
  * isn't provided.
677
  *
678
- * @throws Google_Exception
 
679
  * @param string|null $idToken The token (id_token) that should be verified.
680
  * @return array|false Returns the token payload as an array if the verification was
681
  * successful, false otherwise.
@@ -684,10 +754,11 @@ class Google_Client
684
  {
685
  $tokenVerifier = new Google_AccessToken_Verify(
686
  $this->getHttpClient(),
687
- $this->getCache()
 
688
  );
689
 
690
- if (is_null($idToken)) {
691
  $token = $this->getAccessToken();
692
  if (!isset($token['id_token'])) {
693
  throw new LogicException(
@@ -706,13 +777,16 @@ class Google_Client
706
  /**
707
  * Set the scopes to be requested. Must be called before createAuthUrl().
708
  * Will remove any previously configured scopes.
709
- * @param array $scopes, ie: array('https://www.googleapis.com/auth/plus.login',
710
- * 'https://www.googleapis.com/auth/moderator')
 
 
 
711
  */
712
- public function setScopes($scopes)
713
  {
714
  $this->requestedScopes = array();
715
- $this->addScope($scopes);
716
  }
717
 
718
  /**
@@ -744,7 +818,7 @@ class Google_Client
744
  }
745
 
746
  /**
747
- * @return array
748
  * @visible For Testing
749
  */
750
  public function prepareScopes()
@@ -752,31 +826,57 @@ class Google_Client
752
  if (empty($this->requestedScopes)) {
753
  return null;
754
  }
755
- $scopes = implode(' ', $this->requestedScopes);
756
- return $scopes;
757
  }
758
 
759
  /**
760
  * Helper method to execute deferred HTTP requests.
761
  *
762
  * @param $request Psr\Http\Message\RequestInterface|Google_Http_Batch
 
763
  * @throws Google_Exception
764
  * @return object of the type of the expected class or Psr\Http\Message\ResponseInterface.
765
  */
766
  public function execute(RequestInterface $request, $expectedClass = null)
767
  {
768
- $request = $request->withHeader(
769
- 'User-Agent',
770
- $this->config['application_name']
771
- . " " . self::USER_AGENT_SUFFIX
772
- . $this->getLibraryVersion()
773
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
774
 
775
  // call the authorize method
776
  // this is where most of the grunt work is done
777
  $http = $this->authorize();
778
 
779
- return Google_Http_REST::execute($http, $request, $expectedClass, $this->config['retry']);
 
 
 
 
 
 
780
  }
781
 
782
  /**
@@ -818,6 +918,7 @@ class Google_Client
818
  *
819
  * @param string $file the configuration file
820
  * @throws Google_Exception
 
821
  */
822
  public function setAuthConfigFile($file)
823
  {
@@ -829,14 +930,14 @@ class Google_Client
829
  * This structure should match the file downloaded from
830
  * the "Download JSON" button on in the Google Developer
831
  * Console.
832
- * @param string|array $json the configuration json
833
  * @throws Google_Exception
834
  */
835
  public function setAuthConfig($config)
836
  {
837
  if (is_string($config)) {
838
  if (!file_exists($config)) {
839
- throw new InvalidArgumentException('file does not exist');
840
  }
841
 
842
  $json = file_get_contents($config);
@@ -876,7 +977,7 @@ class Google_Client
876
  /**
877
  * Use when the service account has been delegated domain wide access.
878
  *
879
- * @param string subject an email address account to impersonate
880
  */
881
  public function setSubject($subject)
882
  {
@@ -950,11 +1051,15 @@ class Google_Client
950
  */
951
  public function getCache()
952
  {
 
 
 
 
953
  return $this->cache;
954
  }
955
 
956
  /**
957
- * @return Google\Auth\CacheInterface Cache implementation
958
  */
959
  public function setCacheConfig(array $cacheConfig)
960
  {
@@ -985,11 +1090,21 @@ class Google_Client
985
  protected function createDefaultLogger()
986
  {
987
  $logger = new Logger('google-api-php-client');
988
- $logger->pushHandler(new MonologStreamHandler('php://stderr', Logger::NOTICE));
 
 
 
 
 
989
 
990
  return $logger;
991
  }
992
 
 
 
 
 
 
993
  /**
994
  * Set the Http Client object
995
  * @param GuzzleHttp\ClientInterface $http
@@ -1004,31 +1119,50 @@ class Google_Client
1004
  */
1005
  public function getHttpClient()
1006
  {
1007
- if (is_null($this->http)) {
1008
  $this->http = $this->createDefaultHttpClient();
1009
  }
1010
 
1011
  return $this->http;
1012
  }
1013
 
 
 
 
 
 
 
 
 
 
 
 
 
1014
  protected function createDefaultHttpClient()
1015
  {
1016
- $options = ['exceptions' => false];
 
 
 
 
 
1017
 
1018
- $version = ClientInterface::VERSION;
1019
- if ('5' === $version[0]) {
1020
  $options = [
1021
  'base_url' => $this->config['base_path'],
1022
  'defaults' => $options,
1023
  ];
1024
  if ($this->isAppEngine()) {
1025
  // set StreamHandler on AppEngine by default
1026
- $options['handler'] = new StreamHandler();
1027
  $options['defaults']['verify'] = '/etc/ca-certificates.crt';
1028
  }
1029
- } else {
1030
- // guzzle 6
1031
  $options['base_uri'] = $this->config['base_path'];
 
 
1032
  }
1033
 
1034
  return new Client($options);
@@ -1047,10 +1181,20 @@ class Google_Client
1047
  'client_email' => $this->config['client_email'],
1048
  'private_key' => $signingKey,
1049
  'type' => 'service_account',
 
 
 
 
 
1050
  );
1051
- $credentials = CredentialsLoader::makeCredentials($scopes, $serviceAccountCredentials);
1052
  } else {
1053
- $credentials = ApplicationDefaultCredentials::getCredentials($scopes);
 
 
 
 
 
 
1054
  }
1055
 
1056
  // for service account domain-wide authority (impersonating a user)
16
  */
17
 
18
  use Google\Auth\ApplicationDefaultCredentials;
19
+ use Google\Auth\Cache\MemoryCacheItemPool;
20
  use Google\Auth\CredentialsLoader;
21
  use Google\Auth\HttpHandler\HttpHandlerFactory;
22
  use Google\Auth\OAuth2;
25
  use GuzzleHttp\Client;
26
  use GuzzleHttp\ClientInterface;
27
  use GuzzleHttp\Ring\Client\StreamHandler;
 
28
  use Psr\Cache\CacheItemPoolInterface;
29
  use Psr\Http\Message\RequestInterface;
30
  use Psr\Log\LoggerInterface;
31
  use Monolog\Logger;
32
  use Monolog\Handler\StreamHandler as MonologStreamHandler;
33
+ use Monolog\Handler\SyslogHandler as MonologSyslogHandler;
34
 
35
  /**
36
  * The Google API Client
38
  */
39
  class Google_Client
40
  {
41
+ const LIBVER = "2.7.1";
42
  const USER_AGENT_SUFFIX = "google-api-php-client/";
43
+ const OAUTH2_REVOKE_URI = 'https://oauth2.googleapis.com/revoke';
44
+ const OAUTH2_TOKEN_URI = 'https://oauth2.googleapis.com/token';
45
  const OAUTH2_AUTH_URL = 'https://accounts.google.com/o/oauth2/auth';
46
  const API_BASE_PATH = 'https://www.googleapis.com';
47
 
66
  private $token;
67
 
68
  /**
69
+ * @var array $config
70
  */
71
  private $config;
72
 
73
  /**
74
+ * @var Psr\Log\LoggerInterface $logger
75
  */
76
  private $logger;
77
 
87
  /**
88
  * Construct the Google Client.
89
  *
90
+ * @param array $config
91
  */
92
+ public function __construct(array $config = array())
93
  {
94
  $this->config = array_merge(
95
  [
102
  // https://developers.google.com/console
103
  'client_id' => '',
104
  'client_secret' => '',
105
+
106
+ // Path to JSON credentials or an array representing those credentials
107
+ // @see Google_Client::setAuthConfig
108
+ 'credentials' => null,
109
+ // @see Google_Client::setScopes
110
+ 'scopes' => null,
111
+ // Sets X-Goog-User-Project, which specifies a user project to bill
112
+ // for access charges associated with the request
113
+ 'quota_project' => null,
114
+
115
  'redirect_uri' => null,
116
  'state' => null,
117
 
140
  // Task Runner retry configuration
141
  // @see Google_Task_Runner
142
  'retry' => array(),
143
+ 'retry_map' => null,
144
 
145
  // cache config for downstream auth caching
146
  'cache_config' => [],
148
  // function to be called when an access token is fetched
149
  // follows the signature function ($cacheKey, $accessToken)
150
  'token_callback' => null,
151
+
152
+ // Service class used in Google_Client::verifyIdToken.
153
+ // Explicitly pass this in to avoid setting JWT::$leeway
154
+ 'jwt' => null,
155
+
156
+ // Setting api_format_v2 will return more detailed error messages
157
+ // from certain APIs.
158
+ 'api_format_v2' => false
159
  ],
160
  $config
161
  );
162
+
163
+ if (!is_null($this->config['credentials'])) {
164
+ $this->setAuthConfig($this->config['credentials']);
165
+ unset($this->config['credentials']);
166
+ }
167
+
168
+ if (!is_null($this->config['scopes'])) {
169
+ $this->setScopes($this->config['scopes']);
170
+ unset($this->config['scopes']);
171
+ }
172
+
173
+ // Set a default token callback to update the in-memory access token
174
+ if (is_null($this->config['token_callback'])) {
175
+ $this->config['token_callback'] = function ($cacheKey, $newAccessToken) {
176
+ $this->setAccessToken(
177
+ [
178
+ 'access_token' => $newAccessToken,
179
+ 'created' => time(),
180
+ ]
181
+ );
182
+ };
183
+ }
184
  }
185
 
186
  /**
199
  *
200
  * @param $code string code from accounts.google.com
201
  * @return array access token
202
+ * @deprecated
203
  */
204
  public function authenticate($code)
205
  {
238
  * alias for fetchAccessTokenWithAssertion
239
  *
240
  * @return array access token
241
+ * @deprecated
242
  */
243
  public function refreshTokenWithAssertion()
244
  {
247
 
248
  /**
249
  * Fetches a fresh access token with a given assertion token.
250
+ * @param ClientInterface $authHttp optional.
251
  * @return array access token
252
  */
253
  public function fetchAccessTokenWithAssertion(ClientInterface $authHttp = null)
270
  $credentials = $this->createApplicationDefaultCredentials();
271
 
272
  $httpHandler = HttpHandlerFactory::build($authHttp);
273
+ $creds = $credentials->fetchAuthToken($httpHandler);
274
+ if ($creds && isset($creds['access_token'])) {
275
+ $creds['created'] = time();
276
+ $this->setAccessToken($creds);
277
  }
278
 
279
+ return $creds;
280
  }
281
 
282
  /**
298
  */
299
  public function fetchAccessTokenWithRefreshToken($refreshToken = null)
300
  {
301
+ if (null === $refreshToken) {
302
  if (!isset($this->token['refresh_token'])) {
303
  throw new LogicException(
304
  'refresh token must be passed in or set as part of setAccessToken'
314
  $creds = $auth->fetchAuthToken($httpHandler);
315
  if ($creds && isset($creds['access_token'])) {
316
  $creds['created'] = time();
317
+ if (!isset($creds['refresh_token'])) {
318
+ $creds['refresh_token'] = $refreshToken;
319
+ }
320
  $this->setAccessToken($creds);
321
  }
322
 
381
  * set in the Google API Client object
382
  *
383
  * @param GuzzleHttp\ClientInterface $http the http client object.
 
384
  * @return GuzzleHttp\ClientInterface the http client object
385
  */
386
+ public function authorize(ClientInterface $http = null)
387
  {
388
  $credentials = null;
389
  $token = null;
390
  $scopes = null;
391
+ if (null === $http) {
392
  $http = $this->getHttpClient();
393
  }
394
 
402
  } elseif ($token = $this->getAccessToken()) {
403
  $scopes = $this->prepareScopes();
404
  // add refresh subscriber to request a new token
405
+ if (isset($token['refresh_token']) && $this->isAccessTokenExpired()) {
406
  $credentials = $this->createUserRefreshCredentials(
407
  $scopes,
408
  $token['refresh_token']
448
  }
449
 
450
  /**
451
+ * Set the access token used for requests.
452
+ *
453
+ * Note that at the time requests are sent, tokens are cached. A token will be
454
+ * cached for each combination of service and authentication scopes. If a
455
+ * cache pool is not provided, creating a new instance of the client will
456
+ * allow modification of access tokens. If a persistent cache pool is
457
+ * provided, in order to change the access token, you must clear the cached
458
+ * token by calling `$client->getCache()->clear()`. (Use caution in this case,
459
+ * as calling `clear()` will remove all cache items, including any items not
460
+ * related to Google API PHP Client.)
461
+ *
462
  * @param string|array $token
463
  * @throws InvalidArgumentException
464
  */
488
  return $this->token;
489
  }
490
 
491
+ /**
492
+ * @return string|null
493
+ */
494
  public function getRefreshToken()
495
  {
496
  if (isset($this->token['refresh_token'])) {
497
  return $this->token['refresh_token'];
498
  }
499
+
500
+ return null;
501
  }
502
 
503
  /**
529
  }
530
 
531
  // If the token is set to expire in the next 30 seconds.
532
+ return ($created + ($this->token['expires_in'] - 30)) < time();
 
 
 
533
  }
534
 
535
+ /**
536
+ * @deprecated See UPGRADING.md for more information
537
+ */
538
  public function getAuth()
539
  {
540
  throw new BadMethodCallException(
542
  );
543
  }
544
 
545
+ /**
546
+ * @deprecated See UPGRADING.md for more information
547
+ */
548
  public function setAuth($auth)
549
  {
550
  throw new BadMethodCallException(
616
 
617
  /**
618
  * @param string $approvalPrompt Possible values for approval_prompt include:
619
+ * {@code "force"} to force the approval UI to appear.
620
+ * {@code "auto"} to request auto-approval when possible. (This is the default value)
621
  */
622
  public function setApprovalPrompt($approvalPrompt)
623
  {
653
  public function setRequestVisibleActions($requestVisibleActions)
654
  {
655
  if (is_array($requestVisibleActions)) {
656
+ $requestVisibleActions = implode(" ", $requestVisibleActions);
657
  }
658
  $this->config['request_visible_actions'] = $requestVisibleActions;
659
  }
684
  * If no value is specified and the user has not previously authorized
685
  * access, then the user is shown a consent screen.
686
  * @param $prompt string
687
+ * {@code "none"} Do not display any authentication or consent screens. Must not be specified with other values.
688
+ * {@code "consent"} Prompt the user for consent.
689
+ * {@code "select_account"} Prompt the user to select an account.
690
  */
691
  public function setPrompt($prompt)
692
  {
728
  * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
729
  * token, if a token isn't provided.
730
  *
731
+ * @param string|array|null $token The token (access token or a refresh token) that should be revoked.
732
  * @return boolean Returns True if the revocation was successful, otherwise False.
733
  */
734
  public function revokeToken($token = null)
744
  * Verify an id_token. This method will verify the current id_token, if one
745
  * isn't provided.
746
  *
747
+ * @throws LogicException If no token was provided and no token was set using `setAccessToken`.
748
+ * @throws UnexpectedValueException If the token is not a valid JWT.
749
  * @param string|null $idToken The token (id_token) that should be verified.
750
  * @return array|false Returns the token payload as an array if the verification was
751
  * successful, false otherwise.
754
  {
755
  $tokenVerifier = new Google_AccessToken_Verify(
756
  $this->getHttpClient(),
757
+ $this->getCache(),
758
+ $this->config['jwt']
759
  );
760
 
761
+ if (null === $idToken) {
762
  $token = $this->getAccessToken();
763
  if (!isset($token['id_token'])) {
764
  throw new LogicException(
777
  /**
778
  * Set the scopes to be requested. Must be called before createAuthUrl().
779
  * Will remove any previously configured scopes.
780
+ * @param string|array $scope_or_scopes, ie:
781
+ * array(
782
+ * 'https://www.googleapis.com/auth/plus.login',
783
+ * 'https://www.googleapis.com/auth/moderator'
784
+ * );
785
  */
786
+ public function setScopes($scope_or_scopes)
787
  {
788
  $this->requestedScopes = array();
789
+ $this->addScope($scope_or_scopes);
790
  }
791
 
792
  /**
818
  }
819
 
820
  /**
821
+ * @return string|null
822
  * @visible For Testing
823
  */
824
  public function prepareScopes()
826
  if (empty($this->requestedScopes)) {
827
  return null;
828
  }
829
+
830
+ return implode(' ', $this->requestedScopes);
831
  }
832
 
833
  /**
834
  * Helper method to execute deferred HTTP requests.
835
  *
836
  * @param $request Psr\Http\Message\RequestInterface|Google_Http_Batch
837
+ * @param string $expectedClass
838
  * @throws Google_Exception
839
  * @return object of the type of the expected class or Psr\Http\Message\ResponseInterface.
840
  */
841
  public function execute(RequestInterface $request, $expectedClass = null)
842
  {
843
+ $request = $request
844
+ ->withHeader(
845
+ 'User-Agent',
846
+ sprintf(
847
+ '%s %s%s',
848
+ $this->config['application_name'],
849
+ self::USER_AGENT_SUFFIX,
850
+ $this->getLibraryVersion()
851
+ )
852
+ )
853
+ ->withHeader(
854
+ 'x-goog-api-client',
855
+ sprintf(
856
+ 'gl-php/%s gdcl/%s',
857
+ phpversion(),
858
+ $this->getLibraryVersion()
859
+ )
860
+ );
861
+
862
+ if ($this->config['api_format_v2']) {
863
+ $request = $request->withHeader(
864
+ 'X-GOOG-API-FORMAT-VERSION',
865
+ 2
866
+ );
867
+ }
868
 
869
  // call the authorize method
870
  // this is where most of the grunt work is done
871
  $http = $this->authorize();
872
 
873
+ return Google_Http_REST::execute(
874
+ $http,
875
+ $request,
876
+ $expectedClass,
877
+ $this->config['retry'],
878
+ $this->config['retry_map']
879
+ );
880
  }
881
 
882
  /**
918
  *
919
  * @param string $file the configuration file
920
  * @throws Google_Exception
921
+ * @deprecated
922
  */
923
  public function setAuthConfigFile($file)
924
  {
930
  * This structure should match the file downloaded from
931
  * the "Download JSON" button on in the Google Developer
932
  * Console.
933
+ * @param string|array $config the configuration json
934
  * @throws Google_Exception
935
  */
936
  public function setAuthConfig($config)
937
  {
938
  if (is_string($config)) {
939
  if (!file_exists($config)) {
940
+ throw new InvalidArgumentException(sprintf('file "%s" does not exist', $config));
941
  }
942
 
943
  $json = file_get_contents($config);
977
  /**
978
  * Use when the service account has been delegated domain wide access.
979
  *
980
+ * @param string $subject an email address account to impersonate
981
  */
982
  public function setSubject($subject)
983
  {
1051
  */
1052
  public function getCache()
1053
  {
1054
+ if (!$this->cache) {
1055
+ $this->cache = $this->createDefaultCache();
1056
+ }
1057
+
1058
  return $this->cache;
1059
  }
1060
 
1061
  /**
1062
+ * @param array $cacheConfig
1063
  */
1064
  public function setCacheConfig(array $cacheConfig)
1065
  {
1090
  protected function createDefaultLogger()
1091
  {
1092
  $logger = new Logger('google-api-php-client');
1093
+ if ($this->isAppEngine()) {
1094
+ $handler = new MonologSyslogHandler('app', LOG_USER, Logger::NOTICE);
1095
+ } else {
1096
+ $handler = new MonologStreamHandler('php://stderr', Logger::NOTICE);
1097
+ }
1098
+ $logger->pushHandler($handler);
1099
 
1100
  return $logger;
1101
  }
1102
 
1103
+ protected function createDefaultCache()
1104
+ {
1105
+ return new MemoryCacheItemPool;
1106
+ }
1107
+
1108
  /**
1109
  * Set the Http Client object
1110
  * @param GuzzleHttp\ClientInterface $http
1119
  */
1120
  public function getHttpClient()
1121
  {
1122
+ if (null === $this->http) {
1123
  $this->http = $this->createDefaultHttpClient();
1124
  }
1125
 
1126
  return $this->http;
1127
  }
1128
 
1129
+ /**
1130
+ * Set the API format version.
1131
+ *
1132
+ * `true` will use V2, which may return more useful error messages.
1133
+ *
1134
+ * @param bool $value
1135
+ */
1136
+ public function setApiFormatV2($value)
1137
+ {
1138
+ $this->config['api_format_v2'] = (bool) $value;
1139
+ }
1140
+
1141
  protected function createDefaultHttpClient()
1142
  {
1143
+ $guzzleVersion = null;
1144
+ if (defined('\GuzzleHttp\ClientInterface::MAJOR_VERSION')) {
1145
+ $guzzleVersion = ClientInterface::MAJOR_VERSION;
1146
+ } elseif (defined('\GuzzleHttp\ClientInterface::VERSION')) {
1147
+ $guzzleVersion = (int)substr(ClientInterface::VERSION, 0, 1);
1148
+ }
1149
 
1150
+ $options = ['exceptions' => false];
1151
+ if (5 === $guzzleVersion) {
1152
  $options = [
1153
  'base_url' => $this->config['base_path'],
1154
  'defaults' => $options,
1155
  ];
1156
  if ($this->isAppEngine()) {
1157
  // set StreamHandler on AppEngine by default
1158
+ $options['handler'] = new StreamHandler();
1159
  $options['defaults']['verify'] = '/etc/ca-certificates.crt';
1160
  }
1161
+ } elseif (6 === $guzzleVersion || 7 === $guzzleVersion) {
1162
+ // guzzle 6 or 7
1163
  $options['base_uri'] = $this->config['base_path'];
1164
+ } else {
1165
+ throw new LogicException('Could not find supported version of Guzzle.');
1166
  }
1167
 
1168
  return new Client($options);
1181
  'client_email' => $this->config['client_email'],
1182
  'private_key' => $signingKey,
1183
  'type' => 'service_account',
1184
+ 'quota_project_id' => $this->config['quota_project'],
1185
+ );
1186
+ $credentials = CredentialsLoader::makeCredentials(
1187
+ $scopes,
1188
+ $serviceAccountCredentials
1189
  );
 
1190
  } else {
1191
+ $credentials = ApplicationDefaultCredentials::getCredentials(
1192
+ $scopes,
1193
+ null,
1194
+ null,
1195
+ null,
1196
+ $this->config['quota_project']
1197
+ );
1198
  }
1199
 
1200
  // for service account domain-wide authority (impersonating a user)
vendor/google/apiclient/src/Google/Collection.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  if (!class_exists('Google_Client')) {
4
- require_once dirname(__FILE__) . '/autoload.php';
5
  }
6
 
7
  /**
@@ -15,31 +15,31 @@ class Google_Collection extends Google_Model implements Iterator, Countable
15
 
16
  public function rewind()
17
  {
18
- if (isset($this->modelData[$this->collection_key])
19
- && is_array($this->modelData[$this->collection_key])) {
20
- reset($this->modelData[$this->collection_key]);
21
  }
22
  }
23
 
24
  public function current()
25
  {
26
  $this->coerceType($this->key());
27
- if (is_array($this->modelData[$this->collection_key])) {
28
- return current($this->modelData[$this->collection_key]);
29
  }
30
  }
31
 
32
  public function key()
33
  {
34
- if (isset($this->modelData[$this->collection_key])
35
- && is_array($this->modelData[$this->collection_key])) {
36
- return key($this->modelData[$this->collection_key]);
37
  }
38
  }
39
 
40
  public function next()
41
  {
42
- return next($this->modelData[$this->collection_key]);
43
  }
44
 
45
  public function valid()
@@ -50,10 +50,10 @@ class Google_Collection extends Google_Model implements Iterator, Countable
50
 
51
  public function count()
52
  {
53
- if (!isset($this->modelData[$this->collection_key])) {
54
  return 0;
55
  }
56
- return count($this->modelData[$this->collection_key]);
57
  }
58
 
59
  public function offsetExists($offset)
@@ -61,7 +61,7 @@ class Google_Collection extends Google_Model implements Iterator, Countable
61
  if (!is_numeric($offset)) {
62
  return parent::offsetExists($offset);
63
  }
64
- return isset($this->modelData[$this->collection_key][$offset]);
65
  }
66
 
67
  public function offsetGet($offset)
@@ -70,7 +70,7 @@ class Google_Collection extends Google_Model implements Iterator, Countable
70
  return parent::offsetGet($offset);
71
  }
72
  $this->coerceType($offset);
73
- return $this->modelData[$this->collection_key][$offset];
74
  }
75
 
76
  public function offsetSet($offset, $value)
@@ -78,7 +78,7 @@ class Google_Collection extends Google_Model implements Iterator, Countable
78
  if (!is_numeric($offset)) {
79
  return parent::offsetSet($offset, $value);
80
  }
81
- $this->modelData[$this->collection_key][$offset] = $value;
82
  }
83
 
84
  public function offsetUnset($offset)
@@ -86,16 +86,15 @@ class Google_Collection extends Google_Model implements Iterator, Countable
86
  if (!is_numeric($offset)) {
87
  return parent::offsetUnset($offset);
88
  }
89
- unset($this->modelData[$this->collection_key][$offset]);
90
  }
91
 
92
  private function coerceType($offset)
93
  {
94
- $typeKey = $this->keyType($this->collection_key);
95
- if (isset($this->$typeKey) && !is_object($this->modelData[$this->collection_key][$offset])) {
96
- $type = $this->$typeKey;
97
- $this->modelData[$this->collection_key][$offset] =
98
- new $type($this->modelData[$this->collection_key][$offset]);
99
  }
100
  }
101
  }
1
  <?php
2
 
3
  if (!class_exists('Google_Client')) {
4
+ require_once __DIR__ . '/autoload.php';
5
  }
6
 
7
  /**
15
 
16
  public function rewind()
17
  {
18
+ if (isset($this->{$this->collection_key})
19
+ && is_array($this->{$this->collection_key})) {
20
+ reset($this->{$this->collection_key});
21
  }
22
  }
23
 
24
  public function current()
25
  {
26
  $this->coerceType($this->key());
27
+ if (is_array($this->{$this->collection_key})) {
28
+ return current($this->{$this->collection_key});
29
  }
30
  }
31
 
32
  public function key()
33
  {
34
+ if (isset($this->{$this->collection_key})
35
+ && is_array($this->{$this->collection_key})) {
36
+ return key($this->{$this->collection_key});
37
  }
38
  }
39
 
40
  public function next()
41
  {
42
+ return next($this->{$this->collection_key});
43
  }
44
 
45
  public function valid()
50
 
51
  public function count()
52
  {
53
+ if (!isset($this->{$this->collection_key})) {
54
  return 0;
55
  }
56
+ return count($this->{$this->collection_key});
57
  }
58
 
59
  public function offsetExists($offset)
61
  if (!is_numeric($offset)) {
62
  return parent::offsetExists($offset);
63
  }
64
+ return isset($this->{$this->collection_key}[$offset]);
65
  }
66
 
67
  public function offsetGet($offset)
70
  return parent::offsetGet($offset);
71
  }
72
  $this->coerceType($offset);
73
+ return $this->{$this->collection_key}[$offset];
74
  }
75
 
76
  public function offsetSet($offset, $value)
78
  if (!is_numeric($offset)) {
79
  return parent::offsetSet($offset, $value);
80
  }
81
+ $this->{$this->collection_key}[$offset] = $value;
82
  }
83
 
84
  public function offsetUnset($offset)
86
  if (!is_numeric($offset)) {
87
  return parent::offsetUnset($offset);
88
  }
89
+ unset($this->{$this->collection_key}[$offset]);
90
  }
91
 
92
  private function coerceType($offset)
93
  {
94
+ $keyType = $this->keyType($this->collection_key);
95
+ if ($keyType && !is_object($this->{$this->collection_key}[$offset])) {
96
+ $this->{$this->collection_key}[$offset] =
97
+ new $keyType($this->{$this->collection_key}[$offset]);
 
98
  }
99
  }
100
  }
vendor/google/apiclient/src/Google/Http/Batch.php CHANGED
@@ -23,6 +23,10 @@ use Psr\Http\Message\ResponseInterface;
23
 
24
  /**
25
  * Class to handle batched requests to the Google API service.
 
 
 
 
26
  */
27
  class Google_Http_Batch
28
  {
@@ -42,10 +46,20 @@ class Google_Http_Batch
42
  /** @var Google_Client */
43
  private $client;
44
 
45
- public function __construct(Google_Client $client)
46
- {
 
 
 
 
 
 
 
 
47
  $this->client = $client;
48
- $this->boundary = mt_rand();
 
 
49
  }
50
 
51
  public function add(RequestInterface $request, $key = false)
@@ -104,7 +118,7 @@ EOF;
104
 
105
  $body .= "--{$this->boundary}--";
106
  $body = trim($body);
107
- $url = Google_Client::API_BASE_PATH . '/' . self::BATCH_PATH;
108
  $headers = array(
109
  'Content-Type' => sprintf('multipart/mixed; boundary=%s', $this->boundary),
110
  'Content-Length' => strlen($body),
@@ -128,7 +142,7 @@ EOF;
128
  $contentType = explode(';', $contentType);
129
  $boundary = false;
130
  foreach ($contentType as $part) {
131
- $part = (explode('=', $part, 2));
132
  if (isset($part[0]) && 'boundary' == trim($part[0])) {
133
  $boundary = $part[1];
134
  }
@@ -160,10 +174,6 @@ EOF;
160
 
161
  // Need content id.
162
  $key = $headers['content-id'];
163
- $class = '';
164
- if (!empty($this->expected_classes[$key])) {
165
- $class = $this->expected_classes[$key];
166
- }
167
 
168
  try {
169
  $response = Google_Http_REST::decodeHttpResponse($response, $requests[$i-1]);
23
 
24
  /**
25
  * Class to handle batched requests to the Google API service.
26
+ *
27
+ * Note that calls to `Google_Http_Batch::execute()` do not clear the queued
28
+ * requests. To start a new batch, be sure to create a new instance of this
29
+ * class.
30
  */
31
  class Google_Http_Batch
32
  {
46
  /** @var Google_Client */
47
  private $client;
48
 
49
+ private $rootUrl;
50
+
51
+ private $batchPath;
52
+
53
+ public function __construct(
54
+ Google_Client $client,
55
+ $boundary = false,
56
+ $rootUrl = null,
57
+ $batchPath = null
58
+ ) {
59
  $this->client = $client;
60
+ $this->boundary = $boundary ?: mt_rand();
61
+ $this->rootUrl = rtrim($rootUrl ?: $this->client->getConfig('base_path'), '/');
62
+ $this->batchPath = $batchPath ?: self::BATCH_PATH;
63
  }
64
 
65
  public function add(RequestInterface $request, $key = false)
118
 
119
  $body .= "--{$this->boundary}--";
120
  $body = trim($body);
121
+ $url = $this->rootUrl . '/' . $this->batchPath;
122
  $headers = array(
123
  'Content-Type' => sprintf('multipart/mixed; boundary=%s', $this->boundary),
124
  'Content-Length' => strlen($body),
142
  $contentType = explode(';', $contentType);
143
  $boundary = false;
144
  foreach ($contentType as $part) {
145
+ $part = explode('=', $part, 2);
146
  if (isset($part[0]) && 'boundary' == trim($part[0])) {
147
  $boundary = $part[1];
148
  }
174
 
175
  // Need content id.
176
  $key = $headers['content-id'];
 
 
 
 
177
 
178
  try {
179
  $response = Google_Http_REST::decodeHttpResponse($response, $requests[$i-1]);
vendor/google/apiclient/src/Google/Http/MediaFileUpload.php CHANGED
@@ -67,9 +67,11 @@ class Google_Http_MediaFileUpload
67
  private $httpResultCode;
68
 
69
  /**
70
- * @param $mimeType string
71
- * @param $data string The bytes you want to upload.
72
- * @param $resumable bool
 
 
73
  * @param bool $chunkSize File will be uploaded in chunks of this many bytes.
74
  * only used if resumable=True
75
  */
@@ -112,8 +114,8 @@ class Google_Http_MediaFileUpload
112
 
113
  /**
114
  * Send the next part of the file to upload.
115
- * @param [$chunk] the next set of bytes to send. If false will used $data passed
116
- * at construct time.
117
  */
118
  public function nextChunk($chunk = false)
119
  {
@@ -165,8 +167,11 @@ class Google_Http_MediaFileUpload
165
 
166
  if (308 == $this->httpResultCode) {
167
  // Track the amount uploaded.
168
- $range = explode('-', $response->getHeaderLine('range'));
169
- $this->progress = $range[1] + 1;
 
 
 
170
 
171
  // Allow for changing upload URLs.
172
  $location = $response->getHeaderLine('location');
@@ -221,9 +226,7 @@ class Google_Http_MediaFileUpload
221
  Uri::withQueryValue($request->getUri(), 'uploadType', $uploadType)
222
  );
223
 
224
- $mimeType = $this->mimeType ?
225
- $this->mimeType :
226
- $request->getHeaderLine('content-type');
227
 
228
  if (self::UPLOAD_RESUMABLE_TYPE == $uploadType) {
229
  $contentType = $mimeType;
@@ -233,7 +236,7 @@ class Google_Http_MediaFileUpload
233
  $postBody = $this->data;
234
  } else if (self::UPLOAD_MULTIPART_TYPE == $uploadType) {
235
  // This is a multipart/related upload.
236
- $boundary = $this->boundary ? $this->boundary : mt_rand();
237
  $boundary = str_replace('"', '', $boundary);
238
  $contentType = 'multipart/related; boundary=' . $boundary;
239
  $related = "--$boundary\r\n";
@@ -280,7 +283,7 @@ class Google_Http_MediaFileUpload
280
 
281
  public function getResumeUri()
282
  {
283
- if (is_null($this->resumeUri)) {
284
  $this->resumeUri = $this->fetchResumeUri();
285
  }
286
 
@@ -289,7 +292,6 @@ class Google_Http_MediaFileUpload
289
 
290
  private function fetchResumeUri()
291
  {
292
- $result = null;
293
  $body = $this->request->getBody();
294
  if ($body) {
295
  $headers = array(
@@ -317,7 +319,7 @@ class Google_Http_MediaFileUpload
317
  if (isset($body['error']['errors'])) {
318
  $message .= ': ';
319
  foreach ($body['error']['errors'] as $error) {
320
- $message .= "{$error[domain]}, {$error[message]};";
321
  }
322
  $message = rtrim($message, ';');
323
  }
67
  private $httpResultCode;
68
 
69
  /**
70
+ * @param Google_Client $client
71
+ * @param RequestInterface $request
72
+ * @param string $mimeType
73
+ * @param string $data The bytes you want to upload.
74
+ * @param bool $resumable
75
  * @param bool $chunkSize File will be uploaded in chunks of this many bytes.
76
  * only used if resumable=True
77
  */
114
 
115
  /**
116
  * Send the next part of the file to upload.
117
+ * @param string|bool $chunk Optional. The next set of bytes to send. If false will
118
+ * use $data passed at construct time.
119
  */
120
  public function nextChunk($chunk = false)
121
  {
167
 
168
  if (308 == $this->httpResultCode) {
169
  // Track the amount uploaded.
170
+ $range = $response->getHeaderLine('range');
171
+ if ($range) {
172
+ $range_array = explode('-', $range);
173
+ $this->progress = $range_array[1] + 1;
174
+ }
175
 
176
  // Allow for changing upload URLs.
177
  $location = $response->getHeaderLine('location');
226
  Uri::withQueryValue($request->getUri(), 'uploadType', $uploadType)
227
  );
228
 
229
+ $mimeType = $this->mimeType ?: $request->getHeaderLine('content-type');
 
 
230
 
231
  if (self::UPLOAD_RESUMABLE_TYPE == $uploadType) {
232
  $contentType = $mimeType;
236
  $postBody = $this->data;
237
  } else if (self::UPLOAD_MULTIPART_TYPE == $uploadType) {
238
  // This is a multipart/related upload.
239
+ $boundary = $this->boundary ?: mt_rand();
240
  $boundary = str_replace('"', '', $boundary);
241
  $contentType = 'multipart/related; boundary=' . $boundary;
242
  $related = "--$boundary\r\n";
283
 
284
  public function getResumeUri()
285
  {
286
+ if (null === $this->resumeUri) {
287
  $this->resumeUri = $this->fetchResumeUri();
288
  }
289
 
292
 
293
  private function fetchResumeUri()
294
  {
 
295
  $body = $this->request->getBody();
296
  if ($body) {
297
  $headers = array(
319
  if (isset($body['error']['errors'])) {
320
  $message .= ': ';
321
  foreach ($body['error']['errors'] as $error) {
322
+ $message .= "{$error['domain']}, {$error['message']};";
323
  }
324
  $message = rtrim($message, ';');
325
  }
vendor/google/apiclient/src/Google/Http/REST.php CHANGED
@@ -33,6 +33,9 @@ class Google_Http_REST
33
  *
34
  * @param Google_Client $client
35
  * @param Psr\Http\Message\RequestInterface $req
 
 
 
36
  * @return array decoded result
37
  * @throws Google_Service_Exception on server side error (ie: not authenticated,
38
  * invalid or malformed post body, invalid url)
@@ -51,7 +54,7 @@ class Google_Http_REST
51
  array($client, $request, $expectedClass)
52
  );
53
 
54
- if (!is_null($retryMap)) {
55
  $runner->setRetryMap($retryMap);
56
  }
57
 
@@ -63,6 +66,7 @@ class Google_Http_REST
63
  *
64
  * @param Google_Client $client
65
  * @param Psr\Http\Message\RequestInterface $request
 
66
  * @return array decoded result
67
  * @throws Google_Service_Exception on server side error (ie: not authenticated,
68
  * invalid or malformed post body, invalid url)
@@ -100,6 +104,7 @@ class Google_Http_REST
100
  * @throws Google_Service_Exception
101
  * @param Psr\Http\Message\RequestInterface $response The http response to be decoded.
102
  * @param Psr\Http\Message\ResponseInterface $response
 
103
  * @return mixed|null
104
  */
105
  public static function decodeHttpResponse(
@@ -110,7 +115,7 @@ class Google_Http_REST
110
  $code = $response->getStatusCode();
111
 
112
  // retry strategy
113
- if ((intVal($code)) >= 400) {
114
  // if we errored out, it should be safe to grab the response body
115
  $body = (string) $response->getBody();
116
 
@@ -149,7 +154,7 @@ class Google_Http_REST
149
  }
150
 
151
  // if we don't have a request, we just use what's passed in
152
- if (is_null($request)) {
153
  return $expectedClass;
154
  }
155
 
33
  *
34
  * @param Google_Client $client
35
  * @param Psr\Http\Message\RequestInterface $req
36
+ * @param string $expectedClass
37
+ * @param array $config
38
+ * @param array $retryMap
39
  * @return array decoded result
40
  * @throws Google_Service_Exception on server side error (ie: not authenticated,
41
  * invalid or malformed post body, invalid url)
54
  array($client, $request, $expectedClass)
55
  );
56
 
57
+ if (null !== $retryMap) {
58
  $runner->setRetryMap($retryMap);
59
  }
60
 
66
  *
67
  * @param Google_Client $client
68
  * @param Psr\Http\Message\RequestInterface $request
69
+ * @param string $expectedClass
70
  * @return array decoded result
71
  * @throws Google_Service_Exception on server side error (ie: not authenticated,
72
  * invalid or malformed post body, invalid url)
104
  * @throws Google_Service_Exception
105
  * @param Psr\Http\Message\RequestInterface $response The http response to be decoded.
106
  * @param Psr\Http\Message\ResponseInterface $response
107
+ * @param string $expectedClass
108
  * @return mixed|null
109
  */
110
  public static function decodeHttpResponse(
115
  $code = $response->getStatusCode();
116
 
117
  // retry strategy
118
+ if (intVal($code) >= 400) {
119
  // if we errored out, it should be safe to grab the response body
120
  $body = (string) $response->getBody();
121
 
154
  }
155
 
156
  // if we don't have a request, we just use what's passed in
157
+ if (null === $request) {
158
  return $expectedClass;
159
  }
160
 
vendor/google/apiclient/src/Google/Model.php CHANGED
@@ -53,32 +53,30 @@ class Google_Model implements ArrayAccess
53
  */
54
  public function __get($key)
55
  {
56
- $keyTypeName = $this->keyType($key);
57
  $keyDataType = $this->dataType($key);
58
- if (isset($this->$keyTypeName) && !isset($this->processed[$key])) {
59
  if (isset($this->modelData[$key])) {
60
  $val = $this->modelData[$key];
61
- } else if (isset($this->$keyDataType) &&
62
- ($this->$keyDataType == 'array' || $this->$keyDataType == 'map')) {
63
  $val = array();
64
  } else {
65
  $val = null;
66
  }
67
 
68
  if ($this->isAssociativeArray($val)) {
69
- if (isset($this->$keyDataType) && 'map' == $this->$keyDataType) {
70
  foreach ($val as $arrayKey => $arrayItem) {
71
  $this->modelData[$key][$arrayKey] =
72
- $this->createObjectFromName($keyTypeName, $arrayItem);
73
  }
74
  } else {
75
- $this->modelData[$key] = $this->createObjectFromName($keyTypeName, $val);
76
  }
77
  } else if (is_array($val)) {
78
  $arrayObject = array();
79
  foreach ($val as $arrayIndex => $arrayItem) {
80
- $arrayObject[$arrayIndex] =
81
- $this->createObjectFromName($keyTypeName, $arrayItem);
82
  }
83
  $this->modelData[$key] = $arrayObject;
84
  }
@@ -98,8 +96,24 @@ class Google_Model implements ArrayAccess
98
  {
99
  // Hard initialise simple types, lazy load more complex ones.
100
  foreach ($array as $key => $val) {
101
- if ( !property_exists($this, $this->keyType($key)) &&
102
- property_exists($this, $key)) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  $this->$key = $val;
104
  unset($array[$key]);
105
  } elseif (property_exists($this, $camelKey = $this->camelCase($key))) {
@@ -192,8 +206,7 @@ class Google_Model implements ArrayAccess
192
  */
193
  private function getMappedName($key)
194
  {
195
- if (isset($this->internal_gapi_mappings) &&
196
- isset($this->internal_gapi_mappings[$key])) {
197
  $key = $this->internal_gapi_mappings[$key];
198
  }
199
  return $key;
@@ -218,19 +231,6 @@ class Google_Model implements ArrayAccess
218
  return false;
219
  }
220
 
221
- /**
222
- * Given a variable name, discover its type.
223
- *
224
- * @param $name
225
- * @param $item
226
- * @return object The object from the item.
227
- */
228
- private function createObjectFromName($name, $item)
229
- {
230
- $type = $this->$name;
231
- return new $type($item);
232
- }
233
-
234
  /**
235
  * Verify if $obj is an array.
236
  * @throws Google_Exception Thrown if $obj isn't an array.
@@ -275,12 +275,21 @@ class Google_Model implements ArrayAccess
275
 
276
  protected function keyType($key)
277
  {
278
- return $key . "Type";
 
 
 
 
 
279
  }
280
 
281
  protected function dataType($key)
282
  {
283
- return $key . "DataType";
 
 
 
 
284
  }
285
 
286
  public function __isset($key)
53
  */
54
  public function __get($key)
55
  {
56
+ $keyType = $this->keyType($key);
57
  $keyDataType = $this->dataType($key);
58
+ if ($keyType && !isset($this->processed[$key])) {
59
  if (isset($this->modelData[$key])) {
60
  $val = $this->modelData[$key];
61
+ } elseif ($keyDataType == 'array' || $keyDataType == 'map') {
 
62
  $val = array();
63
  } else {
64
  $val = null;
65
  }
66
 
67
  if ($this->isAssociativeArray($val)) {
68
+ if ($keyDataType && 'map' == $keyDataType) {
69
  foreach ($val as $arrayKey => $arrayItem) {
70
  $this->modelData[$key][$arrayKey] =
71
+ new $keyType($arrayItem);
72
  }
73
  } else {
74
+ $this->modelData[$key] = new $keyType($val);
75
  }
76
  } else if (is_array($val)) {
77
  $arrayObject = array();
78
  foreach ($val as $arrayIndex => $arrayItem) {
79
+ $arrayObject[$arrayIndex] = new $keyType($arrayItem);
 
80
  }
81
  $this->modelData[$key] = $arrayObject;
82
  }
96
  {
97
  // Hard initialise simple types, lazy load more complex ones.
98
  foreach ($array as $key => $val) {
99
+ if ($keyType = $this->keyType($key)) {
100
+ $dataType = $this->dataType($key);
101
+ if ($dataType == 'array' || $dataType == 'map') {
102
+ $this->$key = array();
103
+ foreach ($val as $itemKey => $itemVal) {
104
+ if ($itemVal instanceof $keyType) {
105
+ $this->{$key}[$itemKey] = $itemVal;
106
+ } else {
107
+ $this->{$key}[$itemKey] = new $keyType($itemVal);
108
+ }
109
+ }
110
+ } elseif ($val instanceof $keyType) {
111
+ $this->$key = $val;
112
+ } else {
113
+ $this->$key = new $keyType($val);
114
+ }
115
+ unset($array[$key]);
116
+ } elseif (property_exists($this, $key)) {
117
  $this->$key = $val;
118
  unset($array[$key]);
119
  } elseif (property_exists($this, $camelKey = $this->camelCase($key))) {
206
  */
207
  private function getMappedName($key)
208
  {
209
+ if (isset($this->internal_gapi_mappings, $this->internal_gapi_mappings[$key])) {
 
210
  $key = $this->internal_gapi_mappings[$key];
211
  }
212
  return $key;
231
  return false;
232
  }
233
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
  /**
235
  * Verify if $obj is an array.
236
  * @throws Google_Exception Thrown if $obj isn't an array.
275
 
276
  protected function keyType($key)
277
  {
278
+ $keyType = $key . "Type";
279
+
280
+ // ensure keyType is a valid class
281
+ if (property_exists($this, $keyType) && class_exists($this->$keyType)) {
282
+ return $this->$keyType;
283
+ }
284
  }
285
 
286
  protected function dataType($key)
287
  {
288
+ $dataType = $key . "DataType";
289
+
290
+ if (property_exists($this, $dataType)) {
291
+ return $this->$dataType;
292
+ }
293
  }
294
 
295
  public function __isset($key)
vendor/google/apiclient/src/Google/Service/Exception.php CHANGED
@@ -31,7 +31,6 @@ class Google_Service_Exception extends Google_Exception
31
  * @param Exception|null $previous
32
  * @param [{string, string}] errors List of errors returned in an HTTP
33
  * response. Defaults to [].
34
- * @param array|null $retryMap Map of errors with retry counts.
35
  */
36
  public function __construct(
37
  $message,
31
  * @param Exception|null $previous
32
  * @param [{string, string}] errors List of errors returned in an HTTP
33
  * response. Defaults to [].
 
34
  */
35
  public function __construct(
36
  $message,
vendor/google/apiclient/src/Google/Service/Resource.php CHANGED
@@ -255,8 +255,14 @@ class Google_Service_Resource
255
  */
256
  public function createRequestUri($restPath, $params)
257
  {
 
 
 
 
 
 
 
258
  // code for leading slash
259
- $requestUrl = $this->servicePath . $restPath;
260
  if ($this->rootUrl) {
261
  if ('/' !== substr($this->rootUrl, -1) && '/' !== substr($requestUrl, 0, 1)) {
262
  $requestUrl = '/' . $requestUrl;
@@ -267,12 +273,12 @@ class Google_Service_Resource
267
  $queryVars = array();
268
  foreach ($params as $paramName => $paramSpec) {
269
  if ($paramSpec['type'] == 'boolean') {
270
- $paramSpec['value'] = ($paramSpec['value']) ? 'true' : 'false';
271
  }
272
  if ($paramSpec['location'] == 'path') {
273
  $uriTemplateVars[$paramName] = $paramSpec['value'];
274
  } else if ($paramSpec['location'] == 'query') {
275
- if (isset($paramSpec['repeated']) && is_array($paramSpec['value'])) {
276
  foreach ($paramSpec['value'] as $value) {
277
  $queryVars[] = $paramName . '=' . rawurlencode(rawurldecode($value));
278
  }
@@ -288,7 +294,7 @@ class Google_Service_Resource
288
  }
289
 
290
  if (count($queryVars)) {
291
- $requestUrl .= '?' . implode($queryVars, '&');
292
  }
293
 
294
  return $requestUrl;
255
  */
256
  public function createRequestUri($restPath, $params)
257
  {
258
+ // Override the default servicePath address if the $restPath use a /
259
+ if ('/' == substr($restPath, 0, 1)) {
260
+ $requestUrl = substr($restPath, 1);
261
+ } else {
262
+ $requestUrl = $this->servicePath . $restPath;
263
+ }
264
+
265
  // code for leading slash
 
266
  if ($this->rootUrl) {
267
  if ('/' !== substr($this->rootUrl, -1) && '/' !== substr($requestUrl, 0, 1)) {
268
  $requestUrl = '/' . $requestUrl;
273
  $queryVars = array();
274
  foreach ($params as $paramName => $paramSpec) {
275
  if ($paramSpec['type'] == 'boolean') {
276
+ $paramSpec['value'] = $paramSpec['value'] ? 'true' : 'false';
277
  }
278
  if ($paramSpec['location'] == 'path') {
279
  $uriTemplateVars[$paramName] = $paramSpec['value'];
280
  } else if ($paramSpec['location'] == 'query') {
281
+ if (is_array($paramSpec['value'])) {
282
  foreach ($paramSpec['value'] as $value) {
283
  $queryVars[] = $paramName . '=' . rawurlencode(rawurldecode($value));
284
  }
294
  }
295
 
296
  if (count($queryVars)) {
297
+ $requestUrl .= '?' . implode('&', $queryVars);
298
  }
299
 
300
  return $requestUrl;
vendor/google/apiclient/src/Google/Task/Composer.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Copyright 2020 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
+ * use this file except in compliance with the License. You may obtain a copy of
7
+ * the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
+ * License for the specific language governing permissions and limitations under
15
+ * the License.
16
+ */
17
+
18
+ use Composer\Script\Event;
19
+ use Symfony\Component\Filesystem\Filesystem;
20
+ use Symfony\Component\Finder\Finder;
21
+
22
+ class Google_Task_Composer
23
+ {
24
+ /**
25
+ * @param Event $event Composer event passed in for any script method
26
+ * @param FilesystemInterface $filesystem Optional. Used for testing.
27
+ */
28
+ public static function cleanup(
29
+ Event $event,
30
+ Filesystem $filesystem = null
31
+ ) {
32
+ $composer = $event->getComposer();
33
+ $extra = $composer->getPackage()->getExtra();
34
+ $servicesToKeep = isset($extra['google/apiclient-services']) ?
35
+ $extra['google/apiclient-services'] : [];
36
+ if ($servicesToKeep) {
37
+ $serviceDir = sprintf(
38
+ '%s/google/apiclient-services/src/Google/Service',
39
+ $composer->getConfig()->get('vendor-dir')
40
+ );
41
+ self::verifyServicesToKeep($serviceDir, $servicesToKeep);
42
+ $finder = self::getServicesToRemove($serviceDir, $servicesToKeep);
43
+ $filesystem = $filesystem ?: new Filesystem();
44
+ if (0 !== $count = count($finder)) {
45
+ $event->getIO()->write(
46
+ sprintf(
47
+ 'Removing %s google services',
48
+ $count
49
+ )
50
+ );
51
+ foreach ($finder as $file) {
52
+ $realpath = $file->getRealPath();
53
+ $filesystem->remove($realpath);
54
+ $filesystem->remove($realpath . '.php');
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ /**
61
+ * @throws InvalidArgumentException when the service doesn't exist
62
+ */
63
+ private static function verifyServicesToKeep(
64
+ $serviceDir,
65
+ array $servicesToKeep
66
+ ) {
67
+ $finder = (new Finder())
68
+ ->directories()
69
+ ->depth('== 0');
70
+
71
+ foreach ($servicesToKeep as $service) {
72
+ if (!preg_match('/^[a-zA-Z0-9]*$/', $service)) {
73
+ throw new \InvalidArgumentException(
74
+ sprintf(
75
+ 'Invalid Google service name "%s"',
76
+ $service
77
+ )
78
+ );
79
+ }
80
+ try {
81
+ $finder->in($serviceDir . '/' . $service);
82
+ } catch (\InvalidArgumentException $e) {
83
+ throw new \InvalidArgumentException(
84
+ sprintf(
85
+ 'Google service "%s" does not exist or was removed previously',
86
+ $service
87
+ )
88
+ );
89
+ }
90
+ }
91
+ }
92
+
93
+ private static function getServicesToRemove(
94
+ $serviceDir,
95
+ array $servicesToKeep
96
+ ) {
97
+ // find all files in the current directory
98
+ return (new Finder())
99
+ ->directories()
100
+ ->depth('== 0')
101
+ ->in($serviceDir)
102
+ ->exclude($servicesToKeep);
103
+ }
104
+ }
vendor/google/apiclient/src/Google/Task/Runner.php CHANGED
@@ -55,10 +55,6 @@ class Google_Task_Runner
55
  */
56
  private $maxAttempts = 1;
57
 
58
- /**
59
- * @var string $name The name of the current task (used for logging).
60
- */
61
- private $name;
62
  /**
63
  * @var callable $action The task to run and possibly retry.
64
  */
@@ -153,7 +149,6 @@ class Google_Task_Runner
153
  );
154
  }
155
 
156
- $this->name = $name;
157
  $this->action = $action;
158
  $this->arguments = $arguments;
159
  }
@@ -269,8 +264,10 @@ class Google_Task_Runner
269
  return $this->retryMap[$code];
270
  }
271
 
272
- if (!empty($errors) && isset($errors[0]['reason']) &&
273
- isset($this->retryMap[$errors[0]['reason']])) {
 
 
274
  return $this->retryMap[$errors[0]['reason']];
275
  }
276
 
55
  */
56
  private $maxAttempts = 1;
57
 
 
 
 
 
58
  /**
59
  * @var callable $action The task to run and possibly retry.
60
  */
149
  );
150
  }
151
 
 
152
  $this->action = $action;
153
  $this->arguments = $arguments;
154
  }
264
  return $this->retryMap[$code];
265
  }
266
 
267
+ if (
268
+ !empty($errors) &&
269
+ isset($errors[0]['reason'], $this->retryMap[$errors[0]['reason']])
270
+ ) {
271
  return $this->retryMap[$errors[0]['reason']];
272
  }
273
 
vendor/google/apiclient/style/ruleset.xml DELETED
@@ -1,159 +0,0 @@
1
- <?xml version="1.0"?>
2
- <ruleset name="GAPI">
3
- <description>The Google API client library coding standard.</description>
4
-
5
- <!-- PHP code MUST use the long <?php ?> tags or the short-echo <?= ?> tags; it MUST NOT use the other tag variations. -->
6
- <rule ref="Generic.PHP.DisallowShortOpenTag.EchoFound">
7
- <severity>0</severity>
8
- </rule>
9
-
10
- <!-- PHP code MUST use only UTF-8 without BOM. -->
11
- <rule ref="Generic.Files.ByteOrderMark"/>
12
-
13
- <!-- Check for duplicated class names -->
14
- <rule ref="Generic.Classes.DuplicateClassName" />
15
-
16
- <!-- Class constants MUST be declared in all upper case with underscore separators. -->
17
- <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
18
-
19
- <!-- Method names MUST be declared in camelCase(). -->
20
- <rule ref="Generic.NamingConventions.CamelCapsFunctionName">
21
- <properties>
22
- <property name="strict" value="false"/>
23
- </properties>
24
- <!-- Generated libs have some properties that break this! -->
25
- <exclude-pattern>Service/*.php</exclude-pattern>
26
- </rule>
27
-
28
- <!-- All PHP files MUST use the Unix LF (linefeed) line ending. -->
29
- <rule ref="Generic.Files.LineEndings">
30
- <properties>
31
- <property name="eolChar" value="\n"/>
32
- </properties>
33
- </rule>
34
-
35
- <!-- All PHP files MUST end with a single blank line. -->
36
- <rule ref="PSR2.Files.EndFileNewline" />
37
-
38
- <!-- The closing ?> tag MUST be omitted from files containing only PHP. -->
39
- <rule ref="Zend.Files.ClosingTag"/>
40
-
41
- <!-- The soft limit on line length MUST be 100 characters; automated style checkers MUST warn but MUST NOT error at the soft limit. -->
42
- <rule ref="Generic.Files.LineLength">
43
- <properties>
44
- <property name="lineLimit" value="100"/>
45
- <property name="absoluteLineLimit" value="120"/>
46
- </properties>
47
- <!-- Generated libs have some rather long class names that break this! -->
48
- <exclude-pattern>Service/*.php</exclude-pattern>
49
- </rule>
50
-
51
- <!-- There MUST NOT be trailing whitespace at the end of non-blank lines. -->
52
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace">
53
- <properties>
54
- <property name="ignoreBlankLines" value="true"/>
55
- </properties>
56
- </rule>
57
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.StartFile">
58
- <severity>0</severity>
59
- </rule>
60
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EndFile">
61
- <severity>0</severity>
62
- </rule>
63
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines">
64
- <severity>0</severity>
65
- </rule>
66
-
67
- <!-- There MUST NOT be more than one statement per line. -->
68
- <rule ref="Generic.Formatting.DisallowMultipleStatements"/>
69
-
70
- <!-- Code MUST use an indent of 2 spaces, and MUST NOT use tabs for indenting. -->
71
- <rule ref="Generic.WhiteSpace.ScopeIndent">
72
- <properties>
73
- <property name="indent" value="2" />
74
- </properties>
75
- </rule>
76
- <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
77
-
78
- <!-- PHP keywords MUST be in lower case. -->
79
- <rule ref="Generic.PHP.LowerCaseKeyword"/>
80
-
81
- <!-- The PHP constants true, false, and null MUST be in lower case. -->
82
- <rule ref="Generic.PHP.LowerCaseConstant"/>
83
-
84
- <!-- The extends and implements keywords MUST be declared on the same line as the class name.
85
- The opening brace for the class go MUST go on its own line; the closing brace for the class MUST go on the next line after the body.
86
- Lists of implements MAY be split across multiple lines, where each subsequent line is indented once. When doing so, the first item in the list MUST be on the next line, and there MUST be only one interface per line. -->
87
- <rule ref="PSR2.Classes.ClassDeclaration" />
88
-
89
-
90
- <!-- Visibility MUST be declared on all properties.
91
- The var keyword MUST NOT be used to declare a property.
92
- There MUST NOT be more than one property declared per statement.
93
- Property names SHOULD NOT be prefixed with a single underscore to indicate protected or private visibility. -->
94
- <rule ref="PSR2.Classes.PropertyDeclaration" />
95
- <rule ref="PSR2.Classes.PropertyDeclaration.Underscore" />
96
-
97
- <!-- Visibility MUST be declared on all methods. -->
98
- <rule ref="Squiz.Scope.MethodScope"/>
99
- <rule ref="Squiz.WhiteSpace.ScopeKeywordSpacing"/>
100
-
101
-
102
- <!-- Method names MUST NOT be declared with a space after the method name. The opening brace MUST go on its own line, and the closing brace MUST go on the next line following the body. There MUST NOT be a space after the opening parenthesis, and there MUST NOT be a space before the closing parenthesis. -->
103
- <rule ref="Squiz.Functions.FunctionDeclaration"/>
104
- <rule ref="Squiz.Functions.LowercaseFunctionKeywords"/>
105
-
106
- <!-- In the argument list, there MUST NOT be a space before each comma, and there MUST be one space after each comma. -->
107
- <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
108
- <properties>
109
- <property name="equalsSpacing" value="1"/>
110
- </properties>
111
- </rule>
112
-
113
- <!-- Method arguments with default values MUST go at the end of the argument list. -->
114
- <rule ref="PEAR.Functions.ValidDefaultValue"/>
115
-
116
- <!-- Argument lists MAY be split across multiple lines, where each subsequent line is indented once. When doing so, the first item in the list MUST be on the next line, and there MUST be only one argument per line. When the argument list is split across multiple lines, the closing parenthesis and opening brace MUST be placed together on their own line with one space between them. -->
117
- <rule ref="Squiz.Functions.MultiLineFunctionDeclaration"/>
118
-
119
- <!-- When present, the abstract and final declarations MUST precede the visibility declaration.
120
- When present, the static declaration MUST come after the visibility declaration. -->
121
- <!-- Method names SHOULD NOT be prefixed with a single underscore to indicate protected or private visibility. -->
122
- <rule ref="PSR2.Methods.MethodDeclaration" />
123
-
124
- <!-- When making a method or function call, there MUST NOT be a space between the method or function name and the opening parenthesis, there MUST NOT be a space after the opening parenthesis, and there MUST NOT be a space before the closing parenthesis. In the argument list, there MUST NOT be a space before each comma, and there MUST be one space after each comma.
125
- Argument lists MAY be split across multiple lines, where each subsequent line is indented once. When doing so, the first item in the list MUST be on the next line, and there MUST be only one argument per line. -->
126
- <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
127
- <rule ref="PEAR.Functions.FunctionCallSignature">
128
- <properties>
129
- <property name="allowMultipleArguments" value="false"/>
130
- </properties>
131
- </rule>
132
-
133
- <!-- The general style rules for control structures are as follows:
134
- There MUST be one space after the control structure keyword
135
- There MUST NOT be a space after the opening parenthesis
136
- There MUST NOT be a space before the closing parenthesis
137
- There MUST be one space between the closing parenthesis and the opening brace
138
- The structure body MUST be indented once
139
- The closing brace MUST be on the next line after the body -->
140
- <rule ref="Squiz.ControlStructures.ControlSignature">
141
- <properties>
142
- <property name="ignoreComments" value="true"/>
143
- </properties>
144
- </rule>
145
- <rule ref="Squiz.WhiteSpace.ScopeClosingBrace"/>
146
- <rule ref="Squiz.ControlStructures.ForEachLoopDeclaration"/>
147
- <rule ref="Squiz.ControlStructures.ForLoopDeclaration"/>
148
- <rule ref="Squiz.ControlStructures.LowercaseDeclaration"/>
149
-
150
- <!-- The body of each structure MUST be enclosed by braces. This standardizes how the structures look, and reduces the likelihood of introducing errors as new lines get added to the body. -->
151
- <rule ref="Generic.ControlStructures.InlineControlStructure"/>
152
-
153
- <!-- The case statement MUST be indented once from switch, and the break keyword (or other terminating keyword) MUST be indented at the same level as the case body. There MUST be a comment such as // no break when fall-through is intentional in a non-empty case body. -->
154
- <rule ref="PSR2.ControlStructures.SwitchDeclaration" >
155
- <properties>
156
- <property name="indent" value="2" />
157
- </properties>
158
- </rule>
159
- </ruleset>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/auth/CHANGELOG.md CHANGED
@@ -1,3 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ## 0.4.0 (23/04/2015)
2
 
3
  ### Changes
@@ -5,4 +163,5 @@
5
  * Export callback function to update auth metadata ([@stanley-cheung][])
6
  * Adds an implementation of User Refresh Token auth ([@stanley-cheung][])
7
 
 
8
  [@stanley-cheung]: https://github.com/stanley-cheung
1
+ ## 1.13.0 (9/18/2020)
2
+
3
+ * [feat]: Add service account identity support to GCECredentials (#304)
4
+
5
+ ## 1.12.0 (8/31/2020)
6
+
7
+ * [feat]: Add QuotaProject option to getMiddleware (#296)
8
+ * [feat]: Add caching for calls to GCECredentials::onGce (#301)
9
+ * [feat]: Add updateMetadata function to token cache (#298)
10
+ * [fix]: Use quota_project_id instead of quota_project (#299)
11
+
12
+ ## 1.11.1 (7/27/2020)
13
+
14
+ * [fix]: catch ConnectException in GCE check (#294)
15
+ * [docs]: Adds [reference docs](https://googleapis.github.io/google-auth-library-php/master)
16
+
17
+ ## 1.11.0 (7/22/2020)
18
+
19
+ * [feat]: Check cache expiration (#291)
20
+ * [fix]: OAuth2 cache key when audience is set (#291)
21
+
22
+ ## 1.10.0 (7/8/2020)
23
+
24
+ * [feat]: Add support for Guzzle 7 (#256)
25
+ * [fix]: Remove SDK warning (#283)
26
+ * [chore]: Switch to github pages deploy action (#284)
27
+
28
+ ## 1.9.0 (5/14/2020)
29
+
30
+ * [feat] Add quotaProject param for extensible client options support (#277)
31
+ * [feat] Add signingKeyId param for jwt signing (#270)
32
+ * [docs] Misc documentation improvements (#268, #278, #273)
33
+ * [chore] Switch from Travis to Github Actions (#273)
34
+
35
+ ## 1.8.0 (3/26/2020)
36
+
37
+ * [feat] Add option to throw exception in AccessToken::verify(). (#265)
38
+ * [feat] Add support for x-goog-user-project. (#254)
39
+ * [feat] Add option to specify issuer in AccessToken::verify(). (#267)
40
+ * [feat] Add getProjectId to credentials types where project IDs can be determined. (#230)
41
+
42
+ ## 1.7.1 (02/12/2020)
43
+
44
+ * [fix] Invalid character in iap cert cache key (#263)
45
+ * [fix] Typo in exception for package name (#262)
46
+
47
+ ## 1.7.0 (02/11/2020)
48
+
49
+ * [feat] Add ID token to auth token methods. (#248)
50
+ * [feat] Add support for ES256 in `AccessToken::verify`. (#255)
51
+ * [fix] Let namespace match the file structure. (#258)
52
+ * [fix] Construct RuntimeException. (#257)
53
+ * [tests] Update tests for PHP 7.4 compatibility. (#253)
54
+ * [chore] Add a couple more things to `.gitattributes`. (#252)
55
+
56
+ ## 1.6.1 (10/29/2019)
57
+
58
+ * [fix] Handle DST correctly for cache item expirations. (#246)
59
+
60
+ ## 1.6.0 (10/01/2019)
61
+
62
+ * [feat] Add utility for verifying and revoking access tokens. (#243)
63
+ * [docs] Fix README console terminology. (#242)
64
+ * [feat] Support custom scopes with GCECredentials. (#239)
65
+ * [fix] Fix phpseclib existence check. (#237)
66
+
67
+ ## 1.5.2 (07/22/2019)
68
+
69
+ * [fix] Move loadItems call out of `SysVCacheItemPool` constructor. (#229)
70
+ * [fix] Add `Metadata-Flavor` header to initial GCE metadata call. (#232)
71
+
72
+ ## 1.5.1 (04/16/2019)
73
+
74
+ * [fix] Moved `getClientName()` from `Google\Auth\FetchAuthTokenInterface`
75
+ to `Google\Auth\SignBlobInterface`, and removed `getClientName()` from
76
+ `InsecureCredentials` and `UserRefreshCredentials`. (#223)
77
+
78
+ ## 1.5.0 (04/15/2019)
79
+
80
+ ### Changes
81
+
82
+ * Add support for signing strings with a Credentials instance. (#221)
83
+ * [Docs] Describe the arrays returned by fetchAuthToken. (#216)
84
+ * [Testing] Fix failing tests (#217)
85
+ * Update GitHub issue templates (#214, #213)
86
+
87
+ ## 1.4.0 (09/17/2018)
88
+
89
+ ### Changes
90
+
91
+ * Add support for insecure credentials (#208)
92
+
93
+ ## 1.3.3 (08/27/2018)
94
+
95
+ ### Changes
96
+
97
+ * Add retry and increase timeout for GCE credentials (#195)
98
+ * [Docs] Fix spelling (#204)
99
+ * Update token url (#206)
100
+
101
+ ## 1.3.2 (07/23/2018)
102
+
103
+ ### Changes
104
+
105
+ * Only emits a warning for gcloud credentials (#202)
106
+
107
+ ## 1.3.1 (07/19/2018)
108
+
109
+ ### Changes
110
+
111
+ * Added a warning for 3 legged OAuth credentials (#199)
112
+ * [Code cleanup] Removed useless else after return (#193)
113
+
114
+ ## 1.3.0 (06/04/2018)
115
+
116
+ ### Changes
117
+
118
+ * Fixes usage of deprecated env var for GAE Flex (#189)
119
+ * fix - guzzlehttp/psr7 dependency version definition (#190)
120
+ * Added SystemV shared memory based CacheItemPool (#191)
121
+
122
+ ## 1.2.1 (24/01/2018)
123
+
124
+ ### Changes
125
+
126
+ * Fixes array merging bug in Guzzle5HttpHandler (#186)
127
+ * Fixes constructor argument bug in Subscriber & Middleware (#184)
128
+
129
+ ## 1.2.0 (6/12/2017)
130
+
131
+ ### Changes
132
+
133
+ * Adds async method to HTTP handlers (#176)
134
+ * Misc bug fixes and improvements (#177, #175, #178)
135
+
136
+ ## 1.1.0 (10/10/2017)
137
+
138
+ ### Changes
139
+
140
+ * Supports additional claims in JWT tokens (#171)
141
+ * Adds makeHttpClient for creating authorized Guzzle clients (#162)
142
+ * Misc bug fixes/improvements (#168, #161, #167, #170, #143)
143
+
144
+ ## 1.0.1 (31/07/2017)
145
+
146
+ ### Changes
147
+
148
+ * Adds support for Firebase 5.0 (#159)
149
+
150
+ ## 1.0.0 (12/06/2017)
151
+
152
+ ### Changes
153
+
154
+ * Adds hashing and shortening to enforce max key length ([@bshaffer])
155
+ * Fix for better PSR-6 compliance - verifies a hit before getting the cache item ([@bshaffer])
156
+ * README fixes ([@bshaffer])
157
+ * Change authorization header key to lowercase ([@stanley-cheung])
158
+
159
  ## 0.4.0 (23/04/2015)
160
 
161
  ### Changes
163
  * Export callback function to update auth metadata ([@stanley-cheung][])
164
  * Adds an implementation of User Refresh Token auth ([@stanley-cheung][])
165
 
166
+ [@bshaffer]: https://github.com/bshaffer
167
  [@stanley-cheung]: https://github.com/stanley-cheung
vendor/google/auth/CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project,
4
+ and in the interest of fostering an open and welcoming community,
5
+ we pledge to respect all people who contribute through reporting issues,
6
+ posting feature requests, updating documentation,
7
+ submitting pull requests or patches, and other activities.
8
+
9
+ We are committed to making participation in this project
10
+ a harassment-free experience for everyone,
11
+ regardless of level of experience, gender, gender identity and expression,
12
+ sexual orientation, disability, personal appearance,
13
+ body size, race, ethnicity, age, religion, or nationality.
14
+
15
+ Examples of unacceptable behavior by participants include:
16
+
17
+ * The use of sexualized language or imagery
18
+ * Personal attacks
19
+ * Trolling or insulting/derogatory comments
20
+ * Public or private harassment
21
+ * Publishing other's private information,
22
+ such as physical or electronic
23
+ addresses, without explicit permission
24
+ * Other unethical or unprofessional conduct.
25
+
26
+ Project maintainers have the right and responsibility to remove, edit, or reject
27
+ comments, commits, code, wiki edits, issues, and other contributions
28
+ that are not aligned to this Code of Conduct.
29
+ By adopting this Code of Conduct,
30
+ project maintainers commit themselves to fairly and consistently
31
+ applying these principles to every aspect of managing this project.
32
+ Project maintainers who do not follow or enforce the Code of Conduct
33
+ may be permanently removed from the project team.
34
+
35
+ This code of conduct applies both within project spaces and in public spaces
36
+ when an individual is representing the project or its community.
37
+
38
+ Instances of abusive, harassing, or otherwise unacceptable behavior
39
+ may be reported by opening an issue
40
+ or contacting one or more of the project maintainers.
41
+
42
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
43
+ available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
vendor/google/auth/CONTRIBUTING.md DELETED
@@ -1,73 +0,0 @@
1
- # How to become a contributor and submit your own code
2
-
3
- ## Contributor License Agreements
4
-
5
- We'd love to accept your sample apps and patches! Before we can take them, we
6
- have to jump a couple of legal hurdles.
7
-
8
- Please fill out either the individual or corporate Contributor License Agreement
9
- (CLA).
10
-
11
- * If you are an individual writing original source code and you're sure you
12
- own the intellectual property, then you'll need to sign an [individual CLA]
13
- (http://code.google.com/legal/individual-cla-v1.0.html).
14
- * If you work for a company that wants to allow you to contribute your work,
15
- then you'll need to sign a [corporate CLA]
16
- (http://code.google.com/legal/corporate-cla-v1.0.html).
17
-
18
- Follow either of the two links above to access the appropriate CLA and
19
- instructions for how to sign and return it. Once we receive it, we'll be able to
20
- accept your pull requests.
21
-
22
- ## Issue reporting
23
-
24
- * Check that the issue has not already been reported.
25
- * Check that the issue has not already been fixed in the latest code
26
- (a.k.a. `master`).
27
- * Be clear, concise and precise in your description of the problem.
28
- * Open an issue with a descriptive title and a summary in grammatically correct,
29
- complete sentences.
30
- * Include any relevant code to the issue summary.
31
-
32
- ## Pull requests
33
-
34
- * Read [how to properly contribute to open source projects on Github][2].
35
- * Fork the project.
36
- * Use a topic/feature branch to easily amend a pull request later, if necessary.
37
- * Write [good commit messages][3].
38
- * Use the same coding conventions as the rest of the project.
39
- * Commit and push until you are happy with your contribution.
40
- * Make sure to add tests for it. This is important so I don't break it
41
- in a future version unintentionally.
42
- * Add an entry to the [Changelog](CHANGELOG.md) accordingly. See [changelog entry format](#changelog-entry-format).
43
- * Please try not to mess with the Rakefile, version, or history. If you want to
44
- have your own version, or is otherwise necessary, that is fine, but please
45
- isolate to its own commit so I can cherry-pick around it.
46
- * Make sure the test suite is passing and the code you wrote doesn't produce
47
- phpunit or phplint offenses.
48
- * [Squash related commits together][5].
49
- * Open a [pull request][4] that relates to *only* one subject with a clear title
50
- and description in grammatically correct, complete sentences.
51
-
52
- ### Changelog entry format
53
-
54
- Here are a few examples:
55
-
56
- ```
57
- * ADC Support for User Refresh Tokens (@tbetbetbe[])
58
- * [#16](https://github.com/google/google-auth-library-php/issues/16): ADC Support for User Refresh Tokens ([@tbetbetbe][])
59
- ```
60
-
61
- * Mark it up in [Markdown syntax][6].
62
- * The entry line should start with `* ` (an asterisk and a space).
63
- * If the change has a related GitHub issue (e.g. a bug fix for a reported issue), put a link to the issue as `[#16](https://github.com/google/google-auth-library-php/issues/16): `.
64
- * Describe the brief of the change. The sentence should end with a punctuation.
65
- * At the end of the entry, add an implicit link to your GitHub user page as `([@username][])`.
66
- * If this is your first contribution to google-auth-library-php project, add a link definition for the implicit link to the bottom of the changelog as `[@username]: https://github.com/username`.
67
-
68
- [1]: https://github.com/google/google-auth-php-library/issues
69
- [2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
70
- [3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
71
- [4]: https://help.github.com/articles/using-pull-requests
72
- [5]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
73
- [6]: http://daringfireball.net/projects/markdown/syntax
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/google/auth/README.md CHANGED
@@ -2,6 +2,7 @@
2
 
3
  <dl>
4
  <dt>Homepage</dt><dd><a href="http://www.github.com/google/google-auth-library-php">http://www.github.com/google/google-auth-library-php</a></dd>
 
5
  <dt>Authors</dt>
6
  <dd><a href="mailto:temiola@google.com">Tim Emiola</a></dd>
7
  <dd><a href="mailto:stanleycheung@google.com">Stanley Cheung</a></dd>
@@ -47,8 +48,8 @@ you're building an application that uses Google Compute Engine.
47
  #### Download your Service Account Credentials JSON file
48
 
49
  To use `Application Default Credentials`, You first need to download a set of
50
- JSON credentials for your project. Go to **APIs & Auth** > **Credentials** in
51
- the [Google Developers Console](developer console) and select
52
  **Service account** from the **Add credentials** dropdown.
53
 
54
  > This file is your *only copy* of these credentials. It should never be
@@ -68,7 +69,7 @@ putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/credentials.json');
68
 
69
  Before making your API call, you must be sure the API you're calling has been
70
  enabled. Go to **APIs & Auth** > **APIs** in the
71
- [Google Developers Console](developer console) and enable the APIs you'd like to
72
  call. For the example below, you must enable the `Drive API`.
73
 
74
  #### Call the APIs
@@ -95,7 +96,7 @@ $stack->push($middleware);
95
  // create the HTTP client
96
  $client = new Client([
97
  'handler' => $stack,
98
- 'base_url' => 'https://www.googleapis.com',
99
  'auth' => 'google_auth' // authorize all requests
100
  ]);
101
 
@@ -106,18 +107,99 @@ $response = $client->get('drive/v2/files');
106
  print_r((string) $response->getBody());
107
  ```
108
 
109
- ## What about auth in google-apis-php-client?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  <dl>
4
  <dt>Homepage</dt><dd><a href="http://www.github.com/google/google-auth-library-php">http://www.github.com/google/google-auth-library-php</a></dd>
5
+ <dt>Reference Docs</dt><dd><a href="https://googleapis.github.io/google-auth-library-php/master/">https://googleapis.github.io/google-auth-library-php/master/</a></dd>
6
  <dt>Authors</dt>
7
  <dd><a href="mailto:temiola@google.com">Tim Emiola</a></dd>
8
  <dd><a href="mailto:stanleycheung@google.com">Stanley Cheung</a></dd>
48
  #### Download your Service Account Credentials JSON file
49
 
50
  To use `Application Default Credentials`, You first need to download a set of
51
+ JSON credentials for your project. Go to **APIs & Services** > **Credentials** in
52
+ the [Google Developers Console][developer console] and select
53
  **Service account** from the **Add credentials** dropdown.
54
 
55
  > This file is your *only copy* of these credentials. It should never be
69
 
70
  Before making your API call, you must be sure the API you're calling has been
71
  enabled. Go to **APIs & Auth** > **APIs** in the
72
+ [Google Developers Console][developer console] and enable the APIs you'd like to
73
  call. For the example below, you must enable the `Drive API`.
74
 
75
  #### Call the APIs
96
  // create the HTTP client
97
  $client = new Client([
98
  'handler' => $stack,
99
+ 'base_uri' => 'https://www.googleapis.com',
100
  'auth' => 'google_auth' // authorize all requests
101
  ]);
102
 
107
  print_r((string) $response->getBody());
108
  ```
109
 
110
+ ##### Guzzle 5 Compatibility
111
+
112
+ If you are using [Guzzle 5][Guzzle 5], replace the `create middleware` and
113
+ `create the HTTP Client` steps with the following:
114
+
115
+ ```php
116
+ // create the HTTP client
117
+ $client = new Client([
118
+ 'base_url' => 'https://www.googleapis.com',
119
+ 'auth' => 'google_auth' // authorize all requests
120
+ ]);
121
+
122
+ // create subscriber
123
+ $subscriber = ApplicationDefaultCredentials::getSubscriber($scopes);
124
+ $client->getEmitter()->attach($subscriber);
125
+ ```
126
+
127
+ #### Call using an ID Token
128
+ If your application is running behind Cloud Run, or using Cloud Identity-Aware
129
+ Proxy (IAP), you will need to fetch an ID token to access your application. For
130
+ this, use the static method `getIdTokenMiddleware` on
131
+ `ApplicationDefaultCredentials`.
132
+
133
+ ```php
134
+ use Google\Auth\ApplicationDefaultCredentials;
135
+ use GuzzleHttp\Client;
136
+ use GuzzleHttp\HandlerStack;
137
+
138
+ // specify the path to your application credentials
139
+ putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/credentials.json');
140
+
141
+ // Provide the ID token audience. This can be a Client ID associated with an IAP application,
142
+ // Or the URL associated with a CloudRun App
143
+ // $targetAudience = 'IAP_CLIENT_ID.apps.googleusercontent.com';
144
+ // $targetAudience = 'https://service-1234-uc.a.run.app';
145
+ $targetAudience = 'YOUR_ID_TOKEN_AUDIENCE