mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-04 07:34:09 +01:00
* [FIX]Fixed expiry date on Authenticator plugin
This commit is contained in:
@@ -107,20 +107,18 @@ class LoginController
|
||||
|
||||
$userId = Request::analyze('i', 0);
|
||||
|
||||
if (!isset($data[$userId]) || $data[$userId]->getExpireDays() === null) {
|
||||
if (!isset($data[$userId]) || empty($data[$userId]->getExpireDays())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (count(Notice::getItem($NoticeData)->getByUserCurrentDate()) > 0) {
|
||||
if (count(Notice::getItem()->getByUserCurrentDate()) > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
$expireTime = $data[$userId]->getDate() + ($data[$userId]->getExpireDays() * 86400);
|
||||
$timeRemaining = $expireTime - time();
|
||||
|
||||
$NoticeData = new NoticeData();
|
||||
$NoticeData = Notice::getItem()->getItemData();
|
||||
$NoticeData->setNoticeComponent($this->Plugin->getName());
|
||||
$NoticeData->setNoticeUserId($userId);
|
||||
$NoticeData->setNoticeType(_t('authenticator', 'Aviso Caducidad'));
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
<td class="valField">
|
||||
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
|
||||
<input id="expiredays" name="expiredays" type="number" step="1"
|
||||
min="1" max="720" class="mdl-textfield__input mdl-color-text--indigo-400"
|
||||
min="0" max="720" class="mdl-textfield__input mdl-color-text--indigo-400"
|
||||
value="<?php echo $expireDays ?: 90; ?>" required/>
|
||||
<label class="mdl-textfield__label"
|
||||
for="expiredays"><?php echo _t('authenticator', 'Días'); ?></label>
|
||||
|
||||
@@ -37,6 +37,7 @@ use SP\Storage\QueryData;
|
||||
*
|
||||
* @package SP\Mgmt\Notices
|
||||
* @property NoticeData $itemData
|
||||
* @method NoticeData getItemData()
|
||||
*/
|
||||
class Notice extends NoticeBase implements ItemInterface
|
||||
{
|
||||
|
||||
2
inc/themes/material-blue/css/styles.min.css
vendored
2
inc/themes/material-blue/css/styles.min.css
vendored
File diff suppressed because one or more lines are too long
2
inc/themes/material-blue/js/app-theme.min.js
vendored
2
inc/themes/material-blue/js/app-theme.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(a,f,c){a instanceof String&&(a=String(a));for(var g=a.length,h=0;h<g;h++){var l=a[h];if(f.call(c,l,h,a))return{i:h,v:l}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[f]=c.value)};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,c,g){if(f){c=$jscomp.global;a=a.split(".");for(g=0;g<a.length-1;g++){var h=a[g];h in c||(c[h]={});c=c[h]}a=a[a.length-1];g=c[a];f=f(g);f!=g&&null!=f&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:f})}};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,c,g){if(f){c=$jscomp.global;a=a.split(".");for(g=0;g<a.length-1;g++){var h=a[g];h in c||(c[h]={});c=c[h]}a=a[a.length-1];g=c[a];f=f(g);f!=g&&null!=f&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:f})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6-impl","es3");
|
||||
sysPass.Theme=function(a){var f=a.log,c={elems:{$wrap:$("#wrap-loading"),$loading:$("#loading")},show:function(a){void 0!==a&&!0===a&&c.elems.$wrap.addClass("overlay-full");c.elems.$wrap.show();c.elems.$loading.addClass("is-active")},hide:function(){c.elems.$wrap.removeClass("overlay-full").hide();c.elems.$loading.removeClass("is-active")},upgradeFull:function(){c.elems.$wrap.addClass("overlay-full")}},g=function(b){var m=0,d="",e="";a.passwordData.complexity.symbols&&(d+="!\"\\\u00b7@|#$~%&/()=?'\u00bf\u00a1^*[]\u00b7;,_-{}<>");
|
||||
a.passwordData.complexity.numbers&&(d+="1234567890");a.passwordData.complexity.chars&&(d+="abcdefghijklmnopqrstuvwxyz",a.passwordData.complexity.uppercase&&(d+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"));for(;m++<=a.passwordData.complexity.numlength;)e+=d.charAt(Math.floor(Math.random()*(d.length-1)+0));$("#viewPass").attr("title",e);var c=zxcvbn(e);a.passwordData.passLength=e.length;b?(m=b.parent(),d=$("#"+b.attr("id")+"R"),a.outputResult(c,b),b=new MaterialTextfield,m.find("input:password").val(e),m.addClass(b.CssClasses_.IS_DIRTY).removeClass(b.CssClasses_.IS_INVALID),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(b,a,d){b instanceof String&&(b=String(b));for(var c=b.length,e=0;e<c;e++){var f=b[e];if(a.call(d,f,e,b))return{i:e,v:f}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,a,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[a]=d.value)};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,a,d,c){if(a){d=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var e=b[c];e in d||(d[e]={});d=d[e]}b=b[b.length-1];c=d[b];a=a(c);a!=c&&null!=a&&$jscomp.defineProperty(d,b,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,a,d,c){if(a){d=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var e=b[c];e in d||(d[e]={});d=d[e]}b=b[b.length-1];c=d[b];a=a(c);a!=c&&null!=a&&$jscomp.defineProperty(d,b,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6-impl","es3");
|
||||
var mdlDialog=function(){function b(a){$(document).off("keyup.dialog");a.css({opacity:0});setTimeout(function(){a.remove()},400)}return{show:function(a){a=$.extend({id:"orrsDiag",title:null,text:null,neutral:!1,negative:!1,positive:!1,cancelable:!0,contentStyle:null,onLoaded:!1,hideOther:!0},a);a.hideOther&&($(".dialog-container").remove(),$(document).off("keyup.dialog"));$('<div id="'+a.id+'" class="dialog-container"><div class="mdl-card mdl-shadow--16dp" id="'+a.id+'_content"></div></div>').appendTo("body");
|
||||
var d=$("#"+a.id),c=d.find(".mdl-card");null!=a.contentStyle&&c.css(a.contentStyle);null!=a.title&&$("<header>"+a.title+"</header>").appendTo(c);null!=a.text&&$(a.text).appendTo(c);if(a.neutral||a.negative||a.positive){var e=$('<div class="mdl-card__actions dialog-button-bar"></div>');if(a.neutral){a.neutral=$.extend({id:"neutral",title:"Neutral",onClick:null},a.neutral);var f=$('<button class="mdl-button mdl-js-button mdl-js-ripple-effect" id="'+a.neutral.id+'">'+a.neutral.title+"</button>");f.click(function(c){c.preventDefault();
|
||||
|
||||
2
js/app-main.min.js
vendored
2
js/app-main.min.js
vendored
@@ -1,4 +1,4 @@
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,g,f){if(f.get||f.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[g]=f.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,g,f){if(f.get||f.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[g]=f.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+$jscomp.symbolCounter_++};
|
||||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var b=$jscomp.global.Symbol.iterator;b||(b=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[b]&&$jscomp.defineProperty(Array.prototype,b,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(b){var g=0;return $jscomp.iteratorPrototype(function(){return g<b.length?{done:!1,value:b[g++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(b){$jscomp.initSymbolIterator();b={next:b};b[$jscomp.global.Symbol.iterator]=function(){return this};return b};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(b,g){$jscomp.initSymbolIterator();b instanceof String&&(b+="");var f=0,c={next:function(){if(f<b.length){var h=f++;return{value:g(h,b[h]),done:!1}}c.next=function(){return{done:!0,value:void 0}};return c.next()}};c[Symbol.iterator]=function(){return c};return c};
|
||||
|
||||
2
js/app-triggers.min.js
vendored
2
js/app-triggers.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(b,d,e){b instanceof String&&(b=String(b));for(var a=b.length,c=0;c<a;c++){var f=b[c];if(d.call(e,f,c,b))return{i:c,v:f}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(b,d,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");b!=Array.prototype&&b!=Object.prototype&&(b[d]=e.value)};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,d,e,a){if(d){e=$jscomp.global;b=b.split(".");for(a=0;a<b.length-1;a++){var c=b[a];c in e||(e[c]={});e=e[c]}b=b[b.length-1];a=e[b];d=d(a);d!=a&&null!=d&&$jscomp.defineProperty(e,b,{configurable:!0,writable:!0,value:d})}};
|
||||
$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,d,e,a){if(d){e=$jscomp.global;b=b.split(".");for(a=0;a<b.length-1;a++){var c=b[a];c in e||(e[c]={});e=e[c]}b=b[b.length-1];a=e[b];d=d(a);d!=a&&null!=d&&$jscomp.defineProperty(e,b,{configurable:!0,writable:!0,value:d})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,e){return $jscomp.findInternal(this,b,e).v}},"es6-impl","es3");
|
||||
sysPass.Triggers=function(b){var d=b.log,e=function(a){var c={valueField:"id",labelField:"name",searchField:["name"]};a.find(".select-box").each(function(a){var d=$(this);c.plugins=d.hasClass("select-box-deselect")?{clear_selection:{title:b.config().LANG[51]}}:{};if(d.data("onchange")){var f=d.data("onchange").split("/");c.onChange=function(a){if(0<a)if(2===f.length)sysPassApp.actions()[f[0]][f[1]](d);else sysPassApp.actions()[f[0]](d)}}d.selectize(c)});a.find("#allowed_exts").selectize({create:function(a){return{value:a.toUpperCase(),
|
||||
text:a.toUpperCase()}},createFilter:/^[a-z0-9]{1,4}$/i,plugins:["remove_button"]});a.find("#wikifilter").selectize({create:!0,createFilter:/^[a-z0-9:._-]+$/i,plugins:["remove_button"]})};return{views:{main:function(){d.info("views:main");clipboard.isSupported()||b.msg.info(b.config().LANG[65]);$(".btn-menu").click(function(){var a=$(this);"1"===a.attr("data-history-reset")&&b.appRequests().history.reset();b.appActions().doAction({actionId:a.data("action-id")},a.data("view"))});$("#btnLogout").click(function(a){b.appActions().main.logout()});
|
||||
|
||||
31
js/clipboard.min.js
vendored
31
js/clipboard.min.js
vendored
@@ -1,9 +1,22 @@
|
||||
(function(e,c){"undefined"!==typeof module?module.exports=c():"function"===typeof define&&"object"===typeof define.amd?define(c):this[e]=c()})("clipboard",function(){if("undefined"===typeof document||!document.addEventListener)return null;var e={};e.copy=function(){function c(){d=!1;b=null;g&&window.getSelection().removeAllRanges();g=!1}var d=!1,b=null,g=!1;document.addEventListener("copy",function(c){if(d){for(var f in b)c.clipboardData.setData(f,b[f]);c.preventDefault()}});return function(f){return new Promise(function(e,
|
||||
k){function h(b){try{if(document.execCommand("copy"))c(),e();else{if(b)throw c(),Error("Unable to copy. Perhaps it's not available in your browser?");var d=document.getSelection();if(!document.queryCommandEnabled("copy")&&d.isCollapsed){var f=document.createRange();f.selectNodeContents(document.body);d.removeAllRanges();d.addRange(f);g=!0}h(!0)}}catch(a){c(),k(a)}}d=!0;b="string"===typeof f?{"text/plain":f}:f instanceof Node?{"text/html":(new XMLSerializer).serializeToString(f)}:f;h(!1)})}}();e.paste=
|
||||
function(){var c=!1,d,b;document.addEventListener("paste",function(g){if(c){c=!1;g.preventDefault();var f=d;d=null;f(g.clipboardData.getData(b))}});return function(g){return new Promise(function(f,e){c=!0;d=f;b=g||"text/plain";try{document.execCommand("paste")||(c=!1,e(Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(k){c=!1,e(Error(k))}})}}();e.isSupported=function(){var c=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],d=!!document.queryCommandSupported;
|
||||
("string"===typeof c?[c]:c).forEach(function(b){d=d&&!!document.queryCommandSupported(b)});return d};"undefined"===typeof ClipboardEvent&&"undefined"!==typeof window.clipboardData&&"undefined"!==typeof window.clipboardData.setData&&(function(c){function d(a,b){return function(){a.apply(b,arguments)}}function b(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._value=this._state=null;this._deferreds=
|
||||
[];m(a,d(f,this),d(h,this))}function e(a){var b=this;return null===this._state?void this._deferreds.push(a):void p(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(l){return void a.reject(l)}a.resolve(d)})}function f(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var b=a.then;if("function"==typeof b)return void m(d(b,
|
||||
a),d(f,this),d(h,this))}this._state=!0;this._value=a;k.call(this)}catch(r){h.call(this,r)}}function h(a){this._state=!1;this._value=a;k.call(this)}function k(){for(var a=0,b=this._deferreds.length;b>a;a++)e.call(this,this._deferreds[a]);this._deferreds=null}function n(a,b,c,d){this.onFulfilled="function"==typeof a?a:null;this.onRejected="function"==typeof b?b:null;this.resolve=c;this.reject=d}function m(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(l){d||(d=
|
||||
!0,c(l))}}var p=b.immediateFn||"function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},q=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};b.prototype["catch"]=function(a){return this.then(null,a)};b.prototype.then=function(a,c){var d=this;return new b(function(b,f){e.call(d,new n(a,c,b,f))})};b.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&q(arguments[0])?arguments[0]:arguments);return new b(function(b,c){function d(e,
|
||||
g){try{if(g&&("object"==typeof g||"function"==typeof g)){var h=g.then;if("function"==typeof h)return void h.call(g,function(a){d(e,a)},c)}a[e]=g;0===--f&&b(a)}catch(t){c(t)}}if(0===a.length)return b([]);for(var f=a.length,e=0;e<a.length;e++)d(e,a[e])})};b.resolve=function(a){return a&&"object"==typeof a&&a.constructor===b?a:new b(function(b){b(a)})};b.reject=function(a){return new b(function(b,c){c(a)})};b.race=function(a){return new b(function(b,c){for(var d=0,e=a.length;e>d;d++)a[d].then(b,c)})};
|
||||
"undefined"!=typeof module&&module.exports?module.exports=b:c.Promise||(c.Promise=b)}(this),e.copy=function(c){return new Promise(function(d,b){if("string"!==typeof c&&!("text/plain"in c))throw Error("You must provide a text/plain type.");window.clipboardData.setData("Text","string"===typeof c?c:c["text/plain"])?d():b(Error("Copying was rejected."))})},e.paste=function(){return new Promise(function(c,d){var b=window.clipboardData.getData("Text");b?c(b):d(Error("Pasting was rejected."))})});return e});
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(c,b,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");c!=Array.prototype&&c!=Object.prototype&&(c[b]=e.value)};$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+$jscomp.symbolCounter_++};
|
||||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var c=$jscomp.global.Symbol.iterator;c||(c=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[c]&&$jscomp.defineProperty(Array.prototype,c,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(c){var b=0;return $jscomp.iteratorPrototype(function(){return b<c.length?{done:!1,value:c[b++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(c){$jscomp.initSymbolIterator();c={next:c};c[$jscomp.global.Symbol.iterator]=function(){return this};return c};$jscomp.makeIterator=function(c){$jscomp.initSymbolIterator();var b=c[Symbol.iterator];return b?b.call(c):$jscomp.arrayIterator(c)};
|
||||
$jscomp.polyfill=function(c,b,e,a){if(b){e=$jscomp.global;c=c.split(".");for(a=0;a<c.length-1;a++){var f=c[a];f in e||(e[f]={});e=e[f]}c=c[c.length-1];a=e[c];b=b(a);b!=a&&null!=b&&$jscomp.defineProperty(e,c,{configurable:!0,writable:!0,value:b})}};$jscomp.EXPOSE_ASYNC_EXECUTOR=!0;$jscomp.FORCE_POLYFILL_PROMISE=!1;
|
||||
$jscomp.polyfill("Promise",function(c){function b(){this.batch_=null}if(c&&!$jscomp.FORCE_POLYFILL_PROMISE)return c;b.prototype.asyncExecute=function(d){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(d);return this};b.prototype.asyncExecuteBatch_=function(){var d=this;this.asyncExecuteFunction(function(){d.executeBatch_()})};var e=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(d){e(d,0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var d=
|
||||
this.batch_;this.batch_=[];for(var a=0;a<d.length;++a){var b=d[a];delete d[a];try{b()}catch(l){this.asyncThrow_(l)}}}this.batch_=null};b.prototype.asyncThrow_=function(d){this.asyncExecuteFunction(function(){throw d;})};var a=function(d){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var a=this.createResolveAndReject_();try{d(a.resolve,a.reject)}catch(k){a.reject(k)}};a.prototype.createResolveAndReject_=function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=
|
||||
!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};a.prototype.resolveTo_=function(d){if(d===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(d instanceof a)this.settleSameAsPromise_(d);else{var b;a:switch(typeof d){case "object":b=null!=d;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(d):this.fulfill_(d)}};a.prototype.resolveToNonPromiseObj_=function(a){var d=void 0;try{d=a.then}catch(k){this.reject_(k);return}"function"==
|
||||
typeof d?this.settleSameAsThenable_(d,a):this.fulfill_(a)};a.prototype.reject_=function(a){this.settle_(2,a)};a.prototype.fulfill_=function(a){this.settle_(1,a)};a.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b|"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};a.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=this.onSettledCallbacks_,b=0;b<a.length;++b)a[b].call(),
|
||||
a[b]=null;this.onSettledCallbacks_=null}};var f=new b;a.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};a.prototype.settleSameAsThenable_=function(a,b){var d=this.createResolveAndReject_();try{a.call(b,d.resolve,d.reject)}catch(l){d.reject(l)}};a.prototype.then=function(b,c){function d(a,b){return"function"==typeof a?function(b){try{e(a(b))}catch(m){g(m)}}:b}var e,g,f=new a(function(a,b){e=a;g=b});this.callWhenSettled_(d(b,e),
|
||||
d(c,g));return f};a.prototype["catch"]=function(a){return this.then(void 0,a)};a.prototype.callWhenSettled_=function(a,b){function d(){switch(c.state_){case 1:a(c.result_);break;case 2:b(c.result_);break;default:throw Error("Unexpected state: "+c.state_);}}var c=this;null==this.onSettledCallbacks_?f.asyncExecute(d):this.onSettledCallbacks_.push(function(){f.asyncExecute(d)})};a.resolve=function(b){return b instanceof a?b:new a(function(a,d){a(b)})};a.reject=function(b){return new a(function(a,c){c(b)})};
|
||||
a.race=function(b){return new a(function(c,d){for(var e=$jscomp.makeIterator(b),f=e.next();!f.done;f=e.next())a.resolve(f.value).callWhenSettled_(c,d)})};a.all=function(b){var c=$jscomp.makeIterator(b),d=c.next();return d.done?a.resolve([]):new a(function(b,e){function f(a){return function(c){g[a]=c;h--;0==h&&b(g)}}var g=[],h=0;do g.push(void 0),h++,a.resolve(d.value).callWhenSettled_(f(g.length-1),e),d=c.next();while(!d.done)})};$jscomp.EXPOSE_ASYNC_EXECUTOR&&(a.$jscomp$new$AsyncExecutor=function(){return new b});
|
||||
return a},"es6-impl","es3");
|
||||
(function(c,b){"undefined"!==typeof module?module.exports=b():"function"===typeof define&&"object"===typeof define.amd?define(b):this[c]=b()})("clipboard",function(){if("undefined"===typeof document||!document.addEventListener)return null;var c={};c.copy=function(){function b(){c=!1;a=null;f&&window.getSelection().removeAllRanges();f=!1}var c=!1,a=null,f=!1;document.addEventListener("copy",function(b){if(c){for(var d in a)b.clipboardData.setData(d,a[d]);b.preventDefault()}});return function(d){return new Promise(function(e,
|
||||
k){function g(a){try{if(document.execCommand("copy"))b(),e();else{if(a)throw b(),Error("Unable to copy. Perhaps it's not available in your browser?");var c=document.getSelection();if(!document.queryCommandEnabled("copy")&&c.isCollapsed){var d=document.createRange();d.selectNodeContents(document.body);c.removeAllRanges();c.addRange(d);f=!0}g(!0)}}catch(h){b(),k(h)}}c=!0;a="string"===typeof d?{"text/plain":d}:d instanceof Node?{"text/html":(new XMLSerializer).serializeToString(d)}:d;g(!1)})}}();c.paste=
|
||||
function(){var b=!1,c,a;document.addEventListener("paste",function(e){if(b){b=!1;e.preventDefault();var d=c;c=null;d(e.clipboardData.getData(a))}});return function(e){return new Promise(function(d,f){b=!0;c=d;a=e||"text/plain";try{document.execCommand("paste")||(b=!1,f(Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(k){b=!1,f(Error(k))}})}}();c.isSupported=function(){var b=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],c=!!document.queryCommandSupported;
|
||||
("string"===typeof b?[b]:b).forEach(function(a){c=c&&!!document.queryCommandSupported(a)});return c};"undefined"===typeof ClipboardEvent&&"undefined"!==typeof window.clipboardData&&"undefined"!==typeof window.clipboardData.setData&&(function(b){function c(a,b){return function(){a.apply(b,arguments)}}function a(a){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof a)throw new TypeError("not a function");this._value=this._state=null;this._deferreds=
|
||||
[];p(a,c(d,this),c(g,this))}function f(a){var b=this;return null===this._state?void this._deferreds.push(a):void r(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(n){return void a.reject(n)}a.resolve(d)})}function d(a){try{if(a===this)throw new TypeError("A promise cannot be resolved with itself.");if(a&&("object"==typeof a||"function"==typeof a)){var b=a.then;if("function"==typeof b)return void p(c(b,
|
||||
a),c(d,this),c(g,this))}this._state=!0;this._value=a;k.call(this)}catch(m){g.call(this,m)}}function g(a){this._state=!1;this._value=a;k.call(this)}function k(){for(var a=0,b=this._deferreds.length;b>a;a++)f.call(this,this._deferreds[a]);this._deferreds=null}function l(a,b,c,d){this.onFulfilled="function"==typeof a?a:null;this.onRejected="function"==typeof b?b:null;this.resolve=c;this.reject=d}function p(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(n){d||(d=
|
||||
!0,c(n))}}var r=a.immediateFn||"function"==typeof setImmediate&&setImmediate||function(a){setTimeout(a,1)},q=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};a.prototype["catch"]=function(a){return this.then(null,a)};a.prototype.then=function(b,c){var d=this;return new a(function(a,e){f.call(d,new l(b,c,a,e))})};a.all=function(){var b=Array.prototype.slice.call(1===arguments.length&&q(arguments[0])?arguments[0]:arguments);return new a(function(a,c){function d(f,
|
||||
h){try{if(h&&("object"==typeof h||"function"==typeof h)){var g=h.then;if("function"==typeof g)return void g.call(h,function(a){d(f,a)},c)}b[f]=h;0===--e&&a(b)}catch(t){c(t)}}if(0===b.length)return a([]);for(var e=b.length,f=0;f<b.length;f++)d(f,b[f])})};a.resolve=function(b){return b&&"object"==typeof b&&b.constructor===a?b:new a(function(a){a(b)})};a.reject=function(b){return new a(function(a,c){c(b)})};a.race=function(b){return new a(function(a,c){for(var d=0,e=b.length;e>d;d++)b[d].then(a,c)})};
|
||||
"undefined"!=typeof module&&module.exports?module.exports=a:b.Promise||(b.Promise=a)}(this),c.copy=function(b){return new Promise(function(c,a){if("string"!==typeof b&&!("text/plain"in b))throw Error("You must provide a text/plain type.");window.clipboardData.setData("Text","string"===typeof b?b:b["text/plain"])?c():a(Error("Copying was rejected."))})},c.paste=function(){return new Promise(function(b,c){var a=window.clipboardData.getData("Text");a?b(a):c(Error("Pasting was rejected."))})});return c});
|
||||
|
||||
2
js/jquery-3.2.0.min.js
vendored
2
js/jquery-3.2.0.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(p,t,K){p instanceof String&&(p=String(p));for(var F=p.length,D=0;D<F;D++){var Z=p[D];if(t.call(K,Z,D,p))return{i:D,v:Z}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(p,t,K){if(K.get||K.set)throw new TypeError("ES3 does not support getters and setters.");p!=Array.prototype&&p!=Object.prototype&&(p[t]=K.value)};
|
||||
$jscomp.getGlobal=function(p){return"undefined"!=typeof window&&window===p?p:"undefined"!=typeof global?global:p};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(p,t,K,F){if(t){K=$jscomp.global;p=p.split(".");for(F=0;F<p.length-1;F++){var D=p[F];D in K||(K[D]={});K=K[D]}p=p[p.length-1];F=K[p];t=t(F);t!=F&&null!=t&&$jscomp.defineProperty(K,p,{configurable:!0,writable:!0,value:t})}};
|
||||
$jscomp.getGlobal=function(p){return"undefined"!=typeof window&&window===p?p:"undefined"!=typeof global&&null!=global?global:p};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(p,t,K,F){if(t){K=$jscomp.global;p=p.split(".");for(F=0;F<p.length-1;F++){var D=p[F];D in K||(K[D]={});K=K[D]}p=p[p.length-1];F=K[p];t=t(F);t!=F&&null!=t&&$jscomp.defineProperty(K,p,{configurable:!0,writable:!0,value:t})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(p){return p?p:function(p,K){return $jscomp.findInternal(this,p,K).v}},"es6-impl","es3");
|
||||
(function(p,t){"object"===typeof module&&"object"===typeof module.exports?module.exports=p.document?t(p,!0):function(p){if(!p.document)throw Error("jQuery requires a window with a document");return t(p)}:t(p)})("undefined"!==typeof window?window:this,function(p,t){function K(a,b){b=b||r;var c=b.createElement("script");c.text=a;b.head.appendChild(c).parentNode.removeChild(c)}function F(a){var b=!!a&&"length"in a&&a.length,c=d.type(a);return"function"===c||d.isWindow(a)?!1:"array"===c||0===b||"number"===
|
||||
typeof b&&0<b&&b-1 in a}function D(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}function Z(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return d.grep(a,function(a){return a===b!==c});if("string"!==typeof b)return d.grep(a,function(a){return-1<oa.call(b,a)!==c});if(Qb.test(b))return d.filter(b,a,c);b=d.filter(b,a);return d.grep(a,function(a){return-1<oa.call(b,a)!==c&&1===a.nodeType})}function Ya(a,b){for(;(a=a[b])&&1!==a.nodeType;);
|
||||
|
||||
2
js/jquery-migrate-3.0.0.min.js
vendored
2
js/jquery-migrate-3.0.0.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(a,g,d){a instanceof String&&(a=String(a));for(var h=a.length,k=0;k<h;k++){var l=a[k];if(g.call(d,l,k,a))return{i:k,v:l}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,g,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[g]=d.value)};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,g,d,h){if(g){d=$jscomp.global;a=a.split(".");for(h=0;h<a.length-1;h++){var k=a[h];k in d||(d[k]={});d=d[k]}a=a[a.length-1];h=d[a];g=g(h);g!=h&&null!=g&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:g})}};
|
||||
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,g,d,h){if(g){d=$jscomp.global;a=a.split(".");for(h=0;h<a.length-1;h++){var k=a[h];k in d||(d[k]={});d=d[k]}a=a[a.length-1];h=d[a];g=g(h);g!=h&&null!=g&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:g})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,d){return $jscomp.findInternal(this,a,d).v}},"es6-impl","es3");
|
||||
(function(a,g){function d(c){var b=g.console;k[c]||(k[c]=!0,a.migrateWarnings.push(c),b&&b.warn&&!a.migrateMute&&(b.warn("JQMIGRATE: "+c),a.migrateTrace&&b.trace&&b.trace()))}function h(a,b,e,f){Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:function(){d(f);return e}})}a.migrateVersion="3.0.0";(function(){var c=g.console&&g.console.log&&function(){g.console.log.apply(g.console,arguments)},b=/^[12]\./;c&&(a&&!b.test(a.fn.jquery)||c("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),a.migrateWarnings&&
|
||||
c("JQMIGRATE: Migrate plugin loaded multiple times"),c("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion))})();var k={};a.migrateWarnings=[];void 0===a.migrateTrace&&(a.migrateTrace=!0);a.migrateReset=function(){k={};a.migrateWarnings.length=0};"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var l=a.fn.init,r=a.isNumeric,m=a.find,t=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,u=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;
|
||||
|
||||
2
js/jquery.magnific-popup.min.js
vendored
2
js/jquery.magnific-popup.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(e,a,h){e instanceof String&&(e=String(e));for(var g=e.length,n=0;n<g;n++){var p=e[n];if(a.call(h,p,n,e))return{i:n,v:p}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,a,h){if(h.get||h.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[a]=h.value)};
|
||||
$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(e,a,h,g){if(a){h=$jscomp.global;e=e.split(".");for(g=0;g<e.length-1;g++){var n=e[g];n in h||(h[n]={});h=h[n]}e=e[e.length-1];g=h[e];a=a(g);a!=g&&null!=a&&$jscomp.defineProperty(h,e,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(e,a,h,g){if(a){h=$jscomp.global;e=e.split(".");for(g=0;g<e.length-1;g++){var n=e[g];n in h||(h[n]={});h=h[n]}e=e[e.length-1];g=h[e];a=a(g);a!=g&&null!=a&&$jscomp.defineProperty(h,e,{configurable:!0,writable:!0,value:a})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(e){return e?e:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6-impl","es3");
|
||||
(function(e){"function"===typeof define&&define.amd?define(["jquery"],e):"object"===typeof exports?e(require("jquery")):e(window.jQuery||window.Zepto)})(function(e){var a,h=function(){},g=!!window.jQuery,n,p=e(window),q,x,t,G,k=function(b,c){a.ev.on("mfp"+b+".mfp",c)},u=function(a,c,d,f){var b=document.createElement("div");b.className="mfp-"+a;d&&(b.innerHTML=d);f?c&&c.appendChild(b):(b=e(b),c&&b.appendTo(c));return b},m=function(b,c){a.ev.triggerHandler("mfp"+b,c);a.st.callbacks&&(b=b.charAt(0).toLowerCase()+
|
||||
b.slice(1),a.st.callbacks[b]&&a.st.callbacks[b].apply(a,e.isArray(c)?c:[c]))},A=function(b){b===G&&a.currTemplate.closeBtn||(a.currTemplate.closeBtn=e(a.st.closeMarkup.replace("%title%",a.st.tClose)),G=b);return a.currTemplate.closeBtn},B=function(){e.magnificPopup.instance||(a=new h,a.init(),e.magnificPopup.instance=a)},K=function(){var a=document.createElement("p").style,c=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;c.length;)if(c.pop()+"Transition"in a)return!0;return!1};h.prototype=
|
||||
|
||||
2
js/moment.min.js
vendored
2
js/moment.min.js
vendored
@@ -1,4 +1,4 @@
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,p,y){if(y.get||y.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[p]=y.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,p,y){if(y.get||y.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[p]=y.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++};
|
||||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var p=0;return $jscomp.iteratorPrototype(function(){return p<e.length?{done:!1,value:e[p++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(e){$jscomp.initSymbolIterator();e={next:e};e[$jscomp.global.Symbol.iterator]=function(){return this};return e};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(e,p){$jscomp.initSymbolIterator();e instanceof String&&(e+="");var y=0,x={next:function(){if(y<e.length){var I=y++;return{value:p(I,e[I]),done:!1}}x.next=function(){return{done:!0,value:void 0}};return x.next()}};x[Symbol.iterator]=function(){return x};return x};
|
||||
|
||||
2
js/selectize.min.js
vendored
2
js/selectize.min.js
vendored
@@ -1,5 +1,5 @@
|
||||
var $jscomp={scope:{},findInternal:function(c,h,d){c instanceof String&&(c=String(c));for(var p=c.length,l=0;l<p;l++){var m=c[l];if(h.call(d,m,l,c))return{i:l,v:m}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(c,h,d){if(d.get||d.set)throw new TypeError("ES3 does not support getters and setters.");c!=Array.prototype&&c!=Object.prototype&&(c[h]=d.value)};
|
||||
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,h,d,p){if(h){d=$jscomp.global;c=c.split(".");for(p=0;p<c.length-1;p++){var l=c[p];l in d||(d[l]={});d=d[l]}c=c[c.length-1];p=d[c];h=h(p);h!=p&&null!=h&&$jscomp.defineProperty(d,c,{configurable:!0,writable:!0,value:h})}};
|
||||
$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,h,d,p){if(h){d=$jscomp.global;c=c.split(".");for(p=0;p<c.length-1;p++){var l=c[p];l in d||(d[l]={});d=d[l]}c=c[c.length-1];p=d[c];h=h(p);h!=p&&null!=h&&$jscomp.defineProperty(d,c,{configurable:!0,writable:!0,value:h})}};
|
||||
$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,d){return $jscomp.findInternal(this,c,d).v}},"es6-impl","es3");
|
||||
(function(c,h){"function"===typeof define&&define.amd?define("sifter",h):"object"===typeof exports?module.exports=h():c.Sifter=h()})(this,function(){var c=function(c,k){this.items=c;this.settings=k||{diacritics:!0}};c.prototype.tokenize=function(c){c=(String(c||"").toLowerCase()+"").replace(/^\s+|\s+$|/g,"");if(!c||!c.length)return[];var k,f,t,r=[],d=c.split(/ +/);c=0;for(k=d.length;c<k;c++){f=(d[c]+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");if(this.settings.diacritics)for(t in m)m.hasOwnProperty(t)&&
|
||||
(f=f.replace(new RegExp(t,"g"),m[t]));r.push({string:d[c],regex:new RegExp(f,"i")})}return r};c.prototype.iterator=function(c,d){(l(c)?Array.prototype.forEach||function(c){for(var f=0,d=this.length;f<d;f++)c(this[f],f,this)}:function(c){for(var f in this)this.hasOwnProperty(f)&&c(this[f],f,this)}).apply(c,[d])};c.prototype.getScoreFunction=function(c,d){var f,t,k,r;c=this.prepareSearch(c,d);t=c.tokens;f=c.options.fields;k=t.length;r=c.options.nesting;var h=function(c,f){var d,k;if(!c)return 0;c=String(c||
|
||||
|
||||
Reference in New Issue
Block a user