@rxweb/reactive-form-validators
Advanced tools
Comparing version 1.1.2-beta.2 to 1.1.2-beta.3
@@ -1,2 +0,2 @@ | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@rxweb/reactive-form-validators",["exports","@angular/core","@angular/forms"],e):e((n.rxweb=n.rxweb||{},n.rxweb["reactive-form-validators"]={}),n.ng.core,n.ng.forms)}(this,function(n,e,t){"use strict";function y(n){var e="function"==typeof Symbol&&n[Symbol.iterator],t=0;return e?e.call(n):{next:function(){return n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}}}var d={alpha:/^[a-zA-Z]+$/,alphaWithSpace:/^[a-zA-Z\s]+$/,onlyDigit:/^[0-9]+$/,isDigitExits:/\d/g,lowerCase:/[a-z]/g,upperCase:/[A-Z]/g,specialCharacter:/[!@#$%^&*(),.?":{}|<>]/g,advancedEmail:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,basicEmail:/^(([^<>()\[\]\\.,,:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,alphaNumeric:/^[0-9a-zA-Z]+$/,alphaNumericWithSpace:/^[0-9a-zA-Z\s]+$/,hexColor:/#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})\b/gi,strictHexColor:/^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i,"float":/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/,decimal:/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/,hexaDecimal:/^[0-9A-F]+$/i,date:/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/,time:/(00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$/,url:/^^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm,creditCard:new function(){this.Visa=new RegExp("^(?:4[0-9]{12})(?:[0-9]{3})?$"),this.AmericanExpress=new RegExp("^(?:3[47][0-9]{13})$"),this.Maestro=new RegExp("^(?:(?:5[0678]\\d\\d|6304|6390|67\\d\\d)\\d{8,15})$"),this.JCB=new RegExp("^(?:(?:2131|1800|35\\d{3})\\d{11})$"),this.Discover=new RegExp("^(?:6(?:011|5[0-9]{2})(?:[0-9]{12}))$"),this.DinersClub=new RegExp("^(?:3(?:0[0-5]|[68][0-9])[0-9]{11})$"),this.MasterCard=new RegExp("^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$")}},f="alphabet",m="digit",g="contains",v="lowerCase",h="upperCase",x="specialCharacter",b="minLength",P="maxLength",p=function(){function p(){}return p.isExits=function(n,e){return null!=n.match(e)},p.isValid=function(n,e){return e.test(n)},p.isNotBlank=function(n){return n!=undefined&&""!=n&&null!=n&&""!=String(n).trim()},p.isValidPassword=function(n,e){var t,r,a=!1,o="status",i=Object.getOwnPropertyNames(n);try{for(var u=y(i),s=u.next();!s.done;s=u.next()){var c=s.value;switch(c){case f:a=p.isExits(e,d.alpha),o=f;break;case m:a=p.isValid(e,d.isDigitExits),o=m;break;case g:a=-1!=e.indexOf(n[g]),o=g;break;case v:a=p.isValid(e,d.lowerCase),o=v;break;case h:a=p.isValid(e,d.upperCase),o=h;break;case x:a=p.isExits(e,d.specialCharacter),o=x;break;case b:a=e.length>=n[c],o=b;break;case P:a=e.length<=n[c],o=P}if(!a)break}}catch(l){t={error:l}}finally{try{s&&!s.done&&(r=u["return"])&&r.call(u)}finally{if(t)throw t.error}}return{isValid:a,keyName:o}},p}(),o=function(){function e(){}return e.set=function(n){n&&(e.json=n)},e.json={},e}(),N=function(){function n(){}return n.toJson=function(n,e,t){var r=e||(o&&o.json&&o.json.validationMessage&&o.json.validationMessage[n]?o.json.validationMessage[n]:"");t.forEach(function(n,e){r=r.replace("{{"+e+"}}",n)});var a={};return a[n]={message:r,refValues:t},a},n["null"]=function(){return null},n}(),C=function(){function a(){}return a.functionCreator=function(n){for(var e=[],t=n.match(/^\s*\(?\s*([^)]*)\s*\)?\s*=>(.*)/),r=t[2].split(","),a=0;a<r.length;a++){var o=r[a].match(/^\s*\(?\s*([^)]*)\s*\)?\s*==(.*)/);e=null!==o?new Function(t[1],"return "+o[0]):null===(o=r[a].match(/^\s*\(?\s*([^)]*)\s*\)?\s*=(.*)/))?new Function(t[1],"return "+r[a]):new Function(t[1],"return "+o[2])}return 0==r.length&&(e={accessFunction:new Function(t[1],"return "+t[2])}),e},a.IsPassed=function(n,e,t){var r=e;return t&&"string"==typeof e&&(r=a.functionCreator(e)),!t||!r||r(t,n)},a.expressionColumns=function(n){var a=[],e=[];return"string"==typeof n?n.split("=>")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}):String(n).split(" return ")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}),e.forEach(function(n){var e=n.split(".");if(2==e.length)a.push({propName:e[1].trim()});else{var t=e[1].split("["),r={propName:e[e.length-1].trim(),objectPropName:t[0],arrayIndex:1<t.length?t[1].replace("]",""):undefined};a.push(r)}}),a},a}(),j=function(){function n(){}return n.getParentObjectValue=function(n){return n.parent?this.parentObjectValue(n.parent).value:{}},n.parentObjectValue=function(n){return n.parent?n=this.parentObjectValue(n.parent):n},n.getConfigObject=function(n){return n!=undefined&&1!=n?n:{}},n}(),V={numeric:"numeric",required:"required",minLength:"minLength",maxLength:"maxLength",minNumber:"minNumber",maxNumber:"maxNumber",pattern:"pattern",password:"password",compare:"compare",minDate:"minDate",maxDate:"maxDate",alpha:"alpha",alphaNumeric:"alphaNumeric",email:"email",hexColor:"hexColor",lowerCase:"lowerCase",url:"url",upperCase:"upperCase",nested:"nested",propArray:"propArray",propObject:"propObject",contains:"contains",range:"range",custom:"custom",digit:"digit",creditCard:"creditCard",time:"time",json:"json",greaterThan:"greaterThan",greaterThanEqualTo:"greaterThanEqualTo",lessThan:"lessThan",lessThanEqualTo:"lessThanEqualTo"};var O={Visa:1,AmericanExpress:2,Maestro:3,JCB:4,Discover:5,DinersClub:6,MasterCard:7};O[O.Visa]="Visa",O[O.AmericanExpress]="AmericanExpress",O[O.Maestro]="Maestro",O[O.JCB]="JCB",O[O.Discover]="Discover",O[O.DinersClub]="DinersClub",O[O.MasterCard]="MasterCard";var T="property",E="objectProperty",I="arrayProperty",i=new(function(){function n(){this.instances=[]}return n.prototype.get=function(e){return this.instances.filter(function(n){return n.instance===e})[0]},n.prototype.addInstanceContainer=function(n){var e={instance:n,propertyAnnotations:[],properties:[]};return this.instances.push(e),e},n.prototype.addProperty=function(e,n){var t=this.instances.filter(function(n){return n.instance===e})[0];t||(t=this.addInstanceContainer(e)),this.addPropertyInfo(t,n)},n.prototype.addPropertyInfo=function(n,e){n.properties.filter(function(n){return n.name==e.name})[0]||n.properties.push(e)},n.prototype.addAnnotation=function(e,n){this.addProperty(e,{propertyType:T,name:n.propertyName});var t=this.instances.filter(function(n){return n.instance===e})[0];if(t?t.propertyAnnotations.push(n):(t=this.addInstanceContainer(e)).propertyAnnotations.push(n),n.config&&n.config.conditionalExpressions){var r=C.expressionColumns(n.config.conditionalExpressions);this.addChangeValidation(t,n.propertyName,r)}t&&n.config&&(n.annotationType==V.compare||n.annotationType==V.greaterThan||n.annotationType==V.greaterThanEqualTo||n.annotationType==V.lessThan||n.annotationType==V.lessThanEqualTo)&&this.setConditionalValueProp(t,n.config.fieldName,n.propertyName)},n.prototype.setConditionalValueProp=function(n,e,t){n.conditionalValidationProps||(n.conditionalValidationProps={}),n.conditionalValidationProps[e]||(n.conditionalValidationProps[e]=[]),-1==n.conditionalValidationProps[e].indexOf(t)&&n.conditionalValidationProps[e].push(t)},n.prototype.addChangeValidation=function(e,t,n){e&&(e.conditionalValidationProps||(e.conditionalValidationProps={}),n.forEach(function(n){n.propName&&!n.objectPropName?(e.conditionalValidationProps[n.propName]||(e.conditionalValidationProps[n.propName]=[]),-1==e.conditionalValidationProps[n.propName].indexOf(t)&&e.conditionalValidationProps[n.propName].push(t)):n.propName&&n.objectPropName&&(e.conditionalObjectProps||(e.conditionalObjectProps=[]),n.referencePropName=t,e.conditionalObjectProps.push(n))}))},n}()),a=function(n){if(n)for(var e in n)this[e]=n[e]};function A(e){var a=function(e){var t=window.setTimeout(function(n){window.clearTimeout(t),e.updateValueAndValidity()},100)};return function(n){var r=n.parent;return r&&e.forEach(function(n){if(-1!=n.indexOf("[]")){var t=n.split("[]");r.get([t[0]]).controls.forEach(function(n){var e=n.get(t[1]);e&&a(e)})}else{var e=r.get([n]);e||(e=r.root.get([n])),e&&a(e)}}),N["null"]()}}var w={alphaNumeric:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!(a.allowWhiteSpace?p.isValid(e,d.alphaNumericWithSpace):p.isValid(e,d.alphaNumeric))?N.toJson(V.alphaNumeric,a.message||null,[e]):N["null"]()}},alpha:function(a,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!(a.allowWhiteSpace?p.isValid(e,d.alphaWithSpace):p.isValid(e,d.alpha))?N.toJson(V.alpha,a.message||null,[e]):N["null"]()}},compare:function(a){return function(n){var e=n.root.get([a.fieldName]),t=n.value,r=e?e.value:"";return!p.isNotBlank(t)||e&&e.value===t?N["null"]():N.toJson(V.compare,a.message||null,[t,r])}},email:function(a){return function(n){var e=n.value;a=j.getConfigObject(a);var t=j.getParentObjectValue(n),r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.basicEmail)?N.toJson(V.email,a.message||null,[e]):N["null"]()}},hexColor:function(o){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e)){var a=o.isStrict?d.strictHexColor:d.hexColor;if(!p.isValid(e,a))return N.toJson(V.hexColor,o.message||null,[e])}return N["null"]()}},lowerCase:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&e!==e.toLowerCase()?N.toJson(V.lowerCase,a.message||null,[e]):N["null"]()}},maxDate:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)){if(!(e instanceof Date||p.isValid(e,d.date)))return N.toJson(V.maxDate,a.message||null,[n.value]);if(!(e<=a.value))return N.toJson(V.maxDate,a.message||null,[n.value])}return N["null"]()}},maxNumber:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||parseFloat(e)<=a.value?N["null"]():N.toJson(V.maxNumber,a.message||null,[e])}},minDate:function(a){return function(n){var e=new Date(n.value),t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,a.conditionalExpressions,r)){if(!p.isNotBlank(e))return N.toJson(V.maxDate,a.message||null,[n.value]);if((e instanceof Date||p.isValid(e,d.date))&&!(new Date(a.value)<=e))return N.toJson(V.minDate,a.message||null,[n.value])}return N["null"]()}},minNumber:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||parseFloat(e)>=a.value?N["null"]():N.toJson(V.minNumber,a.message||null,[e])}},contains:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&-1==e.indexOf(a.value)?N.toJson(V.contains,a.message||null,[e]):N["null"]()}},upperCase:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&e!==e.toUpperCase()?N.toJson(V.upperCase,a.message||null,[e]):N["null"]()}},maxLength:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||e.length<=a.value?N["null"]():N.toJson(V.maxLength,a.message||null,[e])}},minLength:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||String(e).length>=a.value?N["null"]():N.toJson(V.minLength,a.message||null,[e])}},password:function(r){return function(n){var e=n.value;if(j.getParentObjectValue(n),p.isNotBlank(e)){var t=p.isValidPassword(r.validation,e);if(!t.isValid)return N.toJson(t.keyName,r.message||null,[e])}return N["null"]()}},range:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||-1==String(e).indexOf(".")&&parseInt(e)>=a.minimumNumber&&parseInt(e)<=a.maximumNumber?N["null"]():N.toJson(V.range,a.message||null,[a.minimumNumber,a.maximumNumber,e])}},required:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&!p.isNotBlank(e)?N.toJson(V.required,a.message||null,[e]):N["null"]()}},creditCard:function(l){return function(n){var e=n.value,t=j.getParentObjectValue(n);l=j.getConfigObject(l);var r,a,o=n.parent?n.parent.value:undefined;if(C.IsPassed(t,l.conditionalExpressions,o)&&p.isNotBlank(e)){var i=!1;try{for(var u=y(l.creditCardTypes),s=u.next();!s.done;s=u.next())switch(s.value){case O.AmericanExpress:i=p.isValid(e,d.creditCard.AmericanExpress);break;case O.DinersClub:i=p.isValid(e,d.creditCard.DinersClub);break;case O.Discover:i=p.isValid(e,d.creditCard.Discover);break;case O.JCB:i=p.isValid(e,d.creditCard.JCB);break;case O.Maestro:i=p.isValid(e,d.creditCard.Maestro);break;case O.MasterCard:i=p.isValid(e,d.creditCard.MasterCard);break;case O.Visa:i=p.isValid(e,d.creditCard.Visa)}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=u["return"])&&a.call(u)}finally{if(r)throw r.error}}if(!i)return N.toJson(V.creditCard,l.message||null,[e])}return N["null"]()}},digit:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.onlyDigit)?N.toJson(V.digit,a.message||null,[e]):N["null"]()}},pattern:function(o){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e))for(var a in o.pattern)if(!p.isValid(e,o.pattern[a]))return N.toJson(a,o.message||null,[e]);return N["null"]()}},time:function(o,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e)){var a=5;if(o.allowSeconds||(a=8),!p.isValid(e,d.time)||e.length!=a)return N.toJson(V.time,o.message||null,[e])}return N["null"]()}},url:function(a,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.url)?N.toJson(V.url,a.message||null,[e]):N["null"]()}},json:function(o,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e))try{JSON.parse(e)}catch(a){return N.toJson(V.json,o.message||null,[e])}return N["null"]()}},greaterThan:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)>parseFloat(r))?N.toJson(V.greaterThan,i.message||null,[t,r]):N["null"]()}},greaterThanEqualTo:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)>=parseFloat(r))?N.toJson(V.greaterThanEqualTo,i.message||null,[t,r]):N["null"]()}},lessThan:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)<parseFloat(r))?N.toJson(V.lessThan,i.message||null,[t,r]):N["null"]()}},lessThanEqualTo:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)<=parseFloat(r))?N.toJson(V.lessThanEqualTo,i.message||null,[t,r]):N["null"]()}}},r=function(){function n(n){this.formBuilder=n,this.conditionalObjectProps=[]}return n.prototype.getInstanceContainer=function(n){return i.get(n)},n.prototype.setValue=function(n,e){for(var t in e){var r=n.get([t]);r.setValue(e[t]),r.updateValueAndValidity()}},n.prototype.addFormControl=function(e,n,t,r){var a,o,i=[],u=[];(r.conditionalValidationProps&&r.conditionalValidationProps[e.name]&&i.push(A(r.conditionalValidationProps[e.name])),0<this.conditionalObjectProps.length)&&(this.conditionalObjectProps.filter(function(n){return n.propName==e.name}).forEach(function(n){n.referencePropName&&-1==u.indexOf(n.referencePropName)&&u.push(n.referencePropName)}),0<u.length&&i.push(A(u)));try{for(var s=y(n),c=s.next();!c.done;c=s.next()){var l=c.value;i.push(w[l.annotationType](l.config))}}catch(p){a={error:p}}finally{try{c&&!c.done&&(o=s["return"])&&o.call(s)}finally{if(a)throw a.error}}return t&&this.additionalValidation(i,t),i},n.prototype.additionalValidation=function(n,e){for(var t in V)e[V[t]]&&"custom"!=t?n.push(w[V[t]](e[V[t]])):t==V.custom&&e[V[t]]&&n.push(e[t])},n.prototype.checkObjectPropAdditionalValidation=function(a,n){var o=this;a.properties.filter(function(n){return n.propertyType==E||n.propertyType==I}).forEach(function(e){var n=o.getInstanceContainer(e.entity);if(n.conditionalValidationProps)for(var t in n.conditionalValidationProps){var r=n.properties.filter(function(n){return n.name==t})[0];r||(r=a.properties.filter(function(n){return n.name==t})[0]),r&&(a.conditionalValidationProps||a.conditionalValidationProps[t]||(a.conditionalValidationProps[t]=[]),n.conditionalValidationProps[t].forEach(function(n){e.propertyType!=I?a.conditionalValidationProps[t].push([e.name,n].join(".")):a.conditionalValidationProps[t].push([e.name,n].join("[]"))}))}})},n.prototype.getObject=function(n,e,t){var r={};return"function"==typeof n&&(r.model=n),!e||e instanceof a||(r.entityObject=e),e instanceof a&&!t?r.formBuilderConfiguration=e:e instanceof a||!t||(r.formBuilderConfiguration=t),e||"object"==typeof(r.entityObject=n)&&(r.model=n.constructor),r},n.prototype.formGroup=function(n,p,d){var f=this,e=this.getObject(n,p,d);n=e.model,p=e.entityObject,d=e.formBuilderConfiguration;var m=this.getInstanceContainer(n);this.checkObjectPropAdditionalValidation(m,p);var g={},v={};return m.properties.forEach(function(e){var n,t,r=!0;if(d&&d.excludeProps&&0<d.excludeProps.length&&(r=-1==d.excludeProps.indexOf(e.name)),d&&d.validations&&(v=d.validations),r)switch(e.propertyType){case T:var a=m.propertyAnnotations.filter(function(n){return n.propertyName==e.name});g[e.name]=[p[e.name],f.addFormControl(e,a,v[e.name],m)];break;case E:p[e.name]&&p[e.name]instanceof Object&&(m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name})),g[e.name]=f.formGroup(e.entity,p[e.name],d),f.conditionalObjectProps=[]);break;case I:if(p[e.name]&&p[e.name]instanceof Array)var o=[];var i=0;try{for(var u=y(p[e.name]),s=u.next();!s.done;s=u.next()){var c=s.value;m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name&&n.arrayIndex==i})),o.push(f.formGroup(e.entity,c,d)),i++,f.conditionalObjectProps=[]}}catch(l){n={error:l}}finally{try{s&&!s.done&&(t=u["return"])&&t.call(u)}finally{if(n)throw n.error}}g[e.name]=f.formBuilder.array(o)}}),this.formBuilder.group(g)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:t.FormBuilder}]},n}(),u=function(){function n(){}return n.forRoot=function(){return{ngModule:n,providers:[]}},n.decorators=[{type:e.NgModule,args:[{declarations:[],exports:[],imports:[t.FormsModule,t.ReactiveFormsModule],providers:[r]}]}],n}();n.RxReactiveFormsModule=u,n.RxFormBuilder=r,n.FormBuilderConfiguration=a,n.alpha=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.alpha,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.alphaNumeric=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.alphaNumeric,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.compare=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.compare,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.contains=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.contains,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.creditCard=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.creditCard,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.digit=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.digit,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.email=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.email,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.hexColor=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.hexColor,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lowerCase=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lowerCase,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxDate=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxDate,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxLength=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxLength,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minDate=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minDate,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxNumber=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxNumber,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minLength=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minLength,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minNumber=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minNumber,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.password=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.password,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.pattern=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.pattern,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.propArray=function(a){return function(n,e,t){var r={name:e,propertyType:I,entity:a};i.addProperty(n.constructor,r)}},n.propObject=function(a){return function(n,e,t){var r={name:e,propertyType:E,entity:a};i.addProperty(n.constructor,r)}},n.prop=function(){return function(n,e,t){var r={name:e,propertyType:T};i.addProperty(n.constructor,r)}},n.range=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.range,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.required=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.required,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.upperCase=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.upperCase,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.time=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.time,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.url=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.url,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.json=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.json,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.greaterThan=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.greaterThan,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.greaterThanEqualTo=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.greaterThanEqualTo,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lessThanEqualTo=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lessThanEqualTo,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lessThan=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lessThan,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.ReactiveFormConfig=o,n.CreditCardType=O,Object.defineProperty(n,"__esModule",{value:!0})}); | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@rxweb/reactive-form-validators",["exports","@angular/core","@angular/forms"],e):e((n.rxweb=n.rxweb||{},n.rxweb["reactive-form-validators"]={}),n.ng.core,n.ng.forms)}(this,function(n,e,t){"use strict";function y(n){var e="function"==typeof Symbol&&n[Symbol.iterator],t=0;return e?e.call(n):{next:function(){return n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}}}var d={alpha:/^[a-zA-Z]+$/,alphaWithSpace:/^[a-zA-Z\s]+$/,onlyDigit:/^[0-9]+$/,isDigitExits:/\d/g,lowerCase:/[a-z]/g,upperCase:/[A-Z]/g,specialCharacter:/[!@#$%^&*(),.?":{}|<>]/g,advancedEmail:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,basicEmail:/^(([^<>()\[\]\\.,,:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,alphaNumeric:/^[0-9a-zA-Z]+$/,alphaNumericWithSpace:/^[0-9a-zA-Z\s]+$/,hexColor:/#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})\b/gi,strictHexColor:/^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i,"float":/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/,decimal:/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/,hexaDecimal:/^[0-9A-F]+$/i,date:/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/,time:/(00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$/,url:/^^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm,creditCard:new function(){this.Visa=new RegExp("^(?:4[0-9]{12})(?:[0-9]{3})?$"),this.AmericanExpress=new RegExp("^(?:3[47][0-9]{13})$"),this.Maestro=new RegExp("^(?:(?:5[0678]\\d\\d|6304|6390|67\\d\\d)\\d{8,15})$"),this.JCB=new RegExp("^(?:(?:2131|1800|35\\d{3})\\d{11})$"),this.Discover=new RegExp("^(?:6(?:011|5[0-9]{2})(?:[0-9]{12}))$"),this.DinersClub=new RegExp("^(?:3(?:0[0-5]|[68][0-9])[0-9]{11})$"),this.MasterCard=new RegExp("^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$")}},f="alphabet",m="digit",g="contains",v="lowerCase",h="upperCase",x="specialCharacter",b="minLength",P="maxLength",p=function(){function p(){}return p.isExits=function(n,e){return null!=n.match(e)},p.isValid=function(n,e){return e.test(n)},p.isNotBlank=function(n){return n!=undefined&&""!=n&&null!=n},p.isValidPassword=function(n,e){var t,r,a=!1,o="status",i=Object.getOwnPropertyNames(n);try{for(var u=y(i),s=u.next();!s.done;s=u.next()){var c=s.value;switch(c){case f:a=p.isExits(e,d.alpha),o=f;break;case m:a=p.isValid(e,d.isDigitExits),o=m;break;case g:a=-1!=e.indexOf(n[g]),o=g;break;case v:a=p.isValid(e,d.lowerCase),o=v;break;case h:a=p.isValid(e,d.upperCase),o=h;break;case x:a=p.isExits(e,d.specialCharacter),o=x;break;case b:a=e.length>=n[c],o=b;break;case P:a=e.length<=n[c],o=P}if(!a)break}}catch(l){t={error:l}}finally{try{s&&!s.done&&(r=u["return"])&&r.call(u)}finally{if(t)throw t.error}}return{isValid:a,keyName:o}},p}(),o=function(){function e(){}return e.set=function(n){n&&(e.json=n)},e.json={},e}(),N=function(){function n(){}return n.toJson=function(n,e,t){var r=e||(o&&o.json&&o.json.validationMessage&&o.json.validationMessage[n]?o.json.validationMessage[n]:"");t.forEach(function(n,e){r=r.replace("{{"+e+"}}",n)});var a={};return a[n]={message:r,refValues:t},a},n["null"]=function(){return null},n}(),C=function(){function a(){}return a.functionCreator=function(n){for(var e=[],t=n.match(/^\s*\(?\s*([^)]*)\s*\)?\s*=>(.*)/),r=t[2].split(","),a=0;a<r.length;a++){var o=r[a].match(/^\s*\(?\s*([^)]*)\s*\)?\s*==(.*)/);e=null!==o?new Function(t[1],"return "+o[0]):null===(o=r[a].match(/^\s*\(?\s*([^)]*)\s*\)?\s*=(.*)/))?new Function(t[1],"return "+r[a]):new Function(t[1],"return "+o[2])}return 0==r.length&&(e={accessFunction:new Function(t[1],"return "+t[2])}),e},a.IsPassed=function(n,e,t){var r=e;return t&&"string"==typeof e&&(r=a.functionCreator(e)),!t||!r||r(t,n)},a.expressionColumns=function(n){var a=[],e=[];return"string"==typeof n?n.split("=>")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}):String(n).split(" return ")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}),e.forEach(function(n){var e=n.split(".");if(2==e.length)a.push({propName:e[1].trim()});else{var t=e[1].split("["),r={propName:e[e.length-1].trim(),objectPropName:t[0],arrayIndex:1<t.length?t[1].replace("]",""):undefined};a.push(r)}}),a},a}(),j=function(){function n(){}return n.getParentObjectValue=function(n){return n.parent?this.parentObjectValue(n.parent).value:{}},n.parentObjectValue=function(n){return n.parent?n=this.parentObjectValue(n.parent):n},n.getConfigObject=function(n){return n!=undefined&&1!=n?n:{}},n}(),V={numeric:"numeric",required:"required",minLength:"minLength",maxLength:"maxLength",minNumber:"minNumber",maxNumber:"maxNumber",pattern:"pattern",password:"password",compare:"compare",minDate:"minDate",maxDate:"maxDate",alpha:"alpha",alphaNumeric:"alphaNumeric",email:"email",hexColor:"hexColor",lowerCase:"lowerCase",url:"url",upperCase:"upperCase",nested:"nested",propArray:"propArray",propObject:"propObject",contains:"contains",range:"range",custom:"custom",digit:"digit",creditCard:"creditCard",time:"time",json:"json",greaterThan:"greaterThan",greaterThanEqualTo:"greaterThanEqualTo",lessThan:"lessThan",lessThanEqualTo:"lessThanEqualTo"};var O={Visa:1,AmericanExpress:2,Maestro:3,JCB:4,Discover:5,DinersClub:6,MasterCard:7};O[O.Visa]="Visa",O[O.AmericanExpress]="AmericanExpress",O[O.Maestro]="Maestro",O[O.JCB]="JCB",O[O.Discover]="Discover",O[O.DinersClub]="DinersClub",O[O.MasterCard]="MasterCard";var T="property",E="objectProperty",I="arrayProperty",i=new(function(){function n(){this.instances=[]}return n.prototype.get=function(e){return this.instances.filter(function(n){return n.instance===e})[0]},n.prototype.addInstanceContainer=function(n){var e={instance:n,propertyAnnotations:[],properties:[]};return this.instances.push(e),e},n.prototype.addProperty=function(e,n){var t=this.instances.filter(function(n){return n.instance===e})[0];t||(t=this.addInstanceContainer(e)),this.addPropertyInfo(t,n)},n.prototype.addPropertyInfo=function(n,e){n.properties.filter(function(n){return n.name==e.name})[0]||n.properties.push(e)},n.prototype.addAnnotation=function(e,n){this.addProperty(e,{propertyType:T,name:n.propertyName});var t=this.instances.filter(function(n){return n.instance===e})[0];if(t?t.propertyAnnotations.push(n):(t=this.addInstanceContainer(e)).propertyAnnotations.push(n),n.config&&n.config.conditionalExpressions){var r=C.expressionColumns(n.config.conditionalExpressions);this.addChangeValidation(t,n.propertyName,r)}t&&n.config&&(n.annotationType==V.compare||n.annotationType==V.greaterThan||n.annotationType==V.greaterThanEqualTo||n.annotationType==V.lessThan||n.annotationType==V.lessThanEqualTo)&&this.setConditionalValueProp(t,n.config.fieldName,n.propertyName)},n.prototype.setConditionalValueProp=function(n,e,t){n.conditionalValidationProps||(n.conditionalValidationProps={}),n.conditionalValidationProps[e]||(n.conditionalValidationProps[e]=[]),-1==n.conditionalValidationProps[e].indexOf(t)&&n.conditionalValidationProps[e].push(t)},n.prototype.addChangeValidation=function(e,t,n){e&&(e.conditionalValidationProps||(e.conditionalValidationProps={}),n.forEach(function(n){n.propName&&!n.objectPropName?(e.conditionalValidationProps[n.propName]||(e.conditionalValidationProps[n.propName]=[]),-1==e.conditionalValidationProps[n.propName].indexOf(t)&&e.conditionalValidationProps[n.propName].push(t)):n.propName&&n.objectPropName&&(e.conditionalObjectProps||(e.conditionalObjectProps=[]),n.referencePropName=t,e.conditionalObjectProps.push(n))}))},n}()),a=function(n){if(n)for(var e in n)this[e]=n[e]};function A(e){var a=function(e){var t=window.setTimeout(function(n){window.clearTimeout(t),e.updateValueAndValidity()},100)};return function(n){var r=n.parent;return r&&e.forEach(function(n){if(-1!=n.indexOf("[]")){var t=n.split("[]");r.get([t[0]]).controls.forEach(function(n){var e=n.get(t[1]);e&&a(e)})}else{var e=r.get([n]);e||(e=r.root.get([n])),e&&a(e)}}),N["null"]()}}var w={alphaNumeric:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!(a.allowWhiteSpace?p.isValid(e,d.alphaNumericWithSpace):p.isValid(e,d.alphaNumeric))?N.toJson(V.alphaNumeric,a.message||null,[e]):N["null"]()}},alpha:function(a,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!(a.allowWhiteSpace?p.isValid(e,d.alphaWithSpace):p.isValid(e,d.alpha))?N.toJson(V.alpha,a.message||null,[e]):N["null"]()}},compare:function(a){return function(n){var e=n.root.get([a.fieldName]),t=n.value,r=e?e.value:"";return!p.isNotBlank(t)||e&&e.value===t?N["null"]():N.toJson(V.compare,a.message||null,[t,r])}},email:function(a){return function(n){var e=n.value;a=j.getConfigObject(a);var t=j.getParentObjectValue(n),r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.basicEmail)?N.toJson(V.email,a.message||null,[e]):N["null"]()}},hexColor:function(o){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e)){var a=o.isStrict?d.strictHexColor:d.hexColor;if(!p.isValid(e,a))return N.toJson(V.hexColor,o.message||null,[e])}return N["null"]()}},lowerCase:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&e!==e.toLowerCase()?N.toJson(V.lowerCase,a.message||null,[e]):N["null"]()}},maxDate:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)){if(!p.isValid(e,d.date))return N.toJson(V.maxDate,a.message||null,[n.value]);a.value}return N["null"]()}},maxNumber:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||parseFloat(e)<=a.value?N["null"]():N.toJson(V.maxNumber,a.message||null,[e])}},minDate:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)){if(!p.isValid(e,d.date))return N.toJson(V.minDate,a.message||null,[n.value]);if(!(new Date(a.value)<=new Date(e)))return N.toJson(V.minDate,a.message||null,[n.value])}return N["null"]()}},minNumber:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||parseFloat(e)>=a.value?N["null"]():N.toJson(V.minNumber,a.message||null,[e])}},contains:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&-1==e.indexOf(a.value)?N.toJson(V.contains,a.message||null,[e]):N["null"]()}},upperCase:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&e!==e.toUpperCase()?N.toJson(V.upperCase,a.message||null,[e]):N["null"]()}},maxLength:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||e.length<=a.value?N["null"]():N.toJson(V.maxLength,a.message||null,[e])}},minLength:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||String(e).length>=a.value?N["null"]():N.toJson(V.minLength,a.message||null,[e])}},password:function(r){return function(n){var e=n.value;if(j.getParentObjectValue(n),p.isNotBlank(e)){var t=p.isValidPassword(r.validation,e);if(!t.isValid)return N.toJson(t.keyName,r.message||null,[e])}return N["null"]()}},range:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return!C.IsPassed(t,a.conditionalExpressions,r)||!p.isNotBlank(e)||-1==String(e).indexOf(".")&&parseInt(e)>=a.minimumNumber&&parseInt(e)<=a.maximumNumber?N["null"]():N.toJson(V.range,a.message||null,[a.minimumNumber,a.maximumNumber,e])}},required:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&!p.isNotBlank(e)?N.toJson(V.required,a.message||null,[e]):N["null"]()}},creditCard:function(l){return function(n){var e=n.value,t=j.getParentObjectValue(n);l=j.getConfigObject(l);var r,a,o=n.parent?n.parent.value:undefined;if(C.IsPassed(t,l.conditionalExpressions,o)&&p.isNotBlank(e)){var i=!1;try{for(var u=y(l.creditCardTypes),s=u.next();!s.done;s=u.next())switch(s.value){case O.AmericanExpress:i=p.isValid(e,d.creditCard.AmericanExpress);break;case O.DinersClub:i=p.isValid(e,d.creditCard.DinersClub);break;case O.Discover:i=p.isValid(e,d.creditCard.Discover);break;case O.JCB:i=p.isValid(e,d.creditCard.JCB);break;case O.Maestro:i=p.isValid(e,d.creditCard.Maestro);break;case O.MasterCard:i=p.isValid(e,d.creditCard.MasterCard);break;case O.Visa:i=p.isValid(e,d.creditCard.Visa)}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=u["return"])&&a.call(u)}finally{if(r)throw r.error}}if(!i)return N.toJson(V.creditCard,l.message||null,[e])}return N["null"]()}},digit:function(a){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.onlyDigit)?N.toJson(V.digit,a.message||null,[e]):N["null"]()}},pattern:function(o){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e))for(var a in o.pattern)if(!p.isValid(e,o.pattern[a]))return N.toJson(a,o.message||null,[e]);return N["null"]()}},time:function(o,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e)){var a=5;if(o.allowSeconds||(a=8),!p.isValid(e,d.time)||e.length!=a)return N.toJson(V.time,o.message||null,[e])}return N["null"]()}},url:function(a,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);a=j.getConfigObject(a);var r=n.parent?n.parent.value:undefined;return C.IsPassed(t,a.conditionalExpressions,r)&&p.isNotBlank(e)&&!p.isValid(e,d.url)?N.toJson(V.url,a.message||null,[e]):N["null"]()}},json:function(o,n){return function(n){var e=n.value,t=j.getParentObjectValue(n);o=j.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpressions,r)&&p.isNotBlank(e))try{JSON.parse(e)}catch(a){return N.toJson(V.json,o.message||null,[e])}return N["null"]()}},greaterThan:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)>parseFloat(r))?N.toJson(V.greaterThan,i.message||null,[t,r]):N["null"]()}},greaterThanEqualTo:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)>=parseFloat(r))?N.toJson(V.greaterThanEqualTo,i.message||null,[t,r]):N["null"]()}},lessThan:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)<parseFloat(r))?N.toJson(V.lessThan,i.message||null,[t,r]):N["null"]()}},lessThanEqualTo:function(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,r=e?e.value:"",a=j.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(a,i.conditionalExpressions,o)&&p.isNotBlank(t)&&p.isNotBlank(r)&&!(e&&parseFloat(t)<=parseFloat(r))?N.toJson(V.lessThanEqualTo,i.message||null,[t,r]):N["null"]()}}},r=function(){function n(n){this.formBuilder=n,this.conditionalObjectProps=[]}return n.prototype.getInstanceContainer=function(n){return i.get(n)},n.prototype.setValue=function(n,e){for(var t in e){var r=n.get([t]);r.setValue(e[t]),r.updateValueAndValidity()}},n.prototype.addFormControl=function(e,n,t,r){var a,o,i=[],u=[];(r.conditionalValidationProps&&r.conditionalValidationProps[e.name]&&i.push(A(r.conditionalValidationProps[e.name])),0<this.conditionalObjectProps.length)&&(this.conditionalObjectProps.filter(function(n){return n.propName==e.name}).forEach(function(n){n.referencePropName&&-1==u.indexOf(n.referencePropName)&&u.push(n.referencePropName)}),0<u.length&&i.push(A(u)));try{for(var s=y(n),c=s.next();!c.done;c=s.next()){var l=c.value;i.push(w[l.annotationType](l.config))}}catch(p){a={error:p}}finally{try{c&&!c.done&&(o=s["return"])&&o.call(s)}finally{if(a)throw a.error}}return t&&this.additionalValidation(i,t),i},n.prototype.additionalValidation=function(n,e){for(var t in V)e[V[t]]&&"custom"!=t?n.push(w[V[t]](e[V[t]])):t==V.custom&&e[V[t]]&&n.push(e[t])},n.prototype.checkObjectPropAdditionalValidation=function(a,n){var o=this;a.properties.filter(function(n){return n.propertyType==E||n.propertyType==I}).forEach(function(e){var n=o.getInstanceContainer(e.entity);if(n.conditionalValidationProps)for(var t in n.conditionalValidationProps){var r=n.properties.filter(function(n){return n.name==t})[0];r||(r=a.properties.filter(function(n){return n.name==t})[0]),r&&(a.conditionalValidationProps||a.conditionalValidationProps[t]||(a.conditionalValidationProps[t]=[]),n.conditionalValidationProps[t].forEach(function(n){e.propertyType!=I?a.conditionalValidationProps[t].push([e.name,n].join(".")):a.conditionalValidationProps[t].push([e.name,n].join("[]"))}))}})},n.prototype.getObject=function(n,e,t){var r={};return"function"==typeof n&&(r.model=n),!e||e instanceof a||(r.entityObject=e),e instanceof a&&!t?r.formBuilderConfiguration=e:e instanceof a||!t||(r.formBuilderConfiguration=t),e||"object"==typeof(r.entityObject=n)&&(r.model=n.constructor),r},n.prototype.formGroup=function(n,p,d){var f=this,e=this.getObject(n,p,d);n=e.model,p=e.entityObject,d=e.formBuilderConfiguration;var m=this.getInstanceContainer(n);this.checkObjectPropAdditionalValidation(m,p);var g={},v={};return m.properties.forEach(function(e){var n,t,r=!0;if(d&&d.excludeProps&&0<d.excludeProps.length&&(r=-1==d.excludeProps.indexOf(e.name)),d&&d.validations&&(v=d.validations),r)switch(e.propertyType){case T:var a=m.propertyAnnotations.filter(function(n){return n.propertyName==e.name});g[e.name]=[p[e.name],f.addFormControl(e,a,v[e.name],m)];break;case E:p[e.name]&&p[e.name]instanceof Object&&(m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name})),g[e.name]=f.formGroup(e.entity,p[e.name],d),f.conditionalObjectProps=[]);break;case I:if(p[e.name]&&p[e.name]instanceof Array){var o=[],i=0;try{for(var u=y(p[e.name]),s=u.next();!s.done;s=u.next()){var c=s.value;m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name&&n.arrayIndex==i})),o.push(f.formGroup(e.entity,c,d)),i++,f.conditionalObjectProps=[]}}catch(l){n={error:l}}finally{try{s&&!s.done&&(t=u["return"])&&t.call(u)}finally{if(n)throw n.error}}g[e.name]=f.formBuilder.array(o)}}}),this.formBuilder.group(g)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:t.FormBuilder}]},n}(),u=function(){function n(){}return n.forRoot=function(){return{ngModule:n,providers:[]}},n.decorators=[{type:e.NgModule,args:[{declarations:[],exports:[],imports:[t.FormsModule,t.ReactiveFormsModule],providers:[r]}]}],n}();n.RxReactiveFormsModule=u,n.RxFormBuilder=r,n.FormBuilderConfiguration=a,n.alpha=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.alpha,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.alphaNumeric=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.alphaNumeric,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.compare=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.compare,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.contains=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.contains,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.creditCard=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.creditCard,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.digit=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.digit,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.email=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.email,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.hexColor=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.hexColor,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lowerCase=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lowerCase,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxDate=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxDate,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxLength=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxLength,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minDate=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minDate,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.maxNumber=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.maxNumber,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minLength=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minLength,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.minNumber=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.minNumber,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.password=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.password,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.pattern=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.pattern,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.propArray=function(a){return function(n,e,t){var r={name:e,propertyType:I,entity:a};i.addProperty(n.constructor,r)}},n.propObject=function(a){return function(n,e,t){var r={name:e,propertyType:E,entity:a};i.addProperty(n.constructor,r)}},n.prop=function(){return function(n,e,t){var r={name:e,propertyType:T};i.addProperty(n.constructor,r)}},n.range=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.range,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.required=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.required,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.upperCase=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.upperCase,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.time=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.time,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.url=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.url,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.json=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.json,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.greaterThan=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.greaterThan,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.greaterThanEqualTo=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.greaterThanEqualTo,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lessThanEqualTo=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lessThanEqualTo,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.lessThan=function(o){return function(n,e,t){var r={propertyIndex:t,propertyName:e,annotationType:V.lessThan,config:o},a=e!=undefined;i.addAnnotation(a?n.constructor:n,r)}},n.ReactiveFormConfig=o,n.CreditCardType=O,Object.defineProperty(n,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=rxweb-reactive-form-validators.umd.min.js.map |
@@ -18,3 +18,2 @@ /** | ||
return (control) => { | ||
debugger; | ||
const /** @type {?} */ controlValue = control.value; | ||
@@ -39,2 +38,2 @@ const /** @type {?} */ formGroupValue = ApplicationUtil.getParentObjectValue(control); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9hbHBoYS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0seUJBQXlCLE1BQW1CLEVBQUUsMEJBQW1DO0lBQ25GLE1BQU0sQ0FBQyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDeEQsUUFBUSxDQUFDO1FBQ1QsdUJBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkMsdUJBQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCx1QkFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMscUJBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDdkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO29CQUN4QixVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxVQUFPLENBQUM7Z0JBQ3ZFLElBQUk7b0JBQ0EsVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsbUJBQWdCLENBQUM7Z0JBQ2hGLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO29CQUNaLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsV0FBUSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDaEc7U0FDSjtRQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDL0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC1ydWxlc1wiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIlxyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBBbHBoYUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2FscGhhLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWxwaGFWYWxpZGF0b3IoY29uZmlnOiBBbHBoYUNvbmZpZywgY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHM6c3RyaW5nW10pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnMsIHBhcmVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmICghY29uZmlnLmFsbG93V2hpdGVTcGFjZSlcclxuICAgICAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQoY29udHJvbFZhbHVlLCBSZWdFeFJ1bGUuYWxwaGFXaXRoU3BhY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UmVzdWx0KVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmFscGhhLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbFZhbHVlXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9hbHBoYS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0seUJBQXlCLE1BQW1CLEVBQUUsMEJBQW1DO0lBQ25GLE1BQU0sQ0FBQyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDeEQsdUJBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkMsdUJBQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCx1QkFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMscUJBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDdkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO29CQUN4QixVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxVQUFPLENBQUM7Z0JBQ3ZFLElBQUk7b0JBQ0EsVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsbUJBQWdCLENBQUM7Z0JBQ2hGLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO29CQUNaLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsV0FBUSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDaEc7U0FDSjtRQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDL0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC1ydWxlc1wiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIlxyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBBbHBoYUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2FscGhhLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWxwaGFWYWxpZGF0b3IoY29uZmlnOiBBbHBoYUNvbmZpZywgY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHM6c3RyaW5nW10pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnMsIHBhcmVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmICghY29uZmlnLmFsbG93V2hpdGVTcGFjZSlcclxuICAgICAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQoY29udHJvbFZhbHVlLCBSZWdFeFJ1bGUuYWxwaGFXaXRoU3BhY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UmVzdWx0KVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmFscGhhLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbFZhbHVlXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19 |
@@ -23,5 +23,6 @@ /** | ||
if (RegexValidator.isNotBlank(controlValue)) { | ||
if (controlValue instanceof Date || RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
if (RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
let /** @type {?} */ maxDate = config.value; | ||
if (!(controlValue <= maxDate)) | ||
let /** @type {?} */ currentValueDate = new Date(controlValue); | ||
if (!(maxDate => controlValue)) | ||
return ObjectMaker.toJson(AnnotationTypes["maxDate"], config.message || null, [control.value]); | ||
@@ -37,2 +38,2 @@ } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4RGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21heERhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFpQjtJQUM5QyxNQUFNLENBQUMsQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQ3hELHVCQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLHVCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsdUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksWUFBWSxJQUFJLElBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxTQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN0RixxQkFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztvQkFDM0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsQ0FBQzt3QkFDM0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7aUJBQ2xHO2dCQUFDLElBQUk7b0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFFbEc7U0FDSjtRQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IERhdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kYXRlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9pbmRleFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1heERhdGVWYWxpZGF0b3IoY29uZmlnOkRhdGVDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnMsIHBhcmVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2xWYWx1ZSBpbnN0YW5jZW9mIERhdGUgfHxSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2xWYWx1ZSwgUmVnRXhSdWxlLmRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1heERhdGUgPSBjb25maWcudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoY29udHJvbFZhbHVlIDw9IG1heERhdGUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5tYXhEYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5tYXhEYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4RGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21heERhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFpQjtJQUM5QyxNQUFNLENBQUMsQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQ3hELHVCQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLHVCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsdUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsU0FBTSxDQUFDLENBQUMsQ0FBQztvQkFDdkQscUJBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7b0JBQzNCLHFCQUFJLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUM5QyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDM0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7aUJBQ2xHO2dCQUFDLElBQUk7b0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFFbEc7U0FDSjtRQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IERhdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kYXRlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9pbmRleFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1heERhdGVWYWxpZGF0b3IoY29uZmlnOkRhdGVDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnMsIHBhcmVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQoY29udHJvbFZhbHVlLCBSZWdFeFJ1bGUuZGF0ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbWF4RGF0ZSA9IGNvbmZpZy52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudFZhbHVlRGF0ZSA9IG5ldyBEYXRlKGNvbnRyb2xWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEobWF4RGF0ZSA9PiBjb250cm9sVmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5tYXhEYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5tYXhEYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -17,3 +17,3 @@ /** | ||
return (control) => { | ||
const /** @type {?} */ controlValue = new Date(control.value); | ||
const /** @type {?} */ controlValue = control.value; | ||
const /** @type {?} */ formGroupValue = ApplicationUtil.getParentObjectValue(control); | ||
@@ -24,10 +24,11 @@ config = ApplicationUtil.getConfigObject(config); | ||
if (RegexValidator.isNotBlank(controlValue)) { | ||
if (controlValue instanceof Date || RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
if (RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
let /** @type {?} */ minDate = new Date(config.value); | ||
if (!(controlValue >= minDate)) | ||
let /** @type {?} */ currentControlValue = new Date(controlValue); | ||
if (!(currentControlValue >= minDate)) | ||
return ObjectMaker.toJson(AnnotationTypes["minDate"], config.message || null, [control.value]); | ||
} | ||
else | ||
return ObjectMaker.toJson(AnnotationTypes["minDate"], config.message || null, [control.value]); | ||
} | ||
else | ||
return ObjectMaker.toJson(AnnotationTypes["maxDate"], config.message || null, [control.value]); | ||
} | ||
@@ -38,2 +39,2 @@ return ObjectMaker.null(); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluRGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21pbkRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFrQjtJQUMvQyxNQUFNLENBQUMsQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQ3hELHVCQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsdUJBQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCx1QkFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsRUFBRSxDQUFDLENBQUMsWUFBWSxZQUFZLElBQUksSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLFNBQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ3ZGLHFCQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3JDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLENBQUM7d0JBQzNCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsYUFBVSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2lCQUNsRzthQUNKO1lBQUMsSUFBSTtnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLGFBQVUsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtTQUNsRztRQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IERhdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kYXRlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9pbmRleFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1pbkRhdGVWYWxpZGF0b3IoY29uZmlnOiBEYXRlQ29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBuZXcgRGF0ZShjb250cm9sLnZhbHVlKTtcclxuICAgICAgICBjb25zdCBmb3JtR3JvdXBWYWx1ZSA9IEFwcGxpY2F0aW9uVXRpbC5nZXRQYXJlbnRPYmplY3RWYWx1ZShjb250cm9sKTtcclxuICAgICAgICBjb25maWcgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZyk7XHJcbiAgICAgICAgY29uc3QgcGFyZW50T2JqZWN0ID0gKGNvbnRyb2wucGFyZW50KSA/IGNvbnRyb2wucGFyZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChMaW5xLklzUGFzc2VkKGZvcm1Hcm91cFZhbHVlLCBjb25maWcuY29uZGl0aW9uYWxFeHByZXNzaW9ucywgcGFyZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbFZhbHVlIGluc3RhbmNlb2YgRGF0ZSB8fCBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2xWYWx1ZSwgUmVnRXhSdWxlLmRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1pbkRhdGUgPSBuZXcgRGF0ZShjb25maWcudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKGNvbnRyb2xWYWx1ZSA+PSBtaW5EYXRlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWluRGF0ZSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2wudmFsdWVdKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLm1heERhdGUsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sLnZhbHVlXSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluRGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21pbkRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFrQjtJQUMvQyxNQUFNLENBQUMsQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQ3hELHVCQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLHVCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsdUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsU0FBTSxDQUFDLENBQUMsQ0FBQztvQkFDdkQscUJBQUksT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckMscUJBQUksbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2pELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsQ0FBQzt3QkFDbEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7aUJBQ2xHO2dCQUFDLElBQUk7b0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7YUFDbEc7U0FDSjtRQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDN0IsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRvckZuLFxyXG4gICAgQWJzdHJhY3RDb250cm9sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IERhdGVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kYXRlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMaW5xIH0gZnJvbSBcIi4uL3V0aWwvbGlucVwiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWwvZGVjb3JhdG9yLW5hbWVcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi4vdXRpbC9pbmRleFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1pbkRhdGVWYWxpZGF0b3IoY29uZmlnOiBEYXRlQ29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGNvbmZpZyA9IEFwcGxpY2F0aW9uVXRpbC5nZXRDb25maWdPYmplY3QoY29uZmlnKTtcclxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3QgPSAoY29udHJvbC5wYXJlbnQpID8gY29udHJvbC5wYXJlbnQudmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKExpbnEuSXNQYXNzZWQoZm9ybUdyb3VwVmFsdWUsIGNvbmZpZy5jb25kaXRpb25hbEV4cHJlc3Npb25zLCBwYXJlbnRPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2xWYWx1ZSwgUmVnRXhSdWxlLmRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1pbkRhdGUgPSBuZXcgRGF0ZShjb25maWcudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50Q29udHJvbFZhbHVlID0gbmV3IERhdGUoY29udHJvbFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIShjdXJyZW50Q29udHJvbFZhbHVlID49IG1pbkRhdGUpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5taW5EYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgICB9IGVsc2VcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5taW5EYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICAgIH1cclxufVxyXG4iXX0= |
@@ -204,13 +204,14 @@ /** | ||
case ARRAY_PROPERTY: | ||
if (entityObject[property.name] && entityObject[property.name] instanceof Array) | ||
if (entityObject[property.name] && entityObject[property.name] instanceof Array) { | ||
var /** @type {?} */ formArrayGroup = []; | ||
let /** @type {?} */ index = 0; | ||
for (let /** @type {?} */ subObject of entityObject[property.name]) { | ||
if (instanceContainer && instanceContainer.conditionalObjectProps) | ||
this.conditionalObjectProps = instanceContainer.conditionalObjectProps["filter"](t => t.objectPropName == property.name && t.arrayIndex == index); | ||
formArrayGroup.push(this.formGroup(property.entity, subObject, formBuilderConfiguration)); | ||
index++; | ||
this.conditionalObjectProps = []; | ||
let /** @type {?} */ index = 0; | ||
for (let /** @type {?} */ subObject of entityObject[property.name]) { | ||
if (instanceContainer && instanceContainer.conditionalObjectProps) | ||
this.conditionalObjectProps = instanceContainer.conditionalObjectProps["filter"](t => t.objectPropName == property.name && t.arrayIndex == index); | ||
formArrayGroup.push(this.formGroup(property.entity, subObject, formBuilderConfiguration)); | ||
index++; | ||
this.conditionalObjectProps = []; | ||
} | ||
formGroupObject[property.name] = this.formBuilder.array(formArrayGroup); | ||
} | ||
formGroupObject[property.name] = this.formBuilder.array(formArrayGroup); | ||
break; | ||
@@ -239,2 +240,2 @@ } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3J4LWZvcm0tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixNQUFNLGdCQUFnQixDQUFBO0FBRW5FLE9BQU8sRUFDSCxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUM5RyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFDakgsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDeEYsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQ3JHLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixFQUNqRyxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBR3RHLHVCQUFNLGNBQWMsR0FBZ0M7SUFDaEQsY0FBYyxFQUFFLHFCQUFxQjtJQUNyQyxPQUFPLEVBQUUsY0FBYztJ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RixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiXHJcbmltcG9ydCB7IFR5cGUsIERlY29yYXRvck5hbWUgfSBmcm9tIFwiLi4vdXRpbFwiXHJcbmltcG9ydCB7XHJcbiAgICBhbHBoYU51bWVyaWNWYWxpZGF0b3IsIGFscGhhVmFsaWRhdG9yLCBjb21wYXJlVmFsaWRhdG9yLCBlbWFpbFZhbGlkYXRvciwgaGV4Q29sb3JWYWxpZGF0b3IsIGxvd2VyY2FzZVZhbGlkYXRvcixcclxuICAgIG1heERhdGVWYWxpZGF0b3IsIG1heE51bWJlclZhbGlkYXRvciwgbWluRGF0ZVZhbGlkYXRvciwgbWluTnVtYmVyVmFsaWRhdG9yLCBjb250YWluc1ZhbGlkYXRvciwgdXBwZXJjYXNlVmFsaWRhdG9yLFxyXG4gICAgcmFuZ2VWYWxpZGF0b3IsIHBhdHRlcm5WYWxpZGF0b3IsIHJlcXVpcmVkVmFsaWRhdG9yLCBjcmVkaXRDYXJkVmFsaWRhdG9yLCBkaWdpdFZhbGlkYXRvcixcclxuICAgIG1heExlbmd0aFZhbGlkYXRvciwgbWluTGVuZ3RoVmFsaWRhdG9yLCBwYXNzd29yZFZhbGlkYXRvciwgdGltZVZhbGlkYXRvciwgdXJsVmFsaWRhdG9yLCBqc29uVmFsaWRhdG9yLFxyXG4gICAgZ3JlYXRlclRoYW5FcXVhbFRvVmFsaWRhdG9yLCBncmVhdGVyVGhhblZhbGlkYXRvciwgbGVzc1RoYW5FcXVhbFRvVmFsaWRhdG9yLCBsZXNzVGhhblZhbGlkYXRvclxyXG59IGZyb20gJy4uL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBkZWZhdWx0Q29udGFpbmVyIH0gZnJvbSAnLi4vY29yZS9kZWZhdWx0Q29udGFpbmVyJztcclxuaW1wb3J0IHsgRGVjb3JhdG9yQ29uZmlndXJhdGlvbiwgSW5zdGFuY2VDb250YWluZXIsIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL2NvcmUvdmFsaWRhdG9yLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9tb2RlbHNcIlxyXG5pbXBvcnQgeyBBUlJBWV9QUk9QRVJUWSwgT0JKRUNUX1BST1BFUlRZLCBQUk9QRVJUWSB9IGZyb20gXCIuLi9jb25zdFwiXHJcbmltcG9ydCB7IFByb3BWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9wcm9wLXZhbGlkYXRpb24tY29uZmlnXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IgfSBmcm9tIFwiLi4vcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2NvbmRpdGlvbmFsLWNoYW5nZS52YWxpZGF0b3JcIjtcclxuXHJcblxyXG5jb25zdCBBUFBfVkFMSURBVE9SUzogeyBba2V5OiBzdHJpbmddOiBGdW5jdGlvbiB9ID0ge1xyXG4gICAgXCJhbHBoYU51bWVyaWNcIjogYWxwaGFOdW1lcmljVmFsaWRhdG9yLFxyXG4gICAgXCJhbHBoYVwiOiBhbHBoYVZhbGlkYXRvcixcclxuICAgIFwiY29tcGFyZVwiOiBjb21wYXJlVmFsaWRhdG9yLFxyXG4gICAgXCJlbWFpbFwiOiBlbWFpbFZhbGlkYXRvcixcclxuICAgIFwiaGV4Q29sb3JcIjogaGV4Q29sb3JWYWxpZGF0b3IsXHJcbiAgICBcImxvd2VyQ2FzZVwiOiBsb3dlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBcIm1heERhdGVcIjogbWF4RGF0ZVZhbGlkYXRvcixcclxuICAgIFwibWF4TnVtYmVyXCI6IG1heE51bWJlclZhbGlkYXRvcixcclxuICAgIFwibWluRGF0ZVwiOiBtaW5EYXRlVmFsaWRhdG9yLFxyXG4gICAgXCJtaW5OdW1iZXJcIjogbWluTnVtYmVyVmFsaWRhdG9yLFxyXG4gICAgXCJjb250YWluc1wiOiBjb250YWluc1ZhbGlkYXRvcixcclxuICAgIFwidXBwZXJDYXNlXCI6IHVwcGVyY2FzZVZhbGlkYXRvcixcclxuICAgIFwibWF4TGVuZ3RoXCI6IG1heExlbmd0aFZhbGlkYXRvcixcclxuICAgIFwibWluTGVuZ3RoXCI6IG1pbkxlbmd0aFZhbGlkYXRvcixcclxuICAgIFwicGFzc3dvcmRcIjogcGFzc3dvcmRWYWxpZGF0b3IsXHJcbiAgICBcInJhbmdlXCI6IHJhbmdlVmFsaWRhdG9yLFxyXG4gICAgXCJyZXF1aXJlZFwiOiByZXF1aXJlZFZhbGlkYXRvcixcclxuICAgIFwiY3JlZGl0Q2FyZFwiOiBjcmVkaXRDYXJkVmFsaWRhdG9yLFxyXG4gICAgXCJkaWdpdFwiOiBkaWdpdFZhbGlkYXRvcixcclxuICAgIFwicGF0dGVyblwiOiBwYXR0ZXJuVmFsaWRhdG9yLFxyXG4gICAgXCJ0aW1lXCI6IHRpbWVWYWxpZGF0b3IsXHJcbiAgICBcInVybFwiOiB1cmxWYWxpZGF0b3IsXHJcbiAgICBcImpzb25cIjoganNvblZhbGlkYXRvcixcclxuICAgIFwiZ3JlYXRlclRoYW5cIjogZ3JlYXRlclRoYW5WYWxpZGF0b3IsXHJcbiAgICBcImdyZWF0ZXJUaGFuRXF1YWxUb1wiOiBncmVhdGVyVGhhbkVxdWFsVG9WYWxpZGF0b3IsXHJcbiAgICBcImxlc3NUaGFuXCI6IGxlc3NUaGFuVmFsaWRhdG9yLFxyXG4gICAgXCJsZXNzVGhhbkVxdWFsVG9cIjogbGVzc1RoYW5FcXVhbFRvVmFsaWRhdG9yXHJcbn1cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUnhGb3JtQnVpbGRlciB7XHJcbiAgICBwcml2YXRlIG5lc3RlZFByb3A6IHN0cmluZztcclxuICAgIHByaXZhdGUgY29uZGl0aW9uYWxPYmplY3RQcm9wczogYW55W10gPSBbXTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldEluc3RhbmNlQ29udGFpbmVyKGluc3RhbmNlRnVuYzogYW55KTogSW5zdGFuY2VDb250YWluZXIge1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0Q29udGFpbmVyLmdldChpbnN0YW5jZUZ1bmMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VmFsdWUoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIG9iamVjdDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgZm9yICh2YXIgY29sIGluIG9iamVjdCkge1xyXG4gICAgICAgICAgICB2YXIgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoW2NvbF0pO1xyXG4gICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKG9iamVjdFtjb2xdKTtcclxuICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkRm9ybUNvbnRyb2wocHJvcGVydHk6IFByb3BlcnR5SW5mbywgcHJvcGVydHlWYWxpZGF0b3JzOiBEZWNvcmF0b3JDb25maWd1cmF0aW9uW10sIHByb3BWYWxpZGF0aW9uQ29uZmlnOiBQcm9wVmFsaWRhdGlvbkNvbmZpZywgaW5zdGFuY2U6IEluc3RhbmNlQ29udGFpbmVyKSB7XHJcbiAgICAgICAgbGV0IHZhbGlkYXRvcnMgPSBbXTtcclxuICAgICAgICBsZXQgY29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmIChpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcyAmJiBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1twcm9wZXJ0eS5uYW1lXSkge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNbcHJvcGVydHkubmFtZV0pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGxldCBwcm9wQ29uZGl0aW9ucyA9IHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0LnByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUpO1xyXG4gICAgICAgICAgICBwcm9wQ29uZGl0aW9ucy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHQucmVmZXJlbmNlUHJvcE5hbWUgJiYgY29sdW1ucy5pbmRleE9mKHQucmVmZXJlbmNlUHJvcE5hbWUpID09IC0xKVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaCh0LnJlZmVyZW5jZVByb3BOYW1lKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChjb25kaXRpb25hbENoYW5nZVZhbGlkYXRvcihjb2x1bW5zKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IHByb3BlcnR5VmFsaWRhdG9yIG9mIHByb3BlcnR5VmFsaWRhdG9ycykge1xyXG5cclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKEFQUF9WQUxJREFUT1JTW3Byb3BlcnR5VmFsaWRhdG9yLmFubm90YXRpb25UeXBlXShwcm9wZXJ0eVZhbGlkYXRvci5jb25maWcsICkpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wVmFsaWRhdGlvbkNvbmZpZylcclxuICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsVmFsaWRhdGlvbih2YWxpZGF0b3JzLCBwcm9wVmFsaWRhdGlvbkNvbmZpZyk7XHJcblxyXG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkaXRpb25hbFZhbGlkYXRpb24odmFsaWRhdGlvbnM6IGFueVtdLCBwcm9wVmFsaWRhdGlvbkNvbmZpZzogUHJvcFZhbGlkYXRpb25Db25maWcpIHtcclxuICAgICAgICBmb3IgKHZhciBjb2wgaW4gQW5ub3RhdGlvblR5cGVzKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0gJiYgY29sICE9IFwiY3VzdG9tXCIpIHtcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zLnB1c2goQVBQX1ZBTElEQVRPUlNbQW5ub3RhdGlvblR5cGVzW2NvbF1dKHByb3BWYWxpZGF0aW9uQ29uZmlnW0Fubm90YXRpb25UeXBlc1tjb2xdXSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbCA9PSBBbm5vdGF0aW9uVHlwZXMuY3VzdG9tICYmIHByb3BWYWxpZGF0aW9uQ29uZmlnW0Fubm90YXRpb25UeXBlc1tjb2xdXSlcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zLnB1c2gocHJvcFZhbGlkYXRpb25Db25maWdbY29sXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrT2JqZWN0UHJvcEFkZGl0aW9uYWxWYWxpZGF0aW9uPFQ+KGluc3RhbmNlQ29udGFpbmVyOiBJbnN0YW5jZUNvbnRhaW5lciwgb2JqZWN0OiBUKSB7XHJcbiAgICAgICAgdmFyIHByb3BzID0gaW5zdGFuY2VDb250YWluZXIucHJvcGVydGllcy5maWx0ZXIodCA9PiB0LnByb3BlcnR5VHlwZSA9PSBPQkpFQ1RfUFJPUEVSVFkgfHwgdC5wcm9wZXJ0eVR5cGUgPT0gQVJSQVlfUFJPUEVSVFkpXHJcbiAgICAgICAgcHJvcHMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlID0gdGhpcy5nZXRJbnN0YW5jZUNvbnRhaW5lcih0LmVudGl0eSk7XHJcbiAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcykge1xyXG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByb3AgPSBpbnN0YW5jZS5wcm9wZXJ0aWVzLmZpbHRlcih0ID0+IHQubmFtZSA9PSBrZXkpWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvcClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcCA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXMuZmlsdGVyKHQgPT4gdC5uYW1lID09IGtleSlbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0uZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0LnByb3BlcnR5VHlwZSAhPSBBUlJBWV9QUk9QRVJUWSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLnB1c2goW3QubmFtZSwgeF0uam9pbignLicpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0ucHVzaChbdC5uYW1lLCB4XS5qb2luKCdbXScpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0T2JqZWN0KG1vZGVsOiBhbnkgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBlbnRpdHlPYmplY3Q/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24/OiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pOiB7W2tleTpzdHJpbmddOmFueX0ge1xyXG4gICAgICAgIGxldCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbW9kZWwgPT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgICAgICBqc29uLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlPYmplY3QgJiYgIShlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pKVxyXG4gICAgICAgICAgICBqc29uLmVudGl0eU9iamVjdCA9IGVudGl0eU9iamVjdDtcclxuXHJcbiAgICAgICAgaWYgKGVudGl0eU9iamVjdCBpbnN0YW5jZW9mIEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiAmJiAhZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKVxyXG4gICAgICAgICAgICBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IGVudGl0eU9iamVjdDtcclxuICAgICAgICBlbHNlIGlmICghKGVudGl0eU9iamVjdCBpbnN0YW5jZW9mIEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbikgJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKVxyXG4gICAgICAgICAgICBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbjtcclxuICAgICAgICBcclxuICAgICAgICBpZiAoIWVudGl0eU9iamVjdCkge1xyXG4gICAgICAgICAgICBqc29uLmVudGl0eU9iamVjdCA9IG1vZGVsO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vZGVsID09IFwib2JqZWN0XCIpXHJcbiAgICAgICAgICAgICAgICBqc29uLm1vZGVsID0gbW9kZWwuY29uc3RydWN0b3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqc29uO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1Hcm91cDxUPihtb2RlbDogVHlwZTxUPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGVudGl0eU9iamVjdD86IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24sIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbj86IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbik6IEZvcm1Hcm91cCB7XHJcbiAgICAgICAgbGV0IGpzb24gPSB0aGlzLmdldE9iamVjdChtb2RlbCwgZW50aXR5T2JqZWN0LCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pO1xyXG4gICAgICAgIG1vZGVsID0ganNvbi5tb2RlbDtcclxuICAgICAgICBlbnRpdHlPYmplY3QgPSBqc29uLmVudGl0eU9iamVjdDtcclxuICAgICAgICBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbjtcclxuICAgICAgICBsZXQgaW5zdGFuY2VDb250YWluZXI6IEluc3RhbmNlQ29udGFpbmVyID0gdGhpcy5nZXRJbnN0YW5jZUNvbnRhaW5lcihtb2RlbCk7XHJcbiAgICAgICAgdGhpcy5jaGVja09iamVjdFByb3BBZGRpdGlvbmFsVmFsaWRhdGlvbihpbnN0YW5jZUNvbnRhaW5lciwgZW50aXR5T2JqZWN0KTtcclxuICAgICAgICBsZXQgZm9ybUdyb3VwT2JqZWN0ID0ge307XHJcbiAgICAgICAgbGV0IGZvcm1DaGlsZEdyb3VwID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIGxldCBmb3JtQXJyYXlHcm91cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgYWRkaXRpb25hbFZhbGlkYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFByb3BWYWxpZGF0aW9uQ29uZmlnIH0gPSB7fTtcclxuICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5wcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaXNJbmNsdWRlUHJvcCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmIChmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcyAmJiBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24uZXhjbHVkZVByb3BzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICBpc0luY2x1ZGVQcm9wID0gZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcy5pbmRleE9mKHByb3BlcnR5Lm5hbWUpID09IC0xXHJcbiAgICAgICAgICAgIGlmIChmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLnZhbGlkYXRpb25zKVxyXG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFZhbGlkYXRpb25zID0gZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLnZhbGlkYXRpb25zO1xyXG4gICAgICAgICAgICBpZiAoaXNJbmNsdWRlUHJvcCkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eS5wcm9wZXJ0eVR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFBST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHlWYWxpZGF0b3JzID0gaW5zdGFuY2VDb250YWluZXIucHJvcGVydHlBbm5vdGF0aW9ucy5maWx0ZXIodCA9PiB0LnByb3BlcnR5TmFtZSA9PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gW2VudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSwgdGhpcy5hZGRGb3JtQ29udHJvbChwcm9wZXJ0eSwgcHJvcGVydHlWYWxpZGF0b3JzLCBhZGRpdGlvbmFsVmFsaWRhdGlvbnNbcHJvcGVydHkubmFtZV0sIGluc3RhbmNlQ29udGFpbmVyKV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgT0JKRUNUX1BST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdICYmIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0Lm9iamVjdFByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBPYmplY3RbcHJvcGVydHkubmFtZV0gPSB0aGlzLmZvcm1Hcm91cChwcm9wZXJ0eS5lbnRpdHksIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQVJSQVlfUFJPUEVSVFk6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0gJiYgZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdIGluc3RhbmNlb2YgQXJyYXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybUFycmF5R3JvdXAgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgc3ViT2JqZWN0IG9mIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0Lm9iamVjdFByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUgJiYgdC5hcnJheUluZGV4ID09IGluZGV4KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5R3JvdXAucHVzaCh0aGlzLmZvcm1Hcm91cChwcm9wZXJ0eS5lbnRpdHksIHN1Yk9iamVjdCwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtQnVpbGRlci5hcnJheShmb3JtQXJyYXlHcm91cCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoZm9ybUdyb3VwT2JqZWN0KTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3J4LWZvcm0tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUF5QixNQUFNLGdCQUFnQixDQUFBO0FBRW5FLE9BQU8sRUFDSCxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUM5RyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFDakgsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDeEYsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQ3JHLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixFQUNqRyxNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBR3RHLHVCQUFNLGNBQWMsR0FBZ0M7SUFDaEQsY0FBYyxFQUFFLHFCQUFxQjtJQUNyQyxPQUFPLEVBQUUsY0FBYztJ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dkpKLFVBQVU7Ozs7WUFuREYsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIlxyXG5pbXBvcnQgeyBUeXBlLCBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWxcIlxyXG5pbXBvcnQge1xyXG4gICAgYWxwaGFOdW1lcmljVmFsaWRhdG9yLCBhbHBoYVZhbGlkYXRvciwgY29tcGFyZVZhbGlkYXRvciwgZW1haWxWYWxpZGF0b3IsIGhleENvbG9yVmFsaWRhdG9yLCBsb3dlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBtYXhEYXRlVmFsaWRhdG9yLCBtYXhOdW1iZXJWYWxpZGF0b3IsIG1pbkRhdGVWYWxpZGF0b3IsIG1pbk51bWJlclZhbGlkYXRvciwgY29udGFpbnNWYWxpZGF0b3IsIHVwcGVyY2FzZVZhbGlkYXRvcixcclxuICAgIHJhbmdlVmFsaWRhdG9yLCBwYXR0ZXJuVmFsaWRhdG9yLCByZXF1aXJlZFZhbGlkYXRvciwgY3JlZGl0Q2FyZFZhbGlkYXRvciwgZGlnaXRWYWxpZGF0b3IsXHJcbiAgICBtYXhMZW5ndGhWYWxpZGF0b3IsIG1pbkxlbmd0aFZhbGlkYXRvciwgcGFzc3dvcmRWYWxpZGF0b3IsIHRpbWVWYWxpZGF0b3IsIHVybFZhbGlkYXRvciwganNvblZhbGlkYXRvcixcclxuICAgIGdyZWF0ZXJUaGFuRXF1YWxUb1ZhbGlkYXRvciwgZ3JlYXRlclRoYW5WYWxpZGF0b3IsIGxlc3NUaGFuRXF1YWxUb1ZhbGlkYXRvciwgbGVzc1RoYW5WYWxpZGF0b3JcclxufSBmcm9tICcuLi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZGVmYXVsdENvbnRhaW5lciB9IGZyb20gJy4uL2NvcmUvZGVmYXVsdENvbnRhaW5lcic7XHJcbmltcG9ydCB7IERlY29yYXRvckNvbmZpZ3VyYXRpb24sIEluc3RhbmNlQ29udGFpbmVyLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9jb3JlL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzXCJcclxuaW1wb3J0IHsgQVJSQVlfUFJPUEVSVFksIE9CSkVDVF9QUk9QRVJUWSwgUFJPUEVSVFkgfSBmcm9tIFwiLi4vY29uc3RcIlxyXG5pbXBvcnQgeyBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvcC12YWxpZGF0aW9uLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IGNvbmRpdGlvbmFsQ2hhbmdlVmFsaWRhdG9yIH0gZnJvbSBcIi4uL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jb25kaXRpb25hbC1jaGFuZ2UudmFsaWRhdG9yXCI7XHJcblxyXG5cclxuY29uc3QgQVBQX1ZBTElEQVRPUlM6IHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb24gfSA9IHtcclxuICAgIFwiYWxwaGFOdW1lcmljXCI6IGFscGhhTnVtZXJpY1ZhbGlkYXRvcixcclxuICAgIFwiYWxwaGFcIjogYWxwaGFWYWxpZGF0b3IsXHJcbiAgICBcImNvbXBhcmVcIjogY29tcGFyZVZhbGlkYXRvcixcclxuICAgIFwiZW1haWxcIjogZW1haWxWYWxpZGF0b3IsXHJcbiAgICBcImhleENvbG9yXCI6IGhleENvbG9yVmFsaWRhdG9yLFxyXG4gICAgXCJsb3dlckNhc2VcIjogbG93ZXJjYXNlVmFsaWRhdG9yLFxyXG4gICAgXCJtYXhEYXRlXCI6IG1heERhdGVWYWxpZGF0b3IsXHJcbiAgICBcIm1heE51bWJlclwiOiBtYXhOdW1iZXJWYWxpZGF0b3IsXHJcbiAgICBcIm1pbkRhdGVcIjogbWluRGF0ZVZhbGlkYXRvcixcclxuICAgIFwibWluTnVtYmVyXCI6IG1pbk51bWJlclZhbGlkYXRvcixcclxuICAgIFwiY29udGFpbnNcIjogY29udGFpbnNWYWxpZGF0b3IsXHJcbiAgICBcInVwcGVyQ2FzZVwiOiB1cHBlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBcIm1heExlbmd0aFwiOiBtYXhMZW5ndGhWYWxpZGF0b3IsXHJcbiAgICBcIm1pbkxlbmd0aFwiOiBtaW5MZW5ndGhWYWxpZGF0b3IsXHJcbiAgICBcInBhc3N3b3JkXCI6IHBhc3N3b3JkVmFsaWRhdG9yLFxyXG4gICAgXCJyYW5nZVwiOiByYW5nZVZhbGlkYXRvcixcclxuICAgIFwicmVxdWlyZWRcIjogcmVxdWlyZWRWYWxpZGF0b3IsXHJcbiAgICBcImNyZWRpdENhcmRcIjogY3JlZGl0Q2FyZFZhbGlkYXRvcixcclxuICAgIFwiZGlnaXRcIjogZGlnaXRWYWxpZGF0b3IsXHJcbiAgICBcInBhdHRlcm5cIjogcGF0dGVyblZhbGlkYXRvcixcclxuICAgIFwidGltZVwiOiB0aW1lVmFsaWRhdG9yLFxyXG4gICAgXCJ1cmxcIjogdXJsVmFsaWRhdG9yLFxyXG4gICAgXCJqc29uXCI6IGpzb25WYWxpZGF0b3IsXHJcbiAgICBcImdyZWF0ZXJUaGFuXCI6IGdyZWF0ZXJUaGFuVmFsaWRhdG9yLFxyXG4gICAgXCJncmVhdGVyVGhhbkVxdWFsVG9cIjogZ3JlYXRlclRoYW5FcXVhbFRvVmFsaWRhdG9yLFxyXG4gICAgXCJsZXNzVGhhblwiOiBsZXNzVGhhblZhbGlkYXRvcixcclxuICAgIFwibGVzc1RoYW5FcXVhbFRvXCI6IGxlc3NUaGFuRXF1YWxUb1ZhbGlkYXRvclxyXG59XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJ4Rm9ybUJ1aWxkZXIge1xyXG4gICAgcHJpdmF0ZSBuZXN0ZWRQcm9wOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNvbmRpdGlvbmFsT2JqZWN0UHJvcHM6IGFueVtdID0gW107XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikgeyB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJbnN0YW5jZUNvbnRhaW5lcihpbnN0YW5jZUZ1bmM6IGFueSk6IEluc3RhbmNlQ29udGFpbmVyIHtcclxuICAgICAgICByZXR1cm4gZGVmYXVsdENvbnRhaW5lci5nZXQoaW5zdGFuY2VGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFZhbHVlKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBvYmplY3Q6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGZvciAodmFyIGNvbCBpbiBvYmplY3QpIHtcclxuICAgICAgICAgICAgdmFyIGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KFtjb2xdKTtcclxuICAgICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShvYmplY3RbY29sXSk7XHJcbiAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZEZvcm1Db250cm9sKHByb3BlcnR5OiBQcm9wZXJ0eUluZm8sIHByb3BlcnR5VmFsaWRhdG9yczogRGVjb3JhdG9yQ29uZmlndXJhdGlvbltdLCBwcm9wVmFsaWRhdGlvbkNvbmZpZzogUHJvcFZhbGlkYXRpb25Db25maWcsIGluc3RhbmNlOiBJbnN0YW5jZUNvbnRhaW5lcikge1xyXG4gICAgICAgIGxldCB2YWxpZGF0b3JzID0gW107XHJcbiAgICAgICAgbGV0IGNvbHVtbnMgPSBbXTtcclxuICAgICAgICBpZiAoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMgJiYgaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNbcHJvcGVydHkubmFtZV0pIHtcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGNvbmRpdGlvbmFsQ2hhbmdlVmFsaWRhdG9yKGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW3Byb3BlcnR5Lm5hbWVdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgcHJvcENvbmRpdGlvbnMgPSB0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5wcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgcHJvcENvbmRpdGlvbnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0LnJlZmVyZW5jZVByb3BOYW1lICYmIGNvbHVtbnMuaW5kZXhPZih0LnJlZmVyZW5jZVByb3BOYW1lKSA9PSAtMSlcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2godC5yZWZlcmVuY2VQcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IoY29sdW1ucykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eVZhbGlkYXRvciBvZiBwcm9wZXJ0eVZhbGlkYXRvcnMpIHtcclxuXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChBUFBfVkFMSURBVE9SU1twcm9wZXJ0eVZhbGlkYXRvci5hbm5vdGF0aW9uVHlwZV0ocHJvcGVydHlWYWxpZGF0b3IuY29uZmlnLCApKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcFZhbGlkYXRpb25Db25maWcpXHJcbiAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbFZhbGlkYXRpb24odmFsaWRhdG9ycywgcHJvcFZhbGlkYXRpb25Db25maWcpO1xyXG5cclxuICAgICAgICByZXR1cm4gdmFsaWRhdG9ycztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZGl0aW9uYWxWYWxpZGF0aW9uKHZhbGlkYXRpb25zOiBhbnlbXSwgcHJvcFZhbGlkYXRpb25Db25maWc6IFByb3BWYWxpZGF0aW9uQ29uZmlnKSB7XHJcbiAgICAgICAgZm9yICh2YXIgY29sIGluIEFubm90YXRpb25UeXBlcykge1xyXG4gICAgICAgICAgICBpZiAocHJvcFZhbGlkYXRpb25Db25maWdbQW5ub3RhdGlvblR5cGVzW2NvbF1dICYmIGNvbCAhPSBcImN1c3RvbVwiKSB7XHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9ucy5wdXNoKEFQUF9WQUxJREFUT1JTW0Fubm90YXRpb25UeXBlc1tjb2xdXShwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChjb2wgPT0gQW5ub3RhdGlvblR5cGVzLmN1c3RvbSAmJiBwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0pXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9ucy5wdXNoKHByb3BWYWxpZGF0aW9uQ29uZmlnW2NvbF0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja09iamVjdFByb3BBZGRpdGlvbmFsVmFsaWRhdGlvbjxUPihpbnN0YW5jZUNvbnRhaW5lcjogSW5zdGFuY2VDb250YWluZXIsIG9iamVjdDogVCkge1xyXG4gICAgICAgIHZhciBwcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eVR5cGUgPT0gT0JKRUNUX1BST1BFUlRZIHx8IHQucHJvcGVydHlUeXBlID09IEFSUkFZX1BST1BFUlRZKVxyXG4gICAgICAgIHByb3BzLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHRoaXMuZ2V0SW5zdGFuY2VDb250YWluZXIodC5lbnRpdHkpO1xyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBwcm9wID0gaW5zdGFuY2UucHJvcGVydGllcy5maWx0ZXIodCA9PiB0Lm5hbWUgPT0ga2V5KVswXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXByb3ApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3AgPSBpbnN0YW5jZUNvbnRhaW5lci5wcm9wZXJ0aWVzLmZpbHRlcih0ID0+IHQubmFtZSA9PSBrZXkpWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5wcm9wZXJ0eVR5cGUgIT0gQVJSQVlfUFJPUEVSVFkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XS5wdXNoKFt0Lm5hbWUsIHhdLmpvaW4oJy4nKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLnB1c2goW3QubmFtZSwgeF0uam9pbignW10nKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldE9iamVjdChtb2RlbDogYW55IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgZW50aXR5T2JqZWN0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uPzogRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKToge1trZXk6c3RyaW5nXTphbnl9IHtcclxuICAgICAgICBsZXQganNvbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIG1vZGVsID09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICAgICAganNvbi5tb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICBpZiAoZW50aXR5T2JqZWN0ICYmICEoZW50aXR5T2JqZWN0IGluc3RhbmNlb2YgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKSlcclxuICAgICAgICAgICAganNvbi5lbnRpdHlPYmplY3QgPSBlbnRpdHlPYmplY3Q7XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgIWZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBlbnRpdHlPYmplY3Q7XHJcbiAgICAgICAgZWxzZSBpZiAoIShlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCFlbnRpdHlPYmplY3QpIHtcclxuICAgICAgICAgICAganNvbi5lbnRpdHlPYmplY3QgPSBtb2RlbDtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBtb2RlbCA9PSBcIm9iamVjdFwiKVxyXG4gICAgICAgICAgICAgICAganNvbi5tb2RlbCA9IG1vZGVsLmNvbnN0cnVjdG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ganNvbjtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtR3JvdXA8VD4obW9kZWw6IFR5cGU8VD4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBlbnRpdHlPYmplY3Q/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24/OiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pOiBGb3JtR3JvdXAge1xyXG4gICAgICAgIGxldCBqc29uID0gdGhpcy5nZXRPYmplY3QobW9kZWwsIGVudGl0eU9iamVjdCwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKTtcclxuICAgICAgICBtb2RlbCA9IGpzb24ubW9kZWw7XHJcbiAgICAgICAgZW50aXR5T2JqZWN0ID0ganNvbi5lbnRpdHlPYmplY3Q7XHJcbiAgICAgICAgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uID0ganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgbGV0IGluc3RhbmNlQ29udGFpbmVyOiBJbnN0YW5jZUNvbnRhaW5lciA9IHRoaXMuZ2V0SW5zdGFuY2VDb250YWluZXIobW9kZWwpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tPYmplY3RQcm9wQWRkaXRpb25hbFZhbGlkYXRpb24oaW5zdGFuY2VDb250YWluZXIsIGVudGl0eU9iamVjdCk7XHJcbiAgICAgICAgbGV0IGZvcm1Hcm91cE9iamVjdCA9IHt9O1xyXG4gICAgICAgIGxldCBmb3JtQ2hpbGRHcm91cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBsZXQgZm9ybUFycmF5R3JvdXAgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdmFyIGFkZGl0aW9uYWxWYWxpZGF0aW9uczogeyBba2V5OiBzdHJpbmddOiBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9ID0ge307XHJcbiAgICAgICAgaW5zdGFuY2VDb250YWluZXIucHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgICAgICAgbGV0IGlzSW5jbHVkZVByb3AgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAoZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi5leGNsdWRlUHJvcHMgJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgaXNJbmNsdWRlUHJvcCA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi5leGNsdWRlUHJvcHMuaW5kZXhPZihwcm9wZXJ0eS5uYW1lKSA9PSAtMVxyXG4gICAgICAgICAgICBpZiAoZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi52YWxpZGF0aW9ucylcclxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxWYWxpZGF0aW9ucyA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi52YWxpZGF0aW9ucztcclxuICAgICAgICAgICAgaWYgKGlzSW5jbHVkZVByb3ApIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAocHJvcGVydHkucHJvcGVydHlUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBQUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5VmFsaWRhdG9ycyA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnR5QW5ub3RhdGlvbnMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eU5hbWUgPT0gcHJvcGVydHkubmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cE9iamVjdFtwcm9wZXJ0eS5uYW1lXSA9IFtlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0sIHRoaXMuYWRkRm9ybUNvbnRyb2wocHJvcGVydHksIHByb3BlcnR5VmFsaWRhdG9ycywgYWRkaXRpb25hbFZhbGlkYXRpb25zW3Byb3BlcnR5Lm5hbWVdLCBpbnN0YW5jZUNvbnRhaW5lcildO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIE9CSkVDVF9QUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSAmJiBlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0gaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZUNvbnRhaW5lciAmJiBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbE9iamVjdFByb3BzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5vYmplY3RQcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtR3JvdXAocHJvcGVydHkuZW50aXR5LCBlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0sIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEFSUkFZX1BST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdICYmIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybUFycmF5R3JvdXAgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBzdWJPYmplY3Qgb2YgZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5vYmplY3RQcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lICYmIHQuYXJyYXlJbmRleCA9PSBpbmRleClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlHcm91cC5wdXNoKHRoaXMuZm9ybUdyb3VwKHByb3BlcnR5LmVudGl0eSwgc3ViT2JqZWN0LCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtQnVpbGRlci5hcnJheShmb3JtQXJyYXlHcm91cCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cChmb3JtR3JvdXBPYmplY3QpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -23,3 +23,3 @@ /** | ||
hexaDecimal: /^[0-9A-F]+$/i, | ||
date: /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/, | ||
date: /^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/, | ||
time: /(00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$/, | ||
@@ -30,2 +30,2 @@ url: /^^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm, | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtcnVsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsidXRpbC9yZWdleC1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE1BQU0sQ0FBQyx1QkFBTSxTQUFTLEdBQTJCO0lBRTdDLEtBQUssRUFBRSxhQUFhO0lBRXBCLGNBQWMsRUFBRSxlQUFlO0lBRS9CLFNBQVMsRUFBRSxVQUFVO0lBRXJCLFlBQVksRUFBRSxLQUFLO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLGdCQUFnQixFQUFFLHlCQUF5QjtJQUUzQyxhQUFhLEVBQUUsc0lBQXNJO0lBRXJKLFVBQVUsRUFBRSx3SkFBd0o7SUFFcEssWUFBWSxFQUFFLGdCQUFnQjtJQUU5QixxQkFBcUIsRUFBRSxrQkFBa0I7SUFFekMsUUFBUSxFQUFFLG9EQUFvRDtJQUU5RCxjQUFjLEVBQUUsdURBQXVEO0lBRXZFLEtBQUssRUFBRSwrREFBK0Q7SUFFdEUsT0FBTyxFQUFFLHlDQUF5QztJQUVsRCxXQUFXLEVBQUUsY0FBYztJQUUzQixJQUFJLEVBQUUsbURBQW1EO0lBRXpELElBQUksRUFBRSw4Q0FBOEM7SUFFcEQsR0FBRyxFQUFFLG1GQUFtRjtJQUV4RixVQUFVLEVBQUUsSUFBSSxlQUFlLEVBQUU7Q0FDcEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRpdENhcmRSZWdleCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcmVnZXgnXHJcblxyXG5leHBvcnQgY29uc3QgUmVnRXhSdWxlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xyXG5cclxuICAgIGFscGhhOiAvXlthLXpBLVpdKyQvLFxyXG5cclxuICAgIGFscGhhV2l0aFNwYWNlOiAvXlthLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIG9ubHlEaWdpdDogL15bMC05XSskLyxcclxuXHJcbiAgICBpc0RpZ2l0RXhpdHM6IC9cXGQvZyxcclxuXHJcbiAgICBsb3dlckNhc2U6IC9bYS16XS9nLFxyXG5cclxuICAgIHVwcGVyQ2FzZTogL1tBLVpdL2csXHJcblxyXG4gICAgc3BlY2lhbENoYXJhY3RlcjogL1shQCMkJV4mKigpLC4/XCI6e318PD5dL2csXHJcblxyXG4gICAgYWR2YW5jZWRFbWFpbDogL15bYS16QS1aMC05LiEjJCUmJyorLz0/Xl9ge3x9fi1dK0BbYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8oPzpcXC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvLFxyXG5cclxuICAgIGJhc2ljRW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiwsOlxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG5cclxuICAgIGFscGhhTnVtZXJpYzogL15bMC05YS16QS1aXSskLyxcclxuICAgIFxyXG4gICAgYWxwaGFOdW1lcmljV2l0aFNwYWNlOiAvXlswLTlhLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIGhleENvbG9yOiAvIyhbYS1mMC05XXszfXxbYS1mMC05XXs0fSg/OlthLWYwLTldezJ9KXswLDJ9KVxcYi9naSxcclxuXHJcbiAgICBzdHJpY3RIZXhDb2xvcjogL14jKFthLWYwLTldezMsNH18W2EtZjAtOV17NH0oPzpbYS1mMC05XXsyfSl7MSwyfSlcXGIkL2ksXHJcblxyXG4gICAgZmxvYXQ6IC9eKD86Wy0rXT8oPzpbMC05XSspKT8oPzpcXC5bMC05XSopPyg/OltlRV1bXFwrXFwtXT8oPzpbMC05XSspKT8kLyxcclxuXHJcbiAgICBkZWNpbWFsOiAvXlstK10/KFswLTldK3xcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0rKSQvLFxyXG5cclxuICAgIGhleGFEZWNpbWFsOiAvXlswLTlBLUZdKyQvaSxcclxuXHJcbiAgICBkYXRlOiAvKFsxMl1cXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcZHwzWzAxXSkpLyxcclxuXHJcbiAgICB0aW1lOiAvKDAwfFswLTldfDFbMC05XXwyWzAtM10pOihbMC05XXxbMC01XVswLTldKSQvLFxyXG5cclxuICAgIHVybDogL15eKD86aHR0cChzKT86XFwvXFwvKT9bXFx3Li1dKyg/OlxcLltcXHdcXC4tXSspK1tcXHdcXC1cXC5ffjovPyNbXFxdQCFcXCQmJ1xcKFxcKVxcKlxcKyw7PS5dKyQvZ20sXHJcblxyXG4gICAgY3JlZGl0Q2FyZDogbmV3IENyZWRpdENhcmRSZWdleCgpLFxyXG59XHJcblxyXG5cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtcnVsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsidXRpbC9yZWdleC1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE1BQU0sQ0FBQyx1QkFBTSxTQUFTLEdBQTJCO0lBRTdDLEtBQUssRUFBRSxhQUFhO0lBRXBCLGNBQWMsRUFBRSxlQUFlO0lBRS9CLFNBQVMsRUFBRSxVQUFVO0lBRXJCLFlBQVksRUFBRSxLQUFLO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLGdCQUFnQixFQUFFLHlCQUF5QjtJQUUzQyxhQUFhLEVBQUUsc0lBQXNJO0lBRXJKLFVBQVUsRUFBRSx3SkFBd0o7SUFFcEssWUFBWSxFQUFFLGdCQUFnQjtJQUU5QixxQkFBcUIsRUFBRSxrQkFBa0I7SUFFekMsUUFBUSxFQUFFLG9EQUFvRDtJQUU5RCxjQUFjLEVBQUUsdURBQXVEO0lBRXZFLEtBQUssRUFBRSwrREFBK0Q7SUFFdEUsT0FBTyxFQUFFLHlDQUF5QztJQUVsRCxXQUFXLEVBQUUsY0FBYztJQUUzQixJQUFJLEVBQUUsc1VBQXNVO0lBRTVVLElBQUksRUFBRSw4Q0FBOEM7SUFFcEQsR0FBRyxFQUFFLG1GQUFtRjtJQUV4RixVQUFVLEVBQUUsSUFBSSxlQUFlLEVBQUU7Q0FDcEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRpdENhcmRSZWdleCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcmVnZXgnXHJcblxyXG5leHBvcnQgY29uc3QgUmVnRXhSdWxlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xyXG5cclxuICAgIGFscGhhOiAvXlthLXpBLVpdKyQvLFxyXG5cclxuICAgIGFscGhhV2l0aFNwYWNlOiAvXlthLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIG9ubHlEaWdpdDogL15bMC05XSskLyxcclxuXHJcbiAgICBpc0RpZ2l0RXhpdHM6IC9cXGQvZyxcclxuXHJcbiAgICBsb3dlckNhc2U6IC9bYS16XS9nLFxyXG5cclxuICAgIHVwcGVyQ2FzZTogL1tBLVpdL2csXHJcblxyXG4gICAgc3BlY2lhbENoYXJhY3RlcjogL1shQCMkJV4mKigpLC4/XCI6e318PD5dL2csXHJcblxyXG4gICAgYWR2YW5jZWRFbWFpbDogL15bYS16QS1aMC05LiEjJCUmJyorLz0/Xl9ge3x9fi1dK0BbYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8oPzpcXC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvLFxyXG5cclxuICAgIGJhc2ljRW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiwsOlxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG5cclxuICAgIGFscGhhTnVtZXJpYzogL15bMC05YS16QS1aXSskLyxcclxuICAgIFxyXG4gICAgYWxwaGFOdW1lcmljV2l0aFNwYWNlOiAvXlswLTlhLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIGhleENvbG9yOiAvIyhbYS1mMC05XXszfXxbYS1mMC05XXs0fSg/OlthLWYwLTldezJ9KXswLDJ9KVxcYi9naSxcclxuXHJcbiAgICBzdHJpY3RIZXhDb2xvcjogL14jKFthLWYwLTldezMsNH18W2EtZjAtOV17NH0oPzpbYS1mMC05XXsyfSl7MSwyfSlcXGIkL2ksXHJcblxyXG4gICAgZmxvYXQ6IC9eKD86Wy0rXT8oPzpbMC05XSspKT8oPzpcXC5bMC05XSopPyg/OltlRV1bXFwrXFwtXT8oPzpbMC05XSspKT8kLyxcclxuXHJcbiAgICBkZWNpbWFsOiAvXlstK10/KFswLTldK3xcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0rKSQvLFxyXG5cclxuICAgIGhleGFEZWNpbWFsOiAvXlswLTlBLUZdKyQvaSxcclxuXHJcbiAgICBkYXRlOiAvXig/Oig/OjMxKFxcL3wtfFxcLikoPzowP1sxMzU3OF18MVswMl0pKVxcMXwoPzooPzoyOXwzMCkoXFwvfC18XFwuKSg/OjA/WzEsMy05XXwxWzAtMl0pXFwyKSkoPzooPzoxWzYtOV18WzItOV1cXGQpP1xcZHsyfSkkfF4oPzoyOShcXC98LXxcXC4pMD8yXFwzKD86KD86KD86MVs2LTldfFsyLTldXFxkKT8oPzowWzQ4XXxbMjQ2OF1bMDQ4XXxbMTM1NzldWzI2XSl8KD86KD86MTZ8WzI0NjhdWzA0OF18WzM1NzldWzI2XSkwMCkpKSkkfF4oPzowP1sxLTldfDFcXGR8MlswLThdKShcXC98LXxcXC4pKD86KD86MD9bMS05XSl8KD86MVswLTJdKSlcXDQoPzooPzoxWzYtOV18WzItOV1cXGQpP1xcZHsyfSkkLyxcclxuXHJcbiAgICB0aW1lOiAvKDAwfFswLTldfDFbMC05XXwyWzAtM10pOihbMC05XXxbMC01XVswLTldKSQvLFxyXG5cclxuICAgIHVybDogL15eKD86aHR0cChzKT86XFwvXFwvKT9bXFx3Li1dKyg/OlxcLltcXHdcXC4tXSspK1tcXHdcXC1cXC5ffjovPyNbXFxdQCFcXCQmJ1xcKFxcKVxcKlxcKyw7PS5dKyQvZ20sXHJcblxyXG4gICAgY3JlZGl0Q2FyZDogbmV3IENyZWRpdENhcmRSZWdleCgpLFxyXG59XHJcblxyXG5cclxuIl19 |
@@ -36,3 +36,3 @@ /** | ||
static isNotBlank(value) { | ||
return value != undefined && value != "" && value != null && String(value).trim() != ""; | ||
return value != undefined && value != "" && value != null; | ||
} | ||
@@ -91,2 +91,2 @@ /** | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInV0aWwvcmVnZXgtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLHVCQUFNLFFBQVEsR0FBVyxVQUFVLENBQUM7QUFDcEMsdUJBQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQztBQUM5Qix1QkFBTSxRQUFRLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLHVCQUFNLFNBQVMsR0FBVyxXQUFXLENBQUM7QUFDdEMsdUJBQU0sU0FBUyxHQUFXLFdBQVcsQ0FBQztBQUN0Qyx1QkFBTSxpQkFBaUIsR0FBVyxrQkFBa0IsQ0FBQztBQUNyRCx1QkFBTSxVQUFVLEdBQVcsV0FBVyxDQUFDO0FBQ3ZDLHVCQUFNLFVBQVUsR0FBVyxXQUFXLENBQUM7QUFHdkMsTUFBTTs7Ozs7O0lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBYTtRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDckM7Ozs7OztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBVSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDNUI7Ozs7O0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFVO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQzNGOzs7Ozs7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLGtCQUFzQyxFQUFFLEtBQWE7UUFDeEUscUJBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixxQkFBSSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUN6QyxxQkFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLHFCQUFJLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ3JFLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsS0FBSyxRQUFRO29CQUNULE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLFVBQU8sQ0FBQztvQkFDekQsT0FBTyxHQUFHLFFBQVEsQ0FBQztvQkFDbkIsS0FBSyxDQUFDO2dCQUNWLEtBQUssS0FBSztvQkFDTixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxpQkFBYyxDQUFDO29CQUNoRSxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNoQixLQUFLLENBQUM7Z0JBQ1YsS0FBSyxRQUFRO29CQUNULE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQzVELE9BQU8sR0FBRyxRQUFRLENBQUM7b0JBQ25CLEtBQUssQ0FBQztnQkFDVixLQUFLLFNBQVM7b0JBQ1YsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsY0FBVyxDQUFDO29CQUM3RCxPQUFPLEdBQUcsU0FBUyxDQUFDO29CQUNwQixLQUFLLENBQUM7Z0JBQ1YsS0FBSyxTQUFTO29CQUNWLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLGNBQVcsQ0FBQztvQkFDN0QsT0FBTyxHQUFHLFNBQVMsQ0FBQztvQkFDcEIsS0FBSyxDQUFDO2dCQUNWLEtBQUssaUJBQWlCO29CQUNsQixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxxQkFBa0IsQ0FBQztvQkFDcEUsT0FBTyxHQUFHLGlCQUFpQixDQUFDO29CQUM1QixLQUFLLENBQUM7Z0JBQ1YsS0FBSyxVQUFVO29CQUNYLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMzRCxPQUFPLEdBQUcsVUFBVSxDQUFDO29CQUNyQixLQUFLLENBQUM7Z0JBQ1YsS0FBSyxVQUFVO29CQUNYLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMzRCxPQUFPLEdBQUcsVUFBVSxDQUFDO29CQUNyQixLQUFLLENBQUM7YUFDYjtZQUNELEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNULEtBQUssQ0FBQztTQUNiO1FBQ0QsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUE7S0FDaEQ7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvcGFzc3dvcmQtdmFsaWRhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi9yZWdleC1ydWxlc1wiO1xyXG5cclxuY29uc3QgQUxQSEFCRVQ6IHN0cmluZyA9IFwiYWxwaGFiZXRcIjtcclxuY29uc3QgRElHSVQ6IHN0cmluZyA9IFwiZGlnaXRcIjtcclxuY29uc3QgQ09OVEFJTlM6IHN0cmluZyA9IFwiY29udGFpbnNcIjtcclxuY29uc3QgTE9XRVJDQVNFOiBzdHJpbmcgPSBcImxvd2VyQ2FzZVwiO1xyXG5jb25zdCBVUFBFUkNBU0U6IHN0cmluZyA9IFwidXBwZXJDYXNlXCI7XHJcbmNvbnN0IFNQRUNJQUxfQ0hBUkFDVEVSOiBzdHJpbmcgPSBcInNwZWNpYWxDaGFyYWN0ZXJcIjtcclxuY29uc3QgTUlOX0xFTkdUSDogc3RyaW5nID0gXCJtaW5MZW5ndGhcIjtcclxuY29uc3QgTUFYX0xFTkdUSDogc3RyaW5nID0gXCJtYXhMZW5ndGhcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUmVnZXhWYWxpZGF0b3Ige1xyXG4gICAgc3RhdGljIGlzRXhpdHModmFsdWU6IGFueSwgcmVnZXg6IFJlZ0V4cCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5tYXRjaChyZWdleCkgIT0gbnVsbDtcclxuICAgIH1cclxuICAgIHN0YXRpYyBpc1ZhbGlkKHZhbHVlOiBhbnksIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzTm90QmxhbmsodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSAhPSB1bmRlZmluZWQgJiYgdmFsdWUgIT0gXCJcIiAmJiB2YWx1ZSAhPSBudWxsICYmIFN0cmluZyh2YWx1ZSkudHJpbSgpICE9IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWRQYXNzd29yZChwYXNzd29yZFZhbGlkYXRpb246IFBhc3N3b3JkVmFsaWRhdGlvbiwgdmFsdWU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgICAgICBsZXQga2V5TmFtZSA9IFwic3RhdHVzXCI7XHJcbiAgICAgICAgbGV0IG9iamVjdFByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwYXNzd29yZFZhbGlkYXRpb24pXHJcbiAgICAgICAgZm9yIChsZXQgcHJvcGVydHlOYW1lIG9mIG9iamVjdFByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQUxQSEFCRVQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IFJlZ2V4VmFsaWRhdG9yLmlzRXhpdHModmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IEFMUEhBQkVUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBESUdJVDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmlzRGlnaXRFeGl0cyk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IERJR0lUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDT05UQUlOUzpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUuaW5kZXhPZihwYXNzd29yZFZhbGlkYXRpb25bQ09OVEFJTlNdKSAhPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gQ09OVEFJTlM7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IExPV0VSQ0FTRTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKHZhbHVlLCBSZWdFeFJ1bGUudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gVVBQRVJDQVNFO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBTUEVDSUFMX0NIQVJBQ1RFUjpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNFeGl0cyh2YWx1ZSwgUmVnRXhSdWxlLnNwZWNpYWxDaGFyYWN0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBTUEVDSUFMX0NIQVJBQ1RFUjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgTUlOX0xFTkdUSDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUubGVuZ3RoID49IHBhc3N3b3JkVmFsaWRhdGlvbltwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBNSU5fTEVOR1RIO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBNQVhfTEVOR1RIOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWx1ZS5sZW5ndGggPD0gcGFzc3dvcmRWYWxpZGF0aW9uW3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IE1BWF9MRU5HVEg7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IGlzVmFsaWQ6IGlzVmFsaWQsIGtleU5hbWU6IGtleU5hbWUgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInV0aWwvcmVnZXgtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLHVCQUFNLFFBQVEsR0FBVyxVQUFVLENBQUM7QUFDcEMsdUJBQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQztBQUM5Qix1QkFBTSxRQUFRLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLHVCQUFNLFNBQVMsR0FBVyxXQUFXLENBQUM7QUFDdEMsdUJBQU0sU0FBUyxHQUFXLFdBQVcsQ0FBQztBQUN0Qyx1QkFBTSxpQkFBaUIsR0FBVyxrQkFBa0IsQ0FBQztBQUNyRCx1QkFBTSxVQUFVLEdBQVcsV0FBVyxDQUFDO0FBQ3ZDLHVCQUFNLFVBQVUsR0FBVyxXQUFXLENBQUM7QUFHdkMsTUFBTTs7Ozs7O0lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBYTtRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDckM7Ozs7OztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBVSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDNUI7Ozs7O0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFVO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxJQUFJLElBQUksQ0FBRTtLQUM5RDs7Ozs7O0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxrQkFBc0MsRUFBRSxLQUFhO1FBQ3hFLHFCQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIscUJBQUksT0FBTyxHQUEyQixFQUFFLENBQUM7UUFDekMscUJBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN2QixxQkFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNyRSxHQUFHLENBQUMsQ0FBQyxxQkFBSSxZQUFZLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLEtBQUssUUFBUTtvQkFDVCxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxVQUFPLENBQUM7b0JBQ3pELE9BQU8sR0FBRyxRQUFRLENBQUM7b0JBQ25CLEtBQUssQ0FBQztnQkFDVixLQUFLLEtBQUs7b0JBQ04sT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsaUJBQWMsQ0FBQztvQkFDaEUsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDaEIsS0FBSyxDQUFDO2dCQUNWLEtBQUssUUFBUTtvQkFDVCxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUM1RCxPQUFPLEdBQUcsUUFBUSxDQUFDO29CQUNuQixLQUFLLENBQUM7Z0JBQ1YsS0FBSyxTQUFTO29CQUNWLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLGNBQVcsQ0FBQztvQkFDN0QsT0FBTyxHQUFHLFNBQVMsQ0FBQztvQkFDcEIsS0FBSyxDQUFDO2dCQUNWLEtBQUssU0FBUztvQkFDVixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxjQUFXLENBQUM7b0JBQzdELE9BQU8sR0FBRyxTQUFTLENBQUM7b0JBQ3BCLEtBQUssQ0FBQztnQkFDVixLQUFLLGlCQUFpQjtvQkFDbEIsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMscUJBQWtCLENBQUM7b0JBQ3BFLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztvQkFDNUIsS0FBSyxDQUFDO2dCQUNWLEtBQUssVUFBVTtvQkFDWCxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDM0QsT0FBTyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsS0FBSyxDQUFDO2dCQUNWLEtBQUssVUFBVTtvQkFDWCxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDM0QsT0FBTyxHQUFHLFVBQVUsQ0FBQztvQkFDckIsS0FBSyxDQUFDO2FBQ2I7WUFDRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDVCxLQUFLLENBQUM7U0FDYjtRQUNELE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBO0tBQ2hEO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3Bhc3N3b3JkLXZhbGlkYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4vcmVnZXgtcnVsZXNcIjtcclxuXHJcbmNvbnN0IEFMUEhBQkVUOiBzdHJpbmcgPSBcImFscGhhYmV0XCI7XHJcbmNvbnN0IERJR0lUOiBzdHJpbmcgPSBcImRpZ2l0XCI7XHJcbmNvbnN0IENPTlRBSU5TOiBzdHJpbmcgPSBcImNvbnRhaW5zXCI7XHJcbmNvbnN0IExPV0VSQ0FTRTogc3RyaW5nID0gXCJsb3dlckNhc2VcIjtcclxuY29uc3QgVVBQRVJDQVNFOiBzdHJpbmcgPSBcInVwcGVyQ2FzZVwiO1xyXG5jb25zdCBTUEVDSUFMX0NIQVJBQ1RFUjogc3RyaW5nID0gXCJzcGVjaWFsQ2hhcmFjdGVyXCI7XHJcbmNvbnN0IE1JTl9MRU5HVEg6IHN0cmluZyA9IFwibWluTGVuZ3RoXCI7XHJcbmNvbnN0IE1BWF9MRU5HVEg6IHN0cmluZyA9IFwibWF4TGVuZ3RoXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlZ2V4VmFsaWRhdG9yIHtcclxuICAgIHN0YXRpYyBpc0V4aXRzKHZhbHVlOiBhbnksIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUubWF0Y2gocmVnZXgpICE9IG51bGw7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgaXNWYWxpZCh2YWx1ZTogYW55LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc05vdEJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgIT0gdW5kZWZpbmVkICYmIHZhbHVlICE9IFwiXCIgJiYgdmFsdWUgIT0gbnVsbCA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWRQYXNzd29yZChwYXNzd29yZFZhbGlkYXRpb246IFBhc3N3b3JkVmFsaWRhdGlvbiwgdmFsdWU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgICAgICBsZXQga2V5TmFtZSA9IFwic3RhdHVzXCI7XHJcbiAgICAgICAgbGV0IG9iamVjdFByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwYXNzd29yZFZhbGlkYXRpb24pXHJcbiAgICAgICAgZm9yIChsZXQgcHJvcGVydHlOYW1lIG9mIG9iamVjdFByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQUxQSEFCRVQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IFJlZ2V4VmFsaWRhdG9yLmlzRXhpdHModmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IEFMUEhBQkVUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBESUdJVDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmlzRGlnaXRFeGl0cyk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IERJR0lUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDT05UQUlOUzpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUuaW5kZXhPZihwYXNzd29yZFZhbGlkYXRpb25bQ09OVEFJTlNdKSAhPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gQ09OVEFJTlM7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IExPV0VSQ0FTRTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKHZhbHVlLCBSZWdFeFJ1bGUudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gVVBQRVJDQVNFO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBTUEVDSUFMX0NIQVJBQ1RFUjpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNFeGl0cyh2YWx1ZSwgUmVnRXhSdWxlLnNwZWNpYWxDaGFyYWN0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBTUEVDSUFMX0NIQVJBQ1RFUjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgTUlOX0xFTkdUSDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUubGVuZ3RoID49IHBhc3N3b3JkVmFsaWRhdGlvbltwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBNSU5fTEVOR1RIO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBNQVhfTEVOR1RIOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWx1ZS5sZW5ndGggPD0gcGFzc3dvcmRWYWxpZGF0aW9uW3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IE1BWF9MRU5HVEg7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IGlzVmFsaWQ6IGlzVmFsaWQsIGtleU5hbWU6IGtleU5hbWUgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -18,3 +18,2 @@ /** | ||
return function (control) { | ||
debugger; | ||
var /** @type {?} */ controlValue = control.value; | ||
@@ -39,2 +38,2 @@ var /** @type {?} */ formGroupValue = ApplicationUtil.getParentObjectValue(control); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9hbHBoYS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0seUJBQXlCLE1BQW1CLEVBQUUsMEJBQW1DO0lBQ25GLE1BQU0sQ0FBQyxVQUFDLE9BQXdCO1FBQzVCLFFBQVEsQ0FBQztRQUNULHFCQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLHFCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQscUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLHFCQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztvQkFDeEIsVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsVUFBTyxDQUFDO2dCQUN2RSxJQUFJO29CQUNBLFVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLG1CQUFnQixDQUFDO2dCQUNoRixFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztvQkFDWixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLFdBQVEsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQ2hHO1NBQ0o7UUFBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQy9CLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC12YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtcnVsZXNcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCJcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgQWxwaGFDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9hbHBoYS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFscGhhVmFsaWRhdG9yKGNvbmZpZzogQWxwaGFDb25maWcsIGNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzOnN0cmluZ1tdKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGNvbmZpZyA9IEFwcGxpY2F0aW9uVXRpbC5nZXRDb25maWdPYmplY3QoY29uZmlnKTtcclxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3QgPSAoY29udHJvbC5wYXJlbnQpID8gY29udHJvbC5wYXJlbnQudmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKExpbnEuSXNQYXNzZWQoZm9ybUdyb3VwVmFsdWUsIGNvbmZpZy5jb25kaXRpb25hbEV4cHJlc3Npb25zLCBwYXJlbnRPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5hbGxvd1doaXRlU3BhY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQoY29udHJvbFZhbHVlLCBSZWdFeFJ1bGUuYWxwaGEpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2xWYWx1ZSwgUmVnRXhSdWxlLmFscGhhV2l0aFNwYWNlKTtcclxuICAgICAgICAgICAgICAgIGlmICghdGVzdFJlc3VsdClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5hbHBoYSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2xWYWx1ZV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInJlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9hbHBoYS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0seUJBQXlCLE1BQW1CLEVBQUUsMEJBQW1DO0lBQ25GLE1BQU0sQ0FBQyxVQUFDLE9BQXdCO1FBQzVCLHFCQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ25DLHFCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQscUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLHFCQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztvQkFDeEIsVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsVUFBTyxDQUFDO2dCQUN2RSxJQUFJO29CQUNBLFVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLG1CQUFnQixDQUFDO2dCQUNoRixFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztvQkFDWixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLFdBQVEsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQ2hHO1NBQ0o7UUFBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQy9CLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC12YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtcnVsZXNcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCJcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgQWxwaGFDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9hbHBoYS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFscGhhVmFsaWRhdG9yKGNvbmZpZzogQWxwaGFDb25maWcsIGNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzOnN0cmluZ1tdKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGNvbmZpZyA9IEFwcGxpY2F0aW9uVXRpbC5nZXRDb25maWdPYmplY3QoY29uZmlnKTtcclxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3QgPSAoY29udHJvbC5wYXJlbnQpID8gY29udHJvbC5wYXJlbnQudmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKExpbnEuSXNQYXNzZWQoZm9ybUdyb3VwVmFsdWUsIGNvbmZpZy5jb25kaXRpb25hbEV4cHJlc3Npb25zLCBwYXJlbnRPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5hbGxvd1doaXRlU3BhY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IFJlZ2V4VmFsaWRhdG9yLmlzVmFsaWQoY29udHJvbFZhbHVlLCBSZWdFeFJ1bGUuYWxwaGEpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2xWYWx1ZSwgUmVnRXhSdWxlLmFscGhhV2l0aFNwYWNlKTtcclxuICAgICAgICAgICAgICAgIGlmICghdGVzdFJlc3VsdClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5hbHBoYSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2xWYWx1ZV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -23,5 +23,6 @@ /** | ||
if (RegexValidator.isNotBlank(controlValue)) { | ||
if (controlValue instanceof Date || RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
if (RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
var /** @type {?} */ maxDate = config.value; | ||
if (!(controlValue <= maxDate)) | ||
var /** @type {?} */ currentValueDate = new Date(controlValue); | ||
if (!(function (maxDate) { return controlValue; })) | ||
return ObjectMaker.toJson(AnnotationTypes["maxDate"], config.message || null, [control.value]); | ||
@@ -37,2 +38,2 @@ } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4RGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21heERhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFpQjtJQUM5QyxNQUFNLENBQUMsVUFBQyxPQUF3QjtRQUM1QixxQkFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxxQkFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELHFCQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6RSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxFQUFFLENBQUMsQ0FBQyxZQUFZLFlBQVksSUFBSSxJQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsU0FBTSxDQUFDLENBQUMsQ0FBQztvQkFDdEYscUJBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7b0JBQzNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLENBQUM7d0JBQzNCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsYUFBVSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2lCQUNsRztnQkFBQyxJQUFJO29CQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsYUFBVSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2FBRWxHO1NBQ0o7UUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzdCLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBEYXRlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvZGF0ZS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvaW5kZXhcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXhEYXRlVmFsaWRhdG9yKGNvbmZpZzpEYXRlQ29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICAgIGNvbmZpZyA9IEFwcGxpY2F0aW9uVXRpbC5nZXRDb25maWdPYmplY3QoY29uZmlnKTtcclxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3QgPSAoY29udHJvbC5wYXJlbnQpID8gY29udHJvbC5wYXJlbnQudmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKExpbnEuSXNQYXNzZWQoZm9ybUdyb3VwVmFsdWUsIGNvbmZpZy5jb25kaXRpb25hbEV4cHJlc3Npb25zLCBwYXJlbnRPYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb250cm9sVmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8UmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5kYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXhEYXRlID0gY29uZmlnLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKGNvbnRyb2xWYWx1ZSA8PSBtYXhEYXRlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWF4RGF0ZSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2wudmFsdWVdKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWF4RGF0ZSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2wudmFsdWVdKVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4RGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21heERhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFpQjtJQUM5QyxNQUFNLENBQUMsVUFBQyxPQUF3QjtRQUM1QixxQkFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxxQkFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELHFCQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6RSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLFNBQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELHFCQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO29CQUMzQixxQkFBSSxnQkFBZ0IsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDOUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsWUFBWSxFQUFaLENBQVksQ0FBQyxDQUFDO3dCQUMzQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLGFBQVUsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtpQkFDbEc7Z0JBQUMsSUFBSTtvQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLGFBQVUsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTthQUVsRztTQUNKO1FBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUM3QixDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgVmFsaWRhdG9yRm4sXHJcbiAgICBBYnN0cmFjdENvbnRyb2xcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC12YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgRGF0ZUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2RhdGUtY29uZmlnXCI7XHJcbmltcG9ydCB7IExpbnEgfSBmcm9tIFwiLi4vdXRpbC9saW5xXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gXCIuLi91dGlsL2FwcC11dGlsXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IERlY29yYXRvck5hbWUgfSBmcm9tIFwiLi4vdXRpbC9kZWNvcmF0b3ItbmFtZVwiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IFJlZ0V4UnVsZSB9IGZyb20gXCIuLi91dGlsL2luZGV4XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWF4RGF0ZVZhbGlkYXRvcihjb25maWc6RGF0ZUNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgICBjb25zdCBmb3JtR3JvdXBWYWx1ZSA9IEFwcGxpY2F0aW9uVXRpbC5nZXRQYXJlbnRPYmplY3RWYWx1ZShjb250cm9sKTtcclxuICAgICAgICBjb25maWcgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZyk7XHJcbiAgICAgICAgY29uc3QgcGFyZW50T2JqZWN0ID0gKGNvbnRyb2wucGFyZW50KSA/IGNvbnRyb2wucGFyZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChMaW5xLklzUGFzc2VkKGZvcm1Hcm91cFZhbHVlLCBjb25maWcuY29uZGl0aW9uYWxFeHByZXNzaW9ucywgcGFyZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5kYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXhEYXRlID0gY29uZmlnLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50VmFsdWVEYXRlID0gbmV3IERhdGUoY29udHJvbFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIShtYXhEYXRlID0+IGNvbnRyb2xWYWx1ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLm1heERhdGUsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sLnZhbHVlXSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLm1heERhdGUsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sLnZhbHVlXSlcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19 |
@@ -17,3 +17,3 @@ /** | ||
return function (control) { | ||
var /** @type {?} */ controlValue = new Date(control.value); | ||
var /** @type {?} */ controlValue = control.value; | ||
var /** @type {?} */ formGroupValue = ApplicationUtil.getParentObjectValue(control); | ||
@@ -24,10 +24,11 @@ config = ApplicationUtil.getConfigObject(config); | ||
if (RegexValidator.isNotBlank(controlValue)) { | ||
if (controlValue instanceof Date || RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
if (RegexValidator.isValid(controlValue, RegExRule["date"])) { | ||
var /** @type {?} */ minDate = new Date(config.value); | ||
if (!(controlValue >= minDate)) | ||
var /** @type {?} */ currentControlValue = new Date(controlValue); | ||
if (!(currentControlValue >= minDate)) | ||
return ObjectMaker.toJson(AnnotationTypes["minDate"], config.message || null, [control.value]); | ||
} | ||
else | ||
return ObjectMaker.toJson(AnnotationTypes["minDate"], config.message || null, [control.value]); | ||
} | ||
else | ||
return ObjectMaker.toJson(AnnotationTypes["maxDate"], config.message || null, [control.value]); | ||
} | ||
@@ -38,2 +39,2 @@ return ObjectMaker.null(); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluRGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21pbkRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBQyxPQUF3QjtRQUM1QixxQkFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLHFCQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQscUJBQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksWUFBWSxJQUFJLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxTQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN2RixxQkFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNyQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDO3dCQUMzQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLGFBQVUsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtpQkFDbEc7YUFDSjtZQUFDLElBQUk7Z0JBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxhQUFVLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7U0FDbEc7UUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzdCLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBEYXRlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvZGF0ZS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvaW5kZXhcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtaW5EYXRlVmFsaWRhdG9yKGNvbmZpZzogRGF0ZUNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgZm9ybUdyb3VwVmFsdWUgPSBBcHBsaWNhdGlvblV0aWwuZ2V0UGFyZW50T2JqZWN0VmFsdWUoY29udHJvbCk7XHJcbiAgICAgICAgY29uZmlnID0gQXBwbGljYXRpb25VdGlsLmdldENvbmZpZ09iamVjdChjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudE9iamVjdCA9IChjb250cm9sLnBhcmVudCkgPyBjb250cm9sLnBhcmVudC52YWx1ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoTGlucS5Jc1Bhc3NlZChmb3JtR3JvdXBWYWx1ZSwgY29uZmlnLmNvbmRpdGlvbmFsRXhwcmVzc2lvbnMsIHBhcmVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbFZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2xWYWx1ZSBpbnN0YW5jZW9mIERhdGUgfHwgUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5kYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBtaW5EYXRlID0gbmV3IERhdGUoY29uZmlnLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIShjb250cm9sVmFsdWUgPj0gbWluRGF0ZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLm1pbkRhdGUsIGNvbmZpZy5tZXNzYWdlIHx8IG51bGwsIFtjb250cm9sLnZhbHVlXSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5tYXhEYXRlLCBjb25maWcubWVzc2FnZSB8fCBudWxsLCBbY29udHJvbC52YWx1ZV0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluRGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsicmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL21pbkRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUxQyxNQUFNLDJCQUEyQixNQUFrQjtJQUMvQyxNQUFNLENBQUMsVUFBQyxPQUF3QjtRQUM1QixxQkFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxxQkFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELHFCQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6RSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLFNBQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELHFCQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3JDLHFCQUFJLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNqRCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDLENBQUM7d0JBQ2xDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsYUFBVSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2lCQUNsRztnQkFBQyxJQUFJO29CQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsYUFBVSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO2FBQ2xHO1NBQ0o7UUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzdCLENBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBWYWxpZGF0b3JGbixcclxuICAgIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgeyBEYXRlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvZGF0ZS1jb25maWdcIjtcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgRGVjb3JhdG9yTmFtZSB9IGZyb20gXCIuLi91dGlsL2RlY29yYXRvci1uYW1lXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvaW5kZXhcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtaW5EYXRlVmFsaWRhdG9yKGNvbmZpZzogRGF0ZUNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgICBjb25zdCBmb3JtR3JvdXBWYWx1ZSA9IEFwcGxpY2F0aW9uVXRpbC5nZXRQYXJlbnRPYmplY3RWYWx1ZShjb250cm9sKTtcclxuICAgICAgICBjb25maWcgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZyk7XHJcbiAgICAgICAgY29uc3QgcGFyZW50T2JqZWN0ID0gKGNvbnRyb2wucGFyZW50KSA/IGNvbnRyb2wucGFyZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChMaW5xLklzUGFzc2VkKGZvcm1Hcm91cFZhbHVlLCBjb25maWcuY29uZGl0aW9uYWxFeHByZXNzaW9ucywgcGFyZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5kYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBtaW5EYXRlID0gbmV3IERhdGUoY29uZmlnLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudENvbnRyb2xWYWx1ZSA9IG5ldyBEYXRlKGNvbnRyb2xWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoY3VycmVudENvbnRyb2xWYWx1ZSA+PSBtaW5EYXRlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWluRGF0ZSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2wudmFsdWVdKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMubWluRGF0ZSwgY29uZmlnLm1lc3NhZ2UgfHwgbnVsbCwgW2NvbnRyb2wudmFsdWVdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgICB9XHJcbn1cclxuIl19 |
@@ -255,23 +255,24 @@ /** | ||
case ARRAY_PROPERTY: | ||
if (entityObject[property.name] && entityObject[property.name] instanceof Array) | ||
if (entityObject[property.name] && entityObject[property.name] instanceof Array) { | ||
var /** @type {?} */ formArrayGroup = []; | ||
var /** @type {?} */ index_1 = 0; | ||
try { | ||
for (var _a = tslib_1.__values(entityObject[property.name]), _b = _a.next(); !_b.done; _b = _a.next()) { | ||
var subObject = _b.value; | ||
if (instanceContainer && instanceContainer.conditionalObjectProps) | ||
_this.conditionalObjectProps = instanceContainer.conditionalObjectProps["filter"](function (t) { return t.objectPropName == property.name && t.arrayIndex == index_1; }); | ||
formArrayGroup.push(_this.formGroup(property.entity, subObject, formBuilderConfiguration)); | ||
index_1++; | ||
_this.conditionalObjectProps = []; | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
var /** @type {?} */ index_1 = 0; | ||
try { | ||
if (_b && !_b.done && (_c = _a.return)) _c.call(_a); | ||
for (var _a = tslib_1.__values(entityObject[property.name]), _b = _a.next(); !_b.done; _b = _a.next()) { | ||
var subObject = _b.value; | ||
if (instanceContainer && instanceContainer.conditionalObjectProps) | ||
_this.conditionalObjectProps = instanceContainer.conditionalObjectProps["filter"](function (t) { return t.objectPropName == property.name && t.arrayIndex == index_1; }); | ||
formArrayGroup.push(_this.formGroup(property.entity, subObject, formBuilderConfiguration)); | ||
index_1++; | ||
_this.conditionalObjectProps = []; | ||
} | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_b && !_b.done && (_c = _a.return)) _c.call(_a); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
formGroupObject[property.name] = _this.formBuilder.array(formArrayGroup); | ||
} | ||
formGroupObject[property.name] = _this.formBuilder.array(formArrayGroup); | ||
break; | ||
@@ -303,2 +304,2 @@ } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3J4LWZvcm0tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVuRSxPQUFPLEVBQ0gscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFDOUcsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQ2pILGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQ3hGLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUNyRywyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFDakcsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUd0RyxxQkFBTSxjQUFjLEdBQWdDO0lBQ2hELGNBQWMsRUFBRSxxQkFBcUI7SUFDckMsT0FBTyxFQUFFLGNBQWM7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LENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQzt3QkFDeEUsS0FBSyxDQUFDO2lCQUNiO2FBQ0o7O1NBRUosQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ2xEOztnQkF0SkosVUFBVTs7OztnQkFuREYsV0FBVzs7d0JBRHBCOztTQXFEYSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiXHJcbmltcG9ydCB7IFR5cGUsIERlY29yYXRvck5hbWUgfSBmcm9tIFwiLi4vdXRpbFwiXHJcbmltcG9ydCB7XHJcbiAgICBhbHBoYU51bWVyaWNWYWxpZGF0b3IsIGFscGhhVmFsaWRhdG9yLCBjb21wYXJlVmFsaWRhdG9yLCBlbWFpbFZhbGlkYXRvciwgaGV4Q29sb3JWYWxpZGF0b3IsIGxvd2VyY2FzZVZhbGlkYXRvcixcclxuICAgIG1heERhdGVWYWxpZGF0b3IsIG1heE51bWJlclZhbGlkYXRvciwgbWluRGF0ZVZhbGlkYXRvciwgbWluTnVtYmVyVmFsaWRhdG9yLCBjb250YWluc1ZhbGlkYXRvciwgdXBwZXJjYXNlVmFsaWRhdG9yLFxyXG4gICAgcmFuZ2VWYWxpZGF0b3IsIHBhdHRlcm5WYWxpZGF0b3IsIHJlcXVpcmVkVmFsaWRhdG9yLCBjcmVkaXRDYXJkVmFsaWRhdG9yLCBkaWdpdFZhbGlkYXRvcixcclxuICAgIG1heExlbmd0aFZhbGlkYXRvciwgbWluTGVuZ3RoVmFsaWRhdG9yLCBwYXNzd29yZFZhbGlkYXRvciwgdGltZVZhbGlkYXRvciwgdXJsVmFsaWRhdG9yLCBqc29uVmFsaWRhdG9yLFxyXG4gICAgZ3JlYXRlclRoYW5FcXVhbFRvVmFsaWRhdG9yLCBncmVhdGVyVGhhblZhbGlkYXRvciwgbGVzc1RoYW5FcXVhbFRvVmFsaWRhdG9yLCBsZXNzVGhhblZhbGlkYXRvclxyXG59IGZyb20gJy4uL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBkZWZhdWx0Q29udGFpbmVyIH0gZnJvbSAnLi4vY29yZS9kZWZhdWx0Q29udGFpbmVyJztcclxuaW1wb3J0IHsgRGVjb3JhdG9yQ29uZmlndXJhdGlvbiwgSW5zdGFuY2VDb250YWluZXIsIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL2NvcmUvdmFsaWRhdG9yLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9tb2RlbHNcIlxyXG5pbXBvcnQgeyBBUlJBWV9QUk9QRVJUWSwgT0JKRUNUX1BST1BFUlRZLCBQUk9QRVJUWSB9IGZyb20gXCIuLi9jb25zdFwiXHJcbmltcG9ydCB7IFByb3BWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9wcm9wLXZhbGlkYXRpb24tY29uZmlnXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IgfSBmcm9tIFwiLi4vcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2NvbmRpdGlvbmFsLWNoYW5nZS52YWxpZGF0b3JcIjtcclxuXHJcblxyXG5jb25zdCBBUFBfVkFMSURBVE9SUzogeyBba2V5OiBzdHJpbmddOiBGdW5jdGlvbiB9ID0ge1xyXG4gICAgXCJhbHBoYU51bWVyaWNcIjogYWxwaGFOdW1lcmljVmFsaWRhdG9yLFxyXG4gICAgXCJhbHBoYVwiOiBhbHBoYVZhbGlkYXRvcixcclxuICAgIFwiY29tcGFyZVwiOiBjb21wYXJlVmFsaWRhdG9yLFxyXG4gICAgXCJlbWFpbFwiOiBlbWFpbFZhbGlkYXRvcixcclxuICAgIFwiaGV4Q29sb3JcIjogaGV4Q29sb3JWYWxpZGF0b3IsXHJcbiAgICBcImxvd2VyQ2FzZVwiOiBsb3dlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBcIm1heERhdGVcIjogbWF4RGF0ZVZhbGlkYXRvcixcclxuICAgIFwibWF4TnVtYmVyXCI6IG1heE51bWJlclZhbGlkYXRvcixcclxuICAgIFwibWluRGF0ZVwiOiBtaW5EYXRlVmFsaWRhdG9yLFxyXG4gICAgXCJtaW5OdW1iZXJcIjogbWluTnVtYmVyVmFsaWRhdG9yLFxyXG4gICAgXCJjb250YWluc1wiOiBjb250YWluc1ZhbGlkYXRvcixcclxuICAgIFwidXBwZXJDYXNlXCI6IHVwcGVyY2FzZVZhbGlkYXRvcixcclxuICAgIFwibWF4TGVuZ3RoXCI6IG1heExlbmd0aFZhbGlkYXRvcixcclxuICAgIFwibWluTGVuZ3RoXCI6IG1pbkxlbmd0aFZhbGlkYXRvcixcclxuICAgIFwicGFzc3dvcmRcIjogcGFzc3dvcmRWYWxpZGF0b3IsXHJcbiAgICBcInJhbmdlXCI6IHJhbmdlVmFsaWRhdG9yLFxyXG4gICAgXCJyZXF1aXJlZFwiOiByZXF1aXJlZFZhbGlkYXRvcixcclxuICAgIFwiY3JlZGl0Q2FyZFwiOiBjcmVkaXRDYXJkVmFsaWRhdG9yLFxyXG4gICAgXCJkaWdpdFwiOiBkaWdpdFZhbGlkYXRvcixcclxuICAgIFwicGF0dGVyblwiOiBwYXR0ZXJuVmFsaWRhdG9yLFxyXG4gICAgXCJ0aW1lXCI6IHRpbWVWYWxpZGF0b3IsXHJcbiAgICBcInVybFwiOiB1cmxWYWxpZGF0b3IsXHJcbiAgICBcImpzb25cIjoganNvblZhbGlkYXRvcixcclxuICAgIFwiZ3JlYXRlclRoYW5cIjogZ3JlYXRlclRoYW5WYWxpZGF0b3IsXHJcbiAgICBcImdyZWF0ZXJUaGFuRXF1YWxUb1wiOiBncmVhdGVyVGhhbkVxdWFsVG9WYWxpZGF0b3IsXHJcbiAgICBcImxlc3NUaGFuXCI6IGxlc3NUaGFuVmFsaWRhdG9yLFxyXG4gICAgXCJsZXNzVGhhbkVxdWFsVG9cIjogbGVzc1RoYW5FcXVhbFRvVmFsaWRhdG9yXHJcbn1cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUnhGb3JtQnVpbGRlciB7XHJcbiAgICBwcml2YXRlIG5lc3RlZFByb3A6IHN0cmluZztcclxuICAgIHByaXZhdGUgY29uZGl0aW9uYWxPYmplY3RQcm9wczogYW55W10gPSBbXTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldEluc3RhbmNlQ29udGFpbmVyKGluc3RhbmNlRnVuYzogYW55KTogSW5zdGFuY2VDb250YWluZXIge1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0Q29udGFpbmVyLmdldChpbnN0YW5jZUZ1bmMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VmFsdWUoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIG9iamVjdDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgZm9yICh2YXIgY29sIGluIG9iamVjdCkge1xyXG4gICAgICAgICAgICB2YXIgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoW2NvbF0pO1xyXG4gICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKG9iamVjdFtjb2xdKTtcclxuICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkRm9ybUNvbnRyb2wocHJvcGVydHk6IFByb3BlcnR5SW5mbywgcHJvcGVydHlWYWxpZGF0b3JzOiBEZWNvcmF0b3JDb25maWd1cmF0aW9uW10sIHByb3BWYWxpZGF0aW9uQ29uZmlnOiBQcm9wVmFsaWRhdGlvbkNvbmZpZywgaW5zdGFuY2U6IEluc3RhbmNlQ29udGFpbmVyKSB7XHJcbiAgICAgICAgbGV0IHZhbGlkYXRvcnMgPSBbXTtcclxuICAgICAgICBsZXQgY29sdW1ucyA9IFtdO1xyXG4gICAgICAgIGlmIChpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcyAmJiBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1twcm9wZXJ0eS5uYW1lXSkge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNbcHJvcGVydHkubmFtZV0pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGxldCBwcm9wQ29uZGl0aW9ucyA9IHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0LnByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUpO1xyXG4gICAgICAgICAgICBwcm9wQ29uZGl0aW9ucy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHQucmVmZXJlbmNlUHJvcE5hbWUgJiYgY29sdW1ucy5pbmRleE9mKHQucmVmZXJlbmNlUHJvcE5hbWUpID09IC0xKVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaCh0LnJlZmVyZW5jZVByb3BOYW1lKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChjb25kaXRpb25hbENoYW5nZVZhbGlkYXRvcihjb2x1bW5zKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IHByb3BlcnR5VmFsaWRhdG9yIG9mIHByb3BlcnR5VmFsaWRhdG9ycykge1xyXG5cclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKEFQUF9WQUxJREFUT1JTW3Byb3BlcnR5VmFsaWRhdG9yLmFubm90YXRpb25UeXBlXShwcm9wZXJ0eVZhbGlkYXRvci5jb25maWcsICkpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wVmFsaWRhdGlvbkNvbmZpZylcclxuICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsVmFsaWRhdGlvbih2YWxpZGF0b3JzLCBwcm9wVmFsaWRhdGlvbkNvbmZpZyk7XHJcblxyXG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkaXRpb25hbFZhbGlkYXRpb24odmFsaWRhdGlvbnM6IGFueVtdLCBwcm9wVmFsaWRhdGlvbkNvbmZpZzogUHJvcFZhbGlkYXRpb25Db25maWcpIHtcclxuICAgICAgICBmb3IgKHZhciBjb2wgaW4gQW5ub3RhdGlvblR5cGVzKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0gJiYgY29sICE9IFwiY3VzdG9tXCIpIHtcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zLnB1c2goQVBQX1ZBTElEQVRPUlNbQW5ub3RhdGlvblR5cGVzW2NvbF1dKHByb3BWYWxpZGF0aW9uQ29uZmlnW0Fubm90YXRpb25UeXBlc1tjb2xdXSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbCA9PSBBbm5vdGF0aW9uVHlwZXMuY3VzdG9tICYmIHByb3BWYWxpZGF0aW9uQ29uZmlnW0Fubm90YXRpb25UeXBlc1tjb2xdXSlcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zLnB1c2gocHJvcFZhbGlkYXRpb25Db25maWdbY29sXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrT2JqZWN0UHJvcEFkZGl0aW9uYWxWYWxpZGF0aW9uPFQ+KGluc3RhbmNlQ29udGFpbmVyOiBJbnN0YW5jZUNvbnRhaW5lciwgb2JqZWN0OiBUKSB7XHJcbiAgICAgICAgdmFyIHByb3BzID0gaW5zdGFuY2VDb250YWluZXIucHJvcGVydGllcy5maWx0ZXIodCA9PiB0LnByb3BlcnR5VHlwZSA9PSBPQkpFQ1RfUFJPUEVSVFkgfHwgdC5wcm9wZXJ0eVR5cGUgPT0gQVJSQVlfUFJPUEVSVFkpXHJcbiAgICAgICAgcHJvcHMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlID0gdGhpcy5nZXRJbnN0YW5jZUNvbnRhaW5lcih0LmVudGl0eSk7XHJcbiAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcykge1xyXG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByb3AgPSBpbnN0YW5jZS5wcm9wZXJ0aWVzLmZpbHRlcih0ID0+IHQubmFtZSA9PSBrZXkpWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvcClcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcCA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXMuZmlsdGVyKHQgPT4gdC5uYW1lID09IGtleSlbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0uZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0LnByb3BlcnR5VHlwZSAhPSBBUlJBWV9QUk9QRVJUWSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLnB1c2goW3QubmFtZSwgeF0uam9pbignLicpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0ucHVzaChbdC5uYW1lLCB4XS5qb2luKCdbXScpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0T2JqZWN0KG1vZGVsOiBhbnkgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBlbnRpdHlPYmplY3Q/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24/OiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pOiB7W2tleTpzdHJpbmddOmFueX0ge1xyXG4gICAgICAgIGxldCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbW9kZWwgPT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgICAgICBqc29uLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlPYmplY3QgJiYgIShlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pKVxyXG4gICAgICAgICAgICBqc29uLmVudGl0eU9iamVjdCA9IGVudGl0eU9iamVjdDtcclxuXHJcbiAgICAgICAgaWYgKGVudGl0eU9iamVjdCBpbnN0YW5jZW9mIEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiAmJiAhZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKVxyXG4gICAgICAgICAgICBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IGVudGl0eU9iamVjdDtcclxuICAgICAgICBlbHNlIGlmICghKGVudGl0eU9iamVjdCBpbnN0YW5jZW9mIEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbikgJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKVxyXG4gICAgICAgICAgICBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbjtcclxuICAgICAgICBcclxuICAgICAgICBpZiAoIWVudGl0eU9iamVjdCkge1xyXG4gICAgICAgICAgICBqc29uLmVudGl0eU9iamVjdCA9IG1vZGVsO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vZGVsID09IFwib2JqZWN0XCIpXHJcbiAgICAgICAgICAgICAgICBqc29uLm1vZGVsID0gbW9kZWwuY29uc3RydWN0b3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqc29uO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1Hcm91cDxUPihtb2RlbDogVHlwZTxUPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGVudGl0eU9iamVjdD86IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24sIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbj86IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbik6IEZvcm1Hcm91cCB7XHJcbiAgICAgICAgbGV0IGpzb24gPSB0aGlzLmdldE9iamVjdChtb2RlbCwgZW50aXR5T2JqZWN0LCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pO1xyXG4gICAgICAgIG1vZGVsID0ganNvbi5tb2RlbDtcclxuICAgICAgICBlbnRpdHlPYmplY3QgPSBqc29uLmVudGl0eU9iamVjdDtcclxuICAgICAgICBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBqc29uLmZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbjtcclxuICAgICAgICBsZXQgaW5zdGFuY2VDb250YWluZXI6IEluc3RhbmNlQ29udGFpbmVyID0gdGhpcy5nZXRJbnN0YW5jZUNvbnRhaW5lcihtb2RlbCk7XHJcbiAgICAgICAgdGhpcy5jaGVja09iamVjdFByb3BBZGRpdGlvbmFsVmFsaWRhdGlvbihpbnN0YW5jZUNvbnRhaW5lciwgZW50aXR5T2JqZWN0KTtcclxuICAgICAgICBsZXQgZm9ybUdyb3VwT2JqZWN0ID0ge307XHJcbiAgICAgICAgbGV0IGZvcm1DaGlsZEdyb3VwID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIGxldCBmb3JtQXJyYXlHcm91cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgYWRkaXRpb25hbFZhbGlkYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFByb3BWYWxpZGF0aW9uQ29uZmlnIH0gPSB7fTtcclxuICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5wcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaXNJbmNsdWRlUHJvcCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmIChmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcyAmJiBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24uZXhjbHVkZVByb3BzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICBpc0luY2x1ZGVQcm9wID0gZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcy5pbmRleE9mKHByb3BlcnR5Lm5hbWUpID09IC0xXHJcbiAgICAgICAgICAgIGlmIChmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLnZhbGlkYXRpb25zKVxyXG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFZhbGlkYXRpb25zID0gZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLnZhbGlkYXRpb25zO1xyXG4gICAgICAgICAgICBpZiAoaXNJbmNsdWRlUHJvcCkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eS5wcm9wZXJ0eVR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFBST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHlWYWxpZGF0b3JzID0gaW5zdGFuY2VDb250YWluZXIucHJvcGVydHlBbm5vdGF0aW9ucy5maWx0ZXIodCA9PiB0LnByb3BlcnR5TmFtZSA9PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gW2VudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSwgdGhpcy5hZGRGb3JtQ29udHJvbChwcm9wZXJ0eSwgcHJvcGVydHlWYWxpZGF0b3JzLCBhZGRpdGlvbmFsVmFsaWRhdGlvbnNbcHJvcGVydHkubmFtZV0sIGluc3RhbmNlQ29udGFpbmVyKV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgT0JKRUNUX1BST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdICYmIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0Lm9iamVjdFByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBPYmplY3RbcHJvcGVydHkubmFtZV0gPSB0aGlzLmZvcm1Hcm91cChwcm9wZXJ0eS5lbnRpdHksIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQVJSQVlfUFJPUEVSVFk6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0gJiYgZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdIGluc3RhbmNlb2YgQXJyYXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybUFycmF5R3JvdXAgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgc3ViT2JqZWN0IG9mIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIodCA9PiB0Lm9iamVjdFByb3BOYW1lID09IHByb3BlcnR5Lm5hbWUgJiYgdC5hcnJheUluZGV4ID09IGluZGV4KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5R3JvdXAucHVzaCh0aGlzLmZvcm1Hcm91cChwcm9wZXJ0eS5lbnRpdHksIHN1Yk9iamVjdCwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25kaXRpb25hbE9iamVjdFByb3BzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtQnVpbGRlci5hcnJheShmb3JtQXJyYXlHcm91cCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoZm9ybUdyb3VwT2JqZWN0KTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3J4LWZvcm0tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVuRSxPQUFPLEVBQ0gscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFDOUcsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQ2pILGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQ3hGLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUNyRywyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFDakcsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUd0RyxxQkFBTSxjQUFjLEdBQWdDO0lBQ2hELGNBQWMsRUFBRSxxQkFBcUI7SUFDckMsT0FBTyxFQUFFLGNBQWM7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LEdBQUcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7eUJBQzNFO3dCQUNELEtBQUssQ0FBQztpQkFDYjthQUNKOztTQUVKLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUNsRDs7Z0JBdkpKLFVBQVU7Ozs7Z0JBbkRGLFdBQVc7O3dCQURwQjs7U0FxRGEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIlxyXG5pbXBvcnQgeyBUeXBlLCBEZWNvcmF0b3JOYW1lIH0gZnJvbSBcIi4uL3V0aWxcIlxyXG5pbXBvcnQge1xyXG4gICAgYWxwaGFOdW1lcmljVmFsaWRhdG9yLCBhbHBoYVZhbGlkYXRvciwgY29tcGFyZVZhbGlkYXRvciwgZW1haWxWYWxpZGF0b3IsIGhleENvbG9yVmFsaWRhdG9yLCBsb3dlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBtYXhEYXRlVmFsaWRhdG9yLCBtYXhOdW1iZXJWYWxpZGF0b3IsIG1pbkRhdGVWYWxpZGF0b3IsIG1pbk51bWJlclZhbGlkYXRvciwgY29udGFpbnNWYWxpZGF0b3IsIHVwcGVyY2FzZVZhbGlkYXRvcixcclxuICAgIHJhbmdlVmFsaWRhdG9yLCBwYXR0ZXJuVmFsaWRhdG9yLCByZXF1aXJlZFZhbGlkYXRvciwgY3JlZGl0Q2FyZFZhbGlkYXRvciwgZGlnaXRWYWxpZGF0b3IsXHJcbiAgICBtYXhMZW5ndGhWYWxpZGF0b3IsIG1pbkxlbmd0aFZhbGlkYXRvciwgcGFzc3dvcmRWYWxpZGF0b3IsIHRpbWVWYWxpZGF0b3IsIHVybFZhbGlkYXRvciwganNvblZhbGlkYXRvcixcclxuICAgIGdyZWF0ZXJUaGFuRXF1YWxUb1ZhbGlkYXRvciwgZ3JlYXRlclRoYW5WYWxpZGF0b3IsIGxlc3NUaGFuRXF1YWxUb1ZhbGlkYXRvciwgbGVzc1RoYW5WYWxpZGF0b3JcclxufSBmcm9tICcuLi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZGVmYXVsdENvbnRhaW5lciB9IGZyb20gJy4uL2NvcmUvZGVmYXVsdENvbnRhaW5lcic7XHJcbmltcG9ydCB7IERlY29yYXRvckNvbmZpZ3VyYXRpb24sIEluc3RhbmNlQ29udGFpbmVyLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9jb3JlL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzXCJcclxuaW1wb3J0IHsgQVJSQVlfUFJPUEVSVFksIE9CSkVDVF9QUk9QRVJUWSwgUFJPUEVSVFkgfSBmcm9tIFwiLi4vY29uc3RcIlxyXG5pbXBvcnQgeyBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvcC12YWxpZGF0aW9uLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IGNvbmRpdGlvbmFsQ2hhbmdlVmFsaWRhdG9yIH0gZnJvbSBcIi4uL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jb25kaXRpb25hbC1jaGFuZ2UudmFsaWRhdG9yXCI7XHJcblxyXG5cclxuY29uc3QgQVBQX1ZBTElEQVRPUlM6IHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb24gfSA9IHtcclxuICAgIFwiYWxwaGFOdW1lcmljXCI6IGFscGhhTnVtZXJpY1ZhbGlkYXRvcixcclxuICAgIFwiYWxwaGFcIjogYWxwaGFWYWxpZGF0b3IsXHJcbiAgICBcImNvbXBhcmVcIjogY29tcGFyZVZhbGlkYXRvcixcclxuICAgIFwiZW1haWxcIjogZW1haWxWYWxpZGF0b3IsXHJcbiAgICBcImhleENvbG9yXCI6IGhleENvbG9yVmFsaWRhdG9yLFxyXG4gICAgXCJsb3dlckNhc2VcIjogbG93ZXJjYXNlVmFsaWRhdG9yLFxyXG4gICAgXCJtYXhEYXRlXCI6IG1heERhdGVWYWxpZGF0b3IsXHJcbiAgICBcIm1heE51bWJlclwiOiBtYXhOdW1iZXJWYWxpZGF0b3IsXHJcbiAgICBcIm1pbkRhdGVcIjogbWluRGF0ZVZhbGlkYXRvcixcclxuICAgIFwibWluTnVtYmVyXCI6IG1pbk51bWJlclZhbGlkYXRvcixcclxuICAgIFwiY29udGFpbnNcIjogY29udGFpbnNWYWxpZGF0b3IsXHJcbiAgICBcInVwcGVyQ2FzZVwiOiB1cHBlcmNhc2VWYWxpZGF0b3IsXHJcbiAgICBcIm1heExlbmd0aFwiOiBtYXhMZW5ndGhWYWxpZGF0b3IsXHJcbiAgICBcIm1pbkxlbmd0aFwiOiBtaW5MZW5ndGhWYWxpZGF0b3IsXHJcbiAgICBcInBhc3N3b3JkXCI6IHBhc3N3b3JkVmFsaWRhdG9yLFxyXG4gICAgXCJyYW5nZVwiOiByYW5nZVZhbGlkYXRvcixcclxuICAgIFwicmVxdWlyZWRcIjogcmVxdWlyZWRWYWxpZGF0b3IsXHJcbiAgICBcImNyZWRpdENhcmRcIjogY3JlZGl0Q2FyZFZhbGlkYXRvcixcclxuICAgIFwiZGlnaXRcIjogZGlnaXRWYWxpZGF0b3IsXHJcbiAgICBcInBhdHRlcm5cIjogcGF0dGVyblZhbGlkYXRvcixcclxuICAgIFwidGltZVwiOiB0aW1lVmFsaWRhdG9yLFxyXG4gICAgXCJ1cmxcIjogdXJsVmFsaWRhdG9yLFxyXG4gICAgXCJqc29uXCI6IGpzb25WYWxpZGF0b3IsXHJcbiAgICBcImdyZWF0ZXJUaGFuXCI6IGdyZWF0ZXJUaGFuVmFsaWRhdG9yLFxyXG4gICAgXCJncmVhdGVyVGhhbkVxdWFsVG9cIjogZ3JlYXRlclRoYW5FcXVhbFRvVmFsaWRhdG9yLFxyXG4gICAgXCJsZXNzVGhhblwiOiBsZXNzVGhhblZhbGlkYXRvcixcclxuICAgIFwibGVzc1RoYW5FcXVhbFRvXCI6IGxlc3NUaGFuRXF1YWxUb1ZhbGlkYXRvclxyXG59XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJ4Rm9ybUJ1aWxkZXIge1xyXG4gICAgcHJpdmF0ZSBuZXN0ZWRQcm9wOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNvbmRpdGlvbmFsT2JqZWN0UHJvcHM6IGFueVtdID0gW107XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikgeyB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJbnN0YW5jZUNvbnRhaW5lcihpbnN0YW5jZUZ1bmM6IGFueSk6IEluc3RhbmNlQ29udGFpbmVyIHtcclxuICAgICAgICByZXR1cm4gZGVmYXVsdENvbnRhaW5lci5nZXQoaW5zdGFuY2VGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFZhbHVlKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBvYmplY3Q6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGZvciAodmFyIGNvbCBpbiBvYmplY3QpIHtcclxuICAgICAgICAgICAgdmFyIGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KFtjb2xdKTtcclxuICAgICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShvYmplY3RbY29sXSk7XHJcbiAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZEZvcm1Db250cm9sKHByb3BlcnR5OiBQcm9wZXJ0eUluZm8sIHByb3BlcnR5VmFsaWRhdG9yczogRGVjb3JhdG9yQ29uZmlndXJhdGlvbltdLCBwcm9wVmFsaWRhdGlvbkNvbmZpZzogUHJvcFZhbGlkYXRpb25Db25maWcsIGluc3RhbmNlOiBJbnN0YW5jZUNvbnRhaW5lcikge1xyXG4gICAgICAgIGxldCB2YWxpZGF0b3JzID0gW107XHJcbiAgICAgICAgbGV0IGNvbHVtbnMgPSBbXTtcclxuICAgICAgICBpZiAoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMgJiYgaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNbcHJvcGVydHkubmFtZV0pIHtcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGNvbmRpdGlvbmFsQ2hhbmdlVmFsaWRhdG9yKGluc3RhbmNlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW3Byb3BlcnR5Lm5hbWVdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgcHJvcENvbmRpdGlvbnMgPSB0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5wcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgcHJvcENvbmRpdGlvbnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0LnJlZmVyZW5jZVByb3BOYW1lICYmIGNvbHVtbnMuaW5kZXhPZih0LnJlZmVyZW5jZVByb3BOYW1lKSA9PSAtMSlcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2godC5yZWZlcmVuY2VQcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IoY29sdW1ucykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eVZhbGlkYXRvciBvZiBwcm9wZXJ0eVZhbGlkYXRvcnMpIHtcclxuXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChBUFBfVkFMSURBVE9SU1twcm9wZXJ0eVZhbGlkYXRvci5hbm5vdGF0aW9uVHlwZV0ocHJvcGVydHlWYWxpZGF0b3IuY29uZmlnLCApKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcFZhbGlkYXRpb25Db25maWcpXHJcbiAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbFZhbGlkYXRpb24odmFsaWRhdG9ycywgcHJvcFZhbGlkYXRpb25Db25maWcpO1xyXG5cclxuICAgICAgICByZXR1cm4gdmFsaWRhdG9ycztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZGl0aW9uYWxWYWxpZGF0aW9uKHZhbGlkYXRpb25zOiBhbnlbXSwgcHJvcFZhbGlkYXRpb25Db25maWc6IFByb3BWYWxpZGF0aW9uQ29uZmlnKSB7XHJcbiAgICAgICAgZm9yICh2YXIgY29sIGluIEFubm90YXRpb25UeXBlcykge1xyXG4gICAgICAgICAgICBpZiAocHJvcFZhbGlkYXRpb25Db25maWdbQW5ub3RhdGlvblR5cGVzW2NvbF1dICYmIGNvbCAhPSBcImN1c3RvbVwiKSB7XHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9ucy5wdXNoKEFQUF9WQUxJREFUT1JTW0Fubm90YXRpb25UeXBlc1tjb2xdXShwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChjb2wgPT0gQW5ub3RhdGlvblR5cGVzLmN1c3RvbSAmJiBwcm9wVmFsaWRhdGlvbkNvbmZpZ1tBbm5vdGF0aW9uVHlwZXNbY29sXV0pXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9ucy5wdXNoKHByb3BWYWxpZGF0aW9uQ29uZmlnW2NvbF0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja09iamVjdFByb3BBZGRpdGlvbmFsVmFsaWRhdGlvbjxUPihpbnN0YW5jZUNvbnRhaW5lcjogSW5zdGFuY2VDb250YWluZXIsIG9iamVjdDogVCkge1xyXG4gICAgICAgIHZhciBwcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnRpZXMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eVR5cGUgPT0gT0JKRUNUX1BST1BFUlRZIHx8IHQucHJvcGVydHlUeXBlID09IEFSUkFZX1BST1BFUlRZKVxyXG4gICAgICAgIHByb3BzLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHRoaXMuZ2V0SW5zdGFuY2VDb250YWluZXIodC5lbnRpdHkpO1xyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBwcm9wID0gaW5zdGFuY2UucHJvcGVydGllcy5maWx0ZXIodCA9PiB0Lm5hbWUgPT0ga2V5KVswXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXByb3ApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3AgPSBpbnN0YW5jZUNvbnRhaW5lci5wcm9wZXJ0aWVzLmZpbHRlcih0ID0+IHQubmFtZSA9PSBrZXkpWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5wcm9wZXJ0eVR5cGUgIT0gQVJSQVlfUFJPUEVSVFkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb250YWluZXIuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNba2V5XS5wdXNoKFt0Lm5hbWUsIHhdLmpvaW4oJy4nKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wc1trZXldLnB1c2goW3QubmFtZSwgeF0uam9pbignW10nKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldE9iamVjdChtb2RlbDogYW55IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgZW50aXR5T2JqZWN0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uPzogRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKToge1trZXk6c3RyaW5nXTphbnl9IHtcclxuICAgICAgICBsZXQganNvbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIG1vZGVsID09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICAgICAganNvbi5tb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICBpZiAoZW50aXR5T2JqZWN0ICYmICEoZW50aXR5T2JqZWN0IGluc3RhbmNlb2YgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKSlcclxuICAgICAgICAgICAganNvbi5lbnRpdHlPYmplY3QgPSBlbnRpdHlPYmplY3Q7XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gJiYgIWZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBlbnRpdHlPYmplY3Q7XHJcbiAgICAgICAgZWxzZSBpZiAoIShlbnRpdHlPYmplY3QgaW5zdGFuY2VvZiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24gPSBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKCFlbnRpdHlPYmplY3QpIHtcclxuICAgICAgICAgICAganNvbi5lbnRpdHlPYmplY3QgPSBtb2RlbDtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBtb2RlbCA9PSBcIm9iamVjdFwiKVxyXG4gICAgICAgICAgICAgICAganNvbi5tb2RlbCA9IG1vZGVsLmNvbnN0cnVjdG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ganNvbjtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtR3JvdXA8VD4obW9kZWw6IFR5cGU8VD4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBlbnRpdHlPYmplY3Q/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgRm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24/OiBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pOiBGb3JtR3JvdXAge1xyXG4gICAgICAgIGxldCBqc29uID0gdGhpcy5nZXRPYmplY3QobW9kZWwsIGVudGl0eU9iamVjdCwgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uKTtcclxuICAgICAgICBtb2RlbCA9IGpzb24ubW9kZWw7XHJcbiAgICAgICAgZW50aXR5T2JqZWN0ID0ganNvbi5lbnRpdHlPYmplY3Q7XHJcbiAgICAgICAgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uID0ganNvbi5mb3JtQnVpbGRlckNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgbGV0IGluc3RhbmNlQ29udGFpbmVyOiBJbnN0YW5jZUNvbnRhaW5lciA9IHRoaXMuZ2V0SW5zdGFuY2VDb250YWluZXIobW9kZWwpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tPYmplY3RQcm9wQWRkaXRpb25hbFZhbGlkYXRpb24oaW5zdGFuY2VDb250YWluZXIsIGVudGl0eU9iamVjdCk7XHJcbiAgICAgICAgbGV0IGZvcm1Hcm91cE9iamVjdCA9IHt9O1xyXG4gICAgICAgIGxldCBmb3JtQ2hpbGRHcm91cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBsZXQgZm9ybUFycmF5R3JvdXAgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdmFyIGFkZGl0aW9uYWxWYWxpZGF0aW9uczogeyBba2V5OiBzdHJpbmddOiBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9ID0ge307XHJcbiAgICAgICAgaW5zdGFuY2VDb250YWluZXIucHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgICAgICAgbGV0IGlzSW5jbHVkZVByb3AgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAoZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi5leGNsdWRlUHJvcHMgJiYgZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uLmV4Y2x1ZGVQcm9wcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgaXNJbmNsdWRlUHJvcCA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi5leGNsdWRlUHJvcHMuaW5kZXhPZihwcm9wZXJ0eS5uYW1lKSA9PSAtMVxyXG4gICAgICAgICAgICBpZiAoZm9ybUJ1aWxkZXJDb25maWd1cmF0aW9uICYmIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi52YWxpZGF0aW9ucylcclxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxWYWxpZGF0aW9ucyA9IGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbi52YWxpZGF0aW9ucztcclxuICAgICAgICAgICAgaWYgKGlzSW5jbHVkZVByb3ApIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAocHJvcGVydHkucHJvcGVydHlUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBQUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5VmFsaWRhdG9ycyA9IGluc3RhbmNlQ29udGFpbmVyLnByb3BlcnR5QW5ub3RhdGlvbnMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eU5hbWUgPT0gcHJvcGVydHkubmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cE9iamVjdFtwcm9wZXJ0eS5uYW1lXSA9IFtlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0sIHRoaXMuYWRkRm9ybUNvbnRyb2wocHJvcGVydHksIHByb3BlcnR5VmFsaWRhdG9ycywgYWRkaXRpb25hbFZhbGlkYXRpb25zW3Byb3BlcnR5Lm5hbWVdLCBpbnN0YW5jZUNvbnRhaW5lcildO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIE9CSkVDVF9QUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSAmJiBlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0gaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZUNvbnRhaW5lciAmJiBpbnN0YW5jZUNvbnRhaW5lci5jb25kaXRpb25hbE9iamVjdFByb3BzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5vYmplY3RQcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtR3JvdXAocHJvcGVydHkuZW50aXR5LCBlbnRpdHlPYmplY3RbcHJvcGVydHkubmFtZV0sIGZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEFSUkFZX1BST1BFUlRZOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdICYmIGVudGl0eU9iamVjdFtwcm9wZXJ0eS5uYW1lXSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybUFycmF5R3JvdXAgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBzdWJPYmplY3Qgb2YgZW50aXR5T2JqZWN0W3Byb3BlcnR5Lm5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlQ29udGFpbmVyICYmIGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IGluc3RhbmNlQ29udGFpbmVyLmNvbmRpdGlvbmFsT2JqZWN0UHJvcHMuZmlsdGVyKHQgPT4gdC5vYmplY3RQcm9wTmFtZSA9PSBwcm9wZXJ0eS5uYW1lICYmIHQuYXJyYXlJbmRleCA9PSBpbmRleClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlHcm91cC5wdXNoKHRoaXMuZm9ybUdyb3VwKHByb3BlcnR5LmVudGl0eSwgc3ViT2JqZWN0LCBmb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uYWxPYmplY3RQcm9wcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwT2JqZWN0W3Byb3BlcnR5Lm5hbWVdID0gdGhpcy5mb3JtQnVpbGRlci5hcnJheShmb3JtQXJyYXlHcm91cCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cChmb3JtR3JvdXBPYmplY3QpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -23,3 +23,3 @@ /** | ||
hexaDecimal: /^[0-9A-F]+$/i, | ||
date: /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/, | ||
date: /^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/, | ||
time: /(00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$/, | ||
@@ -30,2 +30,2 @@ url: /^^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm, | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtcnVsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsidXRpbC9yZWdleC1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxxQkFBTSxTQUFTLEdBQTJCO0lBRTdDLEtBQUssRUFBRSxhQUFhO0lBRXBCLGNBQWMsRUFBRSxlQUFlO0lBRS9CLFNBQVMsRUFBRSxVQUFVO0lBRXJCLFlBQVksRUFBRSxLQUFLO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLGdCQUFnQixFQUFFLHlCQUF5QjtJQUUzQyxhQUFhLEVBQUUsc0lBQXNJO0lBRXJKLFVBQVUsRUFBRSx3SkFBd0o7SUFFcEssWUFBWSxFQUFFLGdCQUFnQjtJQUU5QixxQkFBcUIsRUFBRSxrQkFBa0I7SUFFekMsUUFBUSxFQUFFLG9EQUFvRDtJQUU5RCxjQUFjLEVBQUUsdURBQXVEO0lBRXZFLEtBQUssRUFBRSwrREFBK0Q7SUFFdEUsT0FBTyxFQUFFLHlDQUF5QztJQUVsRCxXQUFXLEVBQUUsY0FBYztJQUUzQixJQUFJLEVBQUUsbURBQW1EO0lBRXpELElBQUksRUFBRSw4Q0FBOEM7SUFFcEQsR0FBRyxFQUFFLG1GQUFtRjtJQUV4RixVQUFVLEVBQUUsSUFBSSxlQUFlLEVBQUU7Q0FDcEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRpdENhcmRSZWdleCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcmVnZXgnXHJcblxyXG5leHBvcnQgY29uc3QgUmVnRXhSdWxlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xyXG5cclxuICAgIGFscGhhOiAvXlthLXpBLVpdKyQvLFxyXG5cclxuICAgIGFscGhhV2l0aFNwYWNlOiAvXlthLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIG9ubHlEaWdpdDogL15bMC05XSskLyxcclxuXHJcbiAgICBpc0RpZ2l0RXhpdHM6IC9cXGQvZyxcclxuXHJcbiAgICBsb3dlckNhc2U6IC9bYS16XS9nLFxyXG5cclxuICAgIHVwcGVyQ2FzZTogL1tBLVpdL2csXHJcblxyXG4gICAgc3BlY2lhbENoYXJhY3RlcjogL1shQCMkJV4mKigpLC4/XCI6e318PD5dL2csXHJcblxyXG4gICAgYWR2YW5jZWRFbWFpbDogL15bYS16QS1aMC05LiEjJCUmJyorLz0/Xl9ge3x9fi1dK0BbYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8oPzpcXC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvLFxyXG5cclxuICAgIGJhc2ljRW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiwsOlxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG5cclxuICAgIGFscGhhTnVtZXJpYzogL15bMC05YS16QS1aXSskLyxcclxuICAgIFxyXG4gICAgYWxwaGFOdW1lcmljV2l0aFNwYWNlOiAvXlswLTlhLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIGhleENvbG9yOiAvIyhbYS1mMC05XXszfXxbYS1mMC05XXs0fSg/OlthLWYwLTldezJ9KXswLDJ9KVxcYi9naSxcclxuXHJcbiAgICBzdHJpY3RIZXhDb2xvcjogL14jKFthLWYwLTldezMsNH18W2EtZjAtOV17NH0oPzpbYS1mMC05XXsyfSl7MSwyfSlcXGIkL2ksXHJcblxyXG4gICAgZmxvYXQ6IC9eKD86Wy0rXT8oPzpbMC05XSspKT8oPzpcXC5bMC05XSopPyg/OltlRV1bXFwrXFwtXT8oPzpbMC05XSspKT8kLyxcclxuXHJcbiAgICBkZWNpbWFsOiAvXlstK10/KFswLTldK3xcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0rKSQvLFxyXG5cclxuICAgIGhleGFEZWNpbWFsOiAvXlswLTlBLUZdKyQvaSxcclxuXHJcbiAgICBkYXRlOiAvKFsxMl1cXGR7M30tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVxcZHwzWzAxXSkpLyxcclxuXHJcbiAgICB0aW1lOiAvKDAwfFswLTldfDFbMC05XXwyWzAtM10pOihbMC05XXxbMC01XVswLTldKSQvLFxyXG5cclxuICAgIHVybDogL15eKD86aHR0cChzKT86XFwvXFwvKT9bXFx3Li1dKyg/OlxcLltcXHdcXC4tXSspK1tcXHdcXC1cXC5ffjovPyNbXFxdQCFcXCQmJ1xcKFxcKVxcKlxcKyw7PS5dKyQvZ20sXHJcblxyXG4gICAgY3JlZGl0Q2FyZDogbmV3IENyZWRpdENhcmRSZWdleCgpLFxyXG59XHJcblxyXG5cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtcnVsZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzLyIsInNvdXJjZXMiOlsidXRpbC9yZWdleC1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxxQkFBTSxTQUFTLEdBQTJCO0lBRTdDLEtBQUssRUFBRSxhQUFhO0lBRXBCLGNBQWMsRUFBRSxlQUFlO0lBRS9CLFNBQVMsRUFBRSxVQUFVO0lBRXJCLFlBQVksRUFBRSxLQUFLO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLFNBQVMsRUFBRSxRQUFRO0lBRW5CLGdCQUFnQixFQUFFLHlCQUF5QjtJQUUzQyxhQUFhLEVBQUUsc0lBQXNJO0lBRXJKLFVBQVUsRUFBRSx3SkFBd0o7SUFFcEssWUFBWSxFQUFFLGdCQUFnQjtJQUU5QixxQkFBcUIsRUFBRSxrQkFBa0I7SUFFekMsUUFBUSxFQUFFLG9EQUFvRDtJQUU5RCxjQUFjLEVBQUUsdURBQXVEO0lBRXZFLEtBQUssRUFBRSwrREFBK0Q7SUFFdEUsT0FBTyxFQUFFLHlDQUF5QztJQUVsRCxXQUFXLEVBQUUsY0FBYztJQUUzQixJQUFJLEVBQUUsc1VBQXNVO0lBRTVVLElBQUksRUFBRSw4Q0FBOEM7SUFFcEQsR0FBRyxFQUFFLG1GQUFtRjtJQUV4RixVQUFVLEVBQUUsSUFBSSxlQUFlLEVBQUU7Q0FDcEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRpdENhcmRSZWdleCB9IGZyb20gJy4vY3JlZGl0LWNhcmQtcmVnZXgnXHJcblxyXG5leHBvcnQgY29uc3QgUmVnRXhSdWxlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xyXG5cclxuICAgIGFscGhhOiAvXlthLXpBLVpdKyQvLFxyXG5cclxuICAgIGFscGhhV2l0aFNwYWNlOiAvXlthLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIG9ubHlEaWdpdDogL15bMC05XSskLyxcclxuXHJcbiAgICBpc0RpZ2l0RXhpdHM6IC9cXGQvZyxcclxuXHJcbiAgICBsb3dlckNhc2U6IC9bYS16XS9nLFxyXG5cclxuICAgIHVwcGVyQ2FzZTogL1tBLVpdL2csXHJcblxyXG4gICAgc3BlY2lhbENoYXJhY3RlcjogL1shQCMkJV4mKigpLC4/XCI6e318PD5dL2csXHJcblxyXG4gICAgYWR2YW5jZWRFbWFpbDogL15bYS16QS1aMC05LiEjJCUmJyorLz0/Xl9ge3x9fi1dK0BbYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8oPzpcXC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvLFxyXG5cclxuICAgIGJhc2ljRW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiwsOlxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG5cclxuICAgIGFscGhhTnVtZXJpYzogL15bMC05YS16QS1aXSskLyxcclxuICAgIFxyXG4gICAgYWxwaGFOdW1lcmljV2l0aFNwYWNlOiAvXlswLTlhLXpBLVpcXHNdKyQvLFxyXG5cclxuICAgIGhleENvbG9yOiAvIyhbYS1mMC05XXszfXxbYS1mMC05XXs0fSg/OlthLWYwLTldezJ9KXswLDJ9KVxcYi9naSxcclxuXHJcbiAgICBzdHJpY3RIZXhDb2xvcjogL14jKFthLWYwLTldezMsNH18W2EtZjAtOV17NH0oPzpbYS1mMC05XXsyfSl7MSwyfSlcXGIkL2ksXHJcblxyXG4gICAgZmxvYXQ6IC9eKD86Wy0rXT8oPzpbMC05XSspKT8oPzpcXC5bMC05XSopPyg/OltlRV1bXFwrXFwtXT8oPzpbMC05XSspKT8kLyxcclxuXHJcbiAgICBkZWNpbWFsOiAvXlstK10/KFswLTldK3xcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0rKSQvLFxyXG5cclxuICAgIGhleGFEZWNpbWFsOiAvXlswLTlBLUZdKyQvaSxcclxuXHJcbiAgICBkYXRlOiAvXig/Oig/OjMxKFxcL3wtfFxcLikoPzowP1sxMzU3OF18MVswMl0pKVxcMXwoPzooPzoyOXwzMCkoXFwvfC18XFwuKSg/OjA/WzEsMy05XXwxWzAtMl0pXFwyKSkoPzooPzoxWzYtOV18WzItOV1cXGQpP1xcZHsyfSkkfF4oPzoyOShcXC98LXxcXC4pMD8yXFwzKD86KD86KD86MVs2LTldfFsyLTldXFxkKT8oPzowWzQ4XXxbMjQ2OF1bMDQ4XXxbMTM1NzldWzI2XSl8KD86KD86MTZ8WzI0NjhdWzA0OF18WzM1NzldWzI2XSkwMCkpKSkkfF4oPzowP1sxLTldfDFcXGR8MlswLThdKShcXC98LXxcXC4pKD86KD86MD9bMS05XSl8KD86MVswLTJdKSlcXDQoPzooPzoxWzYtOV18WzItOV1cXGQpP1xcZHsyfSkkLyxcclxuXHJcbiAgICB0aW1lOiAvKDAwfFswLTldfDFbMC05XXwyWzAtM10pOihbMC05XXxbMC01XVswLTldKSQvLFxyXG5cclxuICAgIHVybDogL15eKD86aHR0cChzKT86XFwvXFwvKT9bXFx3Li1dKyg/OlxcLltcXHdcXC4tXSspK1tcXHdcXC1cXC5ffjovPyNbXFxdQCFcXCQmJ1xcKFxcKVxcKlxcKyw7PS5dKyQvZ20sXHJcblxyXG4gICAgY3JlZGl0Q2FyZDogbmV3IENyZWRpdENhcmRSZWdleCgpLFxyXG59XHJcblxyXG5cclxuIl19 |
@@ -53,3 +53,3 @@ /** | ||
function (value) { | ||
return value != undefined && value != "" && value != null && String(value).trim() != ""; | ||
return value != undefined && value != "" && value != null; | ||
}; | ||
@@ -126,2 +126,2 @@ /** | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInV0aWwvcmVnZXgtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxxQkFBTSxRQUFRLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLHFCQUFNLEtBQUssR0FBVyxPQUFPLENBQUM7QUFDOUIscUJBQU0sUUFBUSxHQUFXLFVBQVUsQ0FBQztBQUNwQyxxQkFBTSxTQUFTLEdBQVcsV0FBVyxDQUFDO0FBQ3RDLHFCQUFNLFNBQVMsR0FBVyxXQUFXLENBQUM7QUFDdEMscUJBQU0saUJBQWlCLEdBQVcsa0JBQWtCLENBQUM7QUFDckQscUJBQU0sVUFBVSxHQUFXLFdBQVcsQ0FBQztBQUN2QyxxQkFBTSxVQUFVLEdBQVcsV0FBVyxDQUFDO0FBR3ZDLElBQUE7Ozs7Ozs7O0lBQ1csc0JBQU87Ozs7O0lBQWQsVUFBZSxLQUFVLEVBQUUsS0FBYTtRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDckM7Ozs7OztJQUNNLHNCQUFPOzs7OztJQUFkLFVBQWUsS0FBVSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDNUI7Ozs7O0lBRU0seUJBQVU7Ozs7SUFBakIsVUFBa0IsS0FBVTtRQUN4QixNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUMzRjs7Ozs7O0lBRU0sOEJBQWU7Ozs7O0lBQXRCLFVBQXVCLGtCQUFzQyxFQUFFLEtBQWE7UUFDeEUscUJBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixxQkFBSSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUN6QyxxQkFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLHFCQUFJLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBOztZQUNyRSxHQUFHLENBQUMsQ0FBcUIsSUFBQSxxQkFBQSxpQkFBQSxnQkFBZ0IsQ0FBQSxrREFBQTtnQkFBcEMsSUFBSSxZQUFZLDZCQUFBO2dCQUNqQixNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUNuQixLQUFLLFFBQVE7d0JBQ1QsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsVUFBTyxDQUFDO3dCQUN6RCxPQUFPLEdBQUcsUUFBUSxDQUFDO3dCQUNuQixLQUFLLENBQUM7b0JBQ1YsS0FBSyxLQUFLO3dCQUNOLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLGlCQUFjLENBQUM7d0JBQ2hFLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ2hCLEtBQUssQ0FBQztvQkFDVixLQUFLLFFBQVE7d0JBQ1QsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDNUQsT0FBTyxHQUFHLFFBQVEsQ0FBQzt3QkFDbkIsS0FBSyxDQUFDO29CQUNWLEtBQUssU0FBUzt3QkFDVixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxjQUFXLENBQUM7d0JBQzdELE9BQU8sR0FBRyxTQUFTLENBQUM7d0JBQ3BCLEtBQUssQ0FBQztvQkFDVixLQUFLLFNBQVM7d0JBQ1YsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsY0FBVyxDQUFDO3dCQUM3RCxPQUFPLEdBQUcsU0FBUyxDQUFDO3dCQUNwQixLQUFLLENBQUM7b0JBQ1YsS0FBSyxpQkFBaUI7d0JBQ2xCLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLHFCQUFrQixDQUFDO3dCQUNwRSxPQUFPLEdBQUcsaUJBQWlCLENBQUM7d0JBQzVCLEtBQUssQ0FBQztvQkFDVixLQUFLLFVBQVU7d0JBQ1gsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQzNELE9BQU8sR0FBRyxVQUFVLENBQUM7d0JBQ3JCLEtBQUssQ0FBQztvQkFDVixLQUFLLFVBQVU7d0JBQ1gsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQzNELE9BQU8sR0FBRyxVQUFVLENBQUM7d0JBQ3JCLEtBQUssQ0FBQztpQkFDYjtnQkFDRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDVCxLQUFLLENBQUM7YUFDYjs7Ozs7Ozs7O1FBQ0QsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUE7O0tBQ2hEO3lCQXJFTDtJQXNFQyxDQUFBO0FBekRELDBCQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvcGFzc3dvcmQtdmFsaWRhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBSZWdFeFJ1bGUgfSBmcm9tIFwiLi9yZWdleC1ydWxlc1wiO1xyXG5cclxuY29uc3QgQUxQSEFCRVQ6IHN0cmluZyA9IFwiYWxwaGFiZXRcIjtcclxuY29uc3QgRElHSVQ6IHN0cmluZyA9IFwiZGlnaXRcIjtcclxuY29uc3QgQ09OVEFJTlM6IHN0cmluZyA9IFwiY29udGFpbnNcIjtcclxuY29uc3QgTE9XRVJDQVNFOiBzdHJpbmcgPSBcImxvd2VyQ2FzZVwiO1xyXG5jb25zdCBVUFBFUkNBU0U6IHN0cmluZyA9IFwidXBwZXJDYXNlXCI7XHJcbmNvbnN0IFNQRUNJQUxfQ0hBUkFDVEVSOiBzdHJpbmcgPSBcInNwZWNpYWxDaGFyYWN0ZXJcIjtcclxuY29uc3QgTUlOX0xFTkdUSDogc3RyaW5nID0gXCJtaW5MZW5ndGhcIjtcclxuY29uc3QgTUFYX0xFTkdUSDogc3RyaW5nID0gXCJtYXhMZW5ndGhcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUmVnZXhWYWxpZGF0b3Ige1xyXG4gICAgc3RhdGljIGlzRXhpdHModmFsdWU6IGFueSwgcmVnZXg6IFJlZ0V4cCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5tYXRjaChyZWdleCkgIT0gbnVsbDtcclxuICAgIH1cclxuICAgIHN0YXRpYyBpc1ZhbGlkKHZhbHVlOiBhbnksIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzTm90QmxhbmsodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSAhPSB1bmRlZmluZWQgJiYgdmFsdWUgIT0gXCJcIiAmJiB2YWx1ZSAhPSBudWxsICYmIFN0cmluZyh2YWx1ZSkudHJpbSgpICE9IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWRQYXNzd29yZChwYXNzd29yZFZhbGlkYXRpb246IFBhc3N3b3JkVmFsaWRhdGlvbiwgdmFsdWU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgICAgICBsZXQga2V5TmFtZSA9IFwic3RhdHVzXCI7XHJcbiAgICAgICAgbGV0IG9iamVjdFByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwYXNzd29yZFZhbGlkYXRpb24pXHJcbiAgICAgICAgZm9yIChsZXQgcHJvcGVydHlOYW1lIG9mIG9iamVjdFByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQUxQSEFCRVQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IFJlZ2V4VmFsaWRhdG9yLmlzRXhpdHModmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IEFMUEhBQkVUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBESUdJVDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmlzRGlnaXRFeGl0cyk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IERJR0lUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDT05UQUlOUzpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUuaW5kZXhPZihwYXNzd29yZFZhbGlkYXRpb25bQ09OVEFJTlNdKSAhPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gQ09OVEFJTlM7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IExPV0VSQ0FTRTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKHZhbHVlLCBSZWdFeFJ1bGUudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gVVBQRVJDQVNFO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBTUEVDSUFMX0NIQVJBQ1RFUjpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNFeGl0cyh2YWx1ZSwgUmVnRXhSdWxlLnNwZWNpYWxDaGFyYWN0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBTUEVDSUFMX0NIQVJBQ1RFUjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgTUlOX0xFTkdUSDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUubGVuZ3RoID49IHBhc3N3b3JkVmFsaWRhdGlvbltwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBNSU5fTEVOR1RIO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBNQVhfTEVOR1RIOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWx1ZS5sZW5ndGggPD0gcGFzc3dvcmRWYWxpZGF0aW9uW3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IE1BWF9MRU5HVEg7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IGlzVmFsaWQ6IGlzVmFsaWQsIGtleU5hbWU6IGtleU5hbWUgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy8iLCJzb3VyY2VzIjpbInV0aWwvcmVnZXgtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxxQkFBTSxRQUFRLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLHFCQUFNLEtBQUssR0FBVyxPQUFPLENBQUM7QUFDOUIscUJBQU0sUUFBUSxHQUFXLFVBQVUsQ0FBQztBQUNwQyxxQkFBTSxTQUFTLEdBQVcsV0FBVyxDQUFDO0FBQ3RDLHFCQUFNLFNBQVMsR0FBVyxXQUFXLENBQUM7QUFDdEMscUJBQU0saUJBQWlCLEdBQVcsa0JBQWtCLENBQUM7QUFDckQscUJBQU0sVUFBVSxHQUFXLFdBQVcsQ0FBQztBQUN2QyxxQkFBTSxVQUFVLEdBQVcsV0FBVyxDQUFDO0FBR3ZDLElBQUE7Ozs7Ozs7O0lBQ1csc0JBQU87Ozs7O0lBQWQsVUFBZSxLQUFVLEVBQUUsS0FBYTtRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7S0FDckM7Ozs7OztJQUNNLHNCQUFPOzs7OztJQUFkLFVBQWUsS0FBVSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDNUI7Ozs7O0lBRU0seUJBQVU7Ozs7SUFBakIsVUFBa0IsS0FBVTtRQUN4QixNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUU7S0FDOUQ7Ozs7OztJQUVNLDhCQUFlOzs7OztJQUF0QixVQUF1QixrQkFBc0MsRUFBRSxLQUFhO1FBQ3hFLHFCQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIscUJBQUksT0FBTyxHQUEyQixFQUFFLENBQUM7UUFDekMscUJBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN2QixxQkFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQTs7WUFDckUsR0FBRyxDQUFDLENBQXFCLElBQUEscUJBQUEsaUJBQUEsZ0JBQWdCLENBQUEsa0RBQUE7Z0JBQXBDLElBQUksWUFBWSw2QkFBQTtnQkFDakIsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDbkIsS0FBSyxRQUFRO3dCQUNULE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLFVBQU8sQ0FBQzt3QkFDekQsT0FBTyxHQUFHLFFBQVEsQ0FBQzt3QkFDbkIsS0FBSyxDQUFDO29CQUNWLEtBQUssS0FBSzt3QkFDTixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxpQkFBYyxDQUFDO3dCQUNoRSxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNoQixLQUFLLENBQUM7b0JBQ1YsS0FBSyxRQUFRO3dCQUNULE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQzVELE9BQU8sR0FBRyxRQUFRLENBQUM7d0JBQ25CLEtBQUssQ0FBQztvQkFDVixLQUFLLFNBQVM7d0JBQ1YsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsY0FBVyxDQUFDO3dCQUM3RCxPQUFPLEdBQUcsU0FBUyxDQUFDO3dCQUNwQixLQUFLLENBQUM7b0JBQ1YsS0FBSyxTQUFTO3dCQUNWLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLGNBQVcsQ0FBQzt3QkFDN0QsT0FBTyxHQUFHLFNBQVMsQ0FBQzt3QkFDcEIsS0FBSyxDQUFDO29CQUNWLEtBQUssaUJBQWlCO3dCQUNsQixPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxxQkFBa0IsQ0FBQzt3QkFDcEUsT0FBTyxHQUFHLGlCQUFpQixDQUFDO3dCQUM1QixLQUFLLENBQUM7b0JBQ1YsS0FBSyxVQUFVO3dCQUNYLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUMzRCxPQUFPLEdBQUcsVUFBVSxDQUFDO3dCQUNyQixLQUFLLENBQUM7b0JBQ1YsS0FBSyxVQUFVO3dCQUNYLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUMzRCxPQUFPLEdBQUcsVUFBVSxDQUFDO3dCQUNyQixLQUFLLENBQUM7aUJBQ2I7Z0JBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQ1QsS0FBSyxDQUFDO2FBQ2I7Ozs7Ozs7OztRQUNELE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBOztLQUNoRDt5QkFyRUw7SUFzRUMsQ0FBQTtBQXpERCwwQkF5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL3Bhc3N3b3JkLXZhbGlkYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4vcmVnZXgtcnVsZXNcIjtcclxuXHJcbmNvbnN0IEFMUEhBQkVUOiBzdHJpbmcgPSBcImFscGhhYmV0XCI7XHJcbmNvbnN0IERJR0lUOiBzdHJpbmcgPSBcImRpZ2l0XCI7XHJcbmNvbnN0IENPTlRBSU5TOiBzdHJpbmcgPSBcImNvbnRhaW5zXCI7XHJcbmNvbnN0IExPV0VSQ0FTRTogc3RyaW5nID0gXCJsb3dlckNhc2VcIjtcclxuY29uc3QgVVBQRVJDQVNFOiBzdHJpbmcgPSBcInVwcGVyQ2FzZVwiO1xyXG5jb25zdCBTUEVDSUFMX0NIQVJBQ1RFUjogc3RyaW5nID0gXCJzcGVjaWFsQ2hhcmFjdGVyXCI7XHJcbmNvbnN0IE1JTl9MRU5HVEg6IHN0cmluZyA9IFwibWluTGVuZ3RoXCI7XHJcbmNvbnN0IE1BWF9MRU5HVEg6IHN0cmluZyA9IFwibWF4TGVuZ3RoXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlZ2V4VmFsaWRhdG9yIHtcclxuICAgIHN0YXRpYyBpc0V4aXRzKHZhbHVlOiBhbnksIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUubWF0Y2gocmVnZXgpICE9IG51bGw7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgaXNWYWxpZCh2YWx1ZTogYW55LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc05vdEJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgIT0gdW5kZWZpbmVkICYmIHZhbHVlICE9IFwiXCIgJiYgdmFsdWUgIT0gbnVsbCA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWRQYXNzd29yZChwYXNzd29yZFZhbGlkYXRpb246IFBhc3N3b3JkVmFsaWRhdGlvbiwgdmFsdWU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IGpPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgICAgICBsZXQga2V5TmFtZSA9IFwic3RhdHVzXCI7XHJcbiAgICAgICAgbGV0IG9iamVjdFByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwYXNzd29yZFZhbGlkYXRpb24pXHJcbiAgICAgICAgZm9yIChsZXQgcHJvcGVydHlOYW1lIG9mIG9iamVjdFByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgQUxQSEFCRVQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IFJlZ2V4VmFsaWRhdG9yLmlzRXhpdHModmFsdWUsIFJlZ0V4UnVsZS5hbHBoYSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IEFMUEhBQkVUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBESUdJVDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmlzRGlnaXRFeGl0cyk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IERJR0lUO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBDT05UQUlOUzpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUuaW5kZXhPZihwYXNzd29yZFZhbGlkYXRpb25bQ09OVEFJTlNdKSAhPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gQ09OVEFJTlM7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIExPV0VSQ0FTRTpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZCh2YWx1ZSwgUmVnRXhSdWxlLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IExPV0VSQ0FTRTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgVVBQRVJDQVNFOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBSZWdleFZhbGlkYXRvci5pc1ZhbGlkKHZhbHVlLCBSZWdFeFJ1bGUudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICBrZXlOYW1lID0gVVBQRVJDQVNFO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBTUEVDSUFMX0NIQVJBQ1RFUjpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNFeGl0cyh2YWx1ZSwgUmVnRXhSdWxlLnNwZWNpYWxDaGFyYWN0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBTUEVDSUFMX0NIQVJBQ1RFUjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgTUlOX0xFTkdUSDpcclxuICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUubGVuZ3RoID49IHBhc3N3b3JkVmFsaWRhdGlvbltwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIGtleU5hbWUgPSBNSU5fTEVOR1RIO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBNQVhfTEVOR1RIOlxyXG4gICAgICAgICAgICAgICAgICAgIGlzVmFsaWQgPSB2YWx1ZS5sZW5ndGggPD0gcGFzc3dvcmRWYWxpZGF0aW9uW3Byb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAga2V5TmFtZSA9IE1BWF9MRU5HVEg7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IGlzVmFsaWQ6IGlzVmFsaWQsIGtleU5hbWU6IGtleU5hbWUgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== |
{ | ||
"name": "@rxweb/reactive-form-validators", | ||
"version": "1.1.2-beta.2", | ||
"version": "1.1.2-beta.3", | ||
"main": "bundles/rxweb-reactive-form-validators.umd.js", | ||
@@ -17,7 +17,8 @@ "module": "fesm5/rxweb-reactive-form-validators.js", | ||
}, | ||
"license": "MIT", | ||
"homepage": "https://github.com/rxweb/rxweb/tree/master/packages/reactive-form-validators#readme", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/rxweb/rxweb.git" | ||
} | ||
}, | ||
"license": "MIT" | ||
} |
308
README.md
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) | ||
[](https://gitter.im/rx-web/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge) | ||
<h3>rxweb</h3> | ||
Advanced, conditional and dynamic validation framework for faster and easier web development. | ||
* Basic validations. | ||
* Advance validations. | ||
* Conditional validations. | ||
* Dynamic validations. | ||
* Configure application wide validation messages. | ||
* Set per control custom validation message. | ||
* Make `FormGroup` object with default values and control validations. | ||
# Prerequisites | ||
@@ -12,34 +23,5 @@ Reactive Form Validators will work in angular projects. | ||
* [Validation Quick Start](#validation-quick-start) | ||
* [Import Modules](#import-modules) | ||
* [Configure Global Validation Messages](#configure-global-validation-messages) | ||
* [Reactive Form Validators](#reactive-form-validators) | ||
1. [alpha](#alpha) | ||
2. [alphaNumeric](#alphaNumeric) | ||
3. [compare](#compare) | ||
4. [contains](#contains) | ||
5. [creditCard](#creditCard) | ||
6. [digit](#digit) | ||
7. [email](#email) | ||
8. [greaterThan](#greaterThan) | ||
9. [greaterThanEqualTo](#greaterThanEqualTo) | ||
10. [hexColor](#hexColor) | ||
11. [json](#json) | ||
12. [lessThan](#lessThan) | ||
13. [lessThanEqualTo](#lessThanEqualTo) | ||
14. [lowerCase](#lowerCase) | ||
15. [maxLength](#maxLength) | ||
16. [maxNumber](#maxNumber) | ||
17. [minNumber](#minNumber) | ||
18. [minLength](#minLength) | ||
19. [password](#password) | ||
20. [pattern](#pattern) | ||
21. [prop](#prop) | ||
22. [propArray](#propArray) | ||
23. [propObject](#propObject) | ||
24. [range](#range) | ||
25. [required](#required) | ||
26. [time](#time) | ||
27. [upperCase](#upperCase) | ||
28. [url](#url) | ||
* [Import Modules](#import-modules) | ||
* [Configure Global Validation Messages](#configure-global-validation-messages) | ||
* [Implement Validation Decorators](#implement-validation-decorators) | ||
* [Documentation](#documentation) | ||
@@ -54,3 +36,3 @@ * [License](#license) | ||
```bash | ||
$ npm install @rxweb/reactive-form-validators | ||
$ npm install @rxweb/reactive-form-validators@1.1.2-beta.2 | ||
``` | ||
@@ -66,3 +48,3 @@ ## Validation Quick Start | ||
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; // <-- #1 import module | ||
import { FormsModule, ReactiveFormsModule} from '@angular/forms'; // <-- #1 import module | ||
import { RxReactiveFormsModule } from '@rxweb/reactive-form-validators'; // <-- #2 import module | ||
@@ -116,204 +98,144 @@ | ||
# Reactive Form Validators | ||
### alpha | ||
Alpha validation decorator will allow only alphabets to be entered. It will not allow any number or special character. If user tries to do so the property will become invalid. Below is the example for bind country form with alpha validation. **[See more features and examples.](http://rxweb.github.io)** | ||
## Implement Validation Decorators | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
> app/models/country.model.ts | ||
> user.model.ts | ||
```js | ||
export class Country{ | ||
@prop() @alpha() countryName: string; | ||
} | ||
``` | ||
> Note : Import all neccesary dependencies in the respective component. | ||
import { | ||
propObject, prop, alphaNumeric, alpha, compare, contains, creditCard, CreditCardType, digit, email, greaterThanEqualTo,greaterThan, hexColor, json, lessThanEqualTo, lowerCase, maxLength,maxNumber, | ||
minNumber, password, pattern, lessThan, range, required, time, upperCase, url, propArray, minLength | ||
} from "@rxweb/reactive-form-validators"; | ||
> app/components/country.component.ts | ||
```js | ||
@Component({ ...}) | ||
export class CountryComponent implements OnInit { | ||
countryFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let country = new Country(); | ||
this.countryFormGroup = this.formBuilder.formGroup(country); | ||
} | ||
} | ||
``` | ||
import { UserAddress } from "./user-address.model"; | ||
import { Course } from "./course.model"; | ||
### alphaNumeric | ||
alphaNumeric validation decorator will allow only alphanumeric to be entered. It will not allow any special character. If user tries to do so the property will become invalid. Below is the example for bind address info form with alphanumeric validation. **[See more features and examples.](http://rxweb.github.io)** | ||
export class User{ | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
@alpha() | ||
userName: string; | ||
> app/models/address.model.ts | ||
```js | ||
export class Address { | ||
@prop() @alphaNumeric() areaName: string; | ||
} | ||
``` | ||
> Note : Import all neccesary dependencies in the respective component. | ||
@alphaNumeric() | ||
areaCode: string; | ||
> app/components/address.component.ts | ||
```js | ||
@Component({ ...}) | ||
export class AddressComponent implements OnInit { | ||
addressFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let address = new Address(); | ||
this.addressFormGroup = this.formBuilder.formGroup(address); | ||
} | ||
} | ||
``` | ||
@prop() oldPassword: string; | ||
### compare | ||
compare validation decorator will match the entered value with compared field value. Property will valid if it matches the value. If not matched, then property will become invalid. **[See more features and examples.](http://rxweb.github.io)** | ||
@compare({ fieldName: "oldPassword" }) | ||
newPassword: string; | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
@contains({ value: "Admin" }) | ||
roleName: string; | ||
> app/models/reset-password.model.ts | ||
```js | ||
export class ResetPasswordModel { | ||
@prop() | ||
password: string; | ||
@creditCard({ creditCardTypes: [CreditCardType.Visa] }) | ||
creditCardNo: string; | ||
@prop() @compare({ fieldName: 'password' }) | ||
confirmPassword: string; | ||
} | ||
``` | ||
> Note : Import all neccesary dependencies in the respective component. | ||
@digit() | ||
joiningAge: number; | ||
> app/components/forgot-password.component.ts | ||
```js | ||
@Component({ ...}) | ||
export class ForgotPasswordComponent implements OnInit { | ||
resetPasswordFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let resetPassword = new ResetPasswordModel(); | ||
this.resetPasswordFormGroup = this.formBuilder.formGroup(resetPassword); | ||
} | ||
} | ||
``` | ||
@email() | ||
email: string; | ||
### contains | ||
contains validation decorator will check the entered value with defined contains value. If contains value is not matched, then property will become invalid. **[See more features and examples.](http://rxweb.github.io)** | ||
@greaterThan({ fieldName: 'joiningAge' }) | ||
retirementAge: number; | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
@greaterThanEqualTo({ fieldName: 'joiningAge' }) | ||
currentAge: number; | ||
> app/models/email-info.model.ts | ||
```js | ||
export class EmailInfoModel { | ||
@prop() @contains({ value: '@gmail.com' }) | ||
emailAddress: string; | ||
} | ||
``` | ||
> Note : Import all neccesary dependencies in the respective component. | ||
@hexColor() | ||
teamColorCode: string; | ||
> app/component/email-info.component.ts | ||
```js | ||
@Component({ ...}) | ||
export class EmailInfoComponent implements OnInit { | ||
emailInfoFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let emailInfo = new EmailInfoModel(); | ||
this.emailInfoFormGroup = this.formBuilder.formGroup(emailInfo); | ||
} | ||
} | ||
``` | ||
### creditCard | ||
@json() | ||
json: string; | ||
creditCard validation decorator will allow valid credit card number to be entered otherwise property will be invalid if incorrect value is entered. **[See more features and examples.](http://rxweb.github.io)** | ||
@prop() | ||
currentExperience: number; | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
@lessThanEqualTo({ fieldName: 'currentExperience' }) | ||
minimumExperience: string; | ||
> app/models/credit-card.model.ts | ||
@lessThan({ fieldName: "currentExperience" }) | ||
experience: string; | ||
```js | ||
export class CreditCardModel { | ||
@prop() @creditCard({ creditCardTypes: [CreditCardType.Visa] }) | ||
visaCard: number; | ||
} | ||
``` | ||
@lowerCase() | ||
cityName: string; | ||
> Note : Import all neccesary dependencies in the respective component. | ||
@maxLength({ value: 10 }) | ||
mobileNumber: string; | ||
> app/component/credit-card.component.ts | ||
@maxNumber({ value: 3 }) | ||
maximumBankAccount: string; | ||
```js | ||
@Component({ ...}) | ||
export class CreditCardComponent implements OnInit { | ||
creditCardFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let creditCard = new CreditCardModel(); | ||
this.creditCardFormGroup = this.formBuilder.formGroup(creditCard); | ||
} | ||
} | ||
``` | ||
@minLength({ value: 8 }) | ||
landlineNo: string; | ||
### digit | ||
@minNumber({ value: 1 }) | ||
minimumBankAccount: string; | ||
digit validation decorator will allow only digits to be entered. It will not allow any alphabets or special character. If user tries to do so the property will become invalid. **[See more features and examples.](http://rxweb.github.io)** | ||
@password({ validation: { maxLength: 10, minLength: 5, alphabet: true } }) | ||
password: string; | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
@pattern({ pattern: { 'zipCode': /^\d{5}(?:[-\s]\d{4})?$/ } }) | ||
zipCode: string | ||
> app/models/student-info.model.ts | ||
@range({ minimumNumber: 18, maximumNumber: 60 }) | ||
eligiblityAge: number; | ||
```js | ||
export class StudentInfo { | ||
@prop() @digit() | ||
age: number; | ||
} | ||
``` | ||
@required() | ||
stateName: string; | ||
> Note : Import all neccesary dependencies in the respective component. | ||
@time() | ||
entryTime: string; | ||
> app/component/student-info.component.ts | ||
@upperCase() | ||
countryCode: string; | ||
@url() | ||
socialProfileUrl: string | ||
@propObject(UserAddress) userAddress: UserAddress; | ||
@propArray(Course) courses: Array<Course>; | ||
} | ||
``` | ||
> user.address.model.ts | ||
```js | ||
@Component({ ...}) | ||
export class StudentInfoComponent implements OnInit { | ||
studentInfoFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let studentInfo = new StudentInfo(); | ||
this.studentInfoFormGroup = this.formBuilder.formGroup(studentInfo); | ||
} | ||
import { prop } from "@rxweb/reactive-form-validators"; | ||
export class UserAddress { | ||
@prop() mobileNo: string; | ||
} | ||
``` | ||
> course.model.ts | ||
```js | ||
import { prop } from "@rxweb/reactive-form-validators"; | ||
export class Course { | ||
@required() courseName:string; | ||
} | ||
``` | ||
> user.component.ts | ||
```js | ||
import { Component, OnInit } from '@angular/core'; | ||
import { RxFormBuilder } from '@rxweb/reactive-form-validators'; | ||
import { FormGroup } from '@angular/forms'; | ||
import { User } from "./user.model"; | ||
email validation decorator will allow valid email to be entered. If user tries to enter invalid email then, the property will become invalid. **[See more features and examples.](http://rxweb.github.io)** | ||
@Component({...}) | ||
> Note : `@prop()` is used for define the property name, if `@prop()` decorator will not use then without validation decorator property will not bind in formgroup object. | ||
export class UserComponent implements OnInit { | ||
userFormGroup: FormGroup; | ||
> app/models/student-info.model.ts | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
```js | ||
export class StudentInfo { | ||
@prop() @email() | ||
emailId: string; | ||
ngOnInit() { | ||
let user = new User(); | ||
user.currentExperience = 5; | ||
user.userAddress = new UserAddress(); // create nested object, this will bind as a `FormGroup`. | ||
let course = new Course(); | ||
user.courses = new Array<Course>(); // create nested array object, this will bind as a `FormArray`. | ||
user.courses.push(course); | ||
this.userFormGroup = this.formBuilder.formGroup(user); | ||
} | ||
} | ||
``` | ||
> Note : Import all neccesary dependencies in the respective component. | ||
> app/component/student-info.component.ts | ||
```js | ||
@Component({ ...}) | ||
export class StudentInfoComponent implements OnInit { | ||
studentInfoFormGroup: FormGroup; | ||
constructor(private formBuilder: RxFormBuilder) { } | ||
ngOnInit() { | ||
let studentInfo = new StudentInfo(); | ||
this.studentInfoFormGroup = this.formBuilder.formGroup(studentInfo); | ||
} | ||
} | ||
``` | ||
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
2366105
13379
238