/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ const e={all:{min:"2",max:"2"},none:{min:"2",max:"2"},any:{min:"2",max:"2"},reduce:{min:"2",max:"3"},map:{min:"2",max:"2"},filter:{min:"2",max:"2"},fromcodepoint:{min:"1",max:"*"},fromcharcode:{min:"1",max:"*"},tocodepoint:{min:"1",max:"2"},tocharcode:{min:"1",max:"2"},concatenate:{min:"0",max:"*"},expects:{min:"1",max:"*"},getfeatureset:{min:"1",max:"2"},week:{min:"1",max:"2"},fromjson:{min:"1",max:"1"},length3d:{min:"1",max:"2"},tohex:{min:"1",max:"1"},hash:{min:"1",max:"1"},isoweek:{min:"1",max:"1"},isoweekday:{min:"1",max:"1"},isomonth:{min:"1",max:"1"},isoyear:{min:"1",max:"1"},resize:{min:"2",max:"3"},slice:{min:"0",max:"*"},splice:{min:"0",max:"*"},push:{min:"2",max:"2"},pop:{min:"1",max:"1"},includes:{min:"2",max:"2"},array:{min:"1",max:"2"},front:{min:"1",max:"1"},back:{min:"1",max:"1"},insert:{min:"3",max:"3"},erase:{min:"2",max:"2"},split:{min:"2",max:"4"},guid:{min:"0",max:"1"},today:{min:"0",max:"0"},angle:{min:"2",max:"3"},bearing:{min:"2",max:"3"},urlencode:{min:"1",max:"1"},now:{min:"0",max:"0"},timestamp:{min:"0",max:"0"},day:{min:"1",max:"1"},month:{min:"1",max:"1"},year:{min:"1",max:"1"},hour:{min:"1",max:"1"},second:{min:"1",max:"1"},millisecond:{min:"1",max:"1"},minute:{min:"1",max:"1"},weekday:{min:"1",max:"1"},toutc:{min:"1",max:"1"},tolocal:{min:"1",max:"1"},date:{min:"0",max:"7"},datediff:{min:"2",max:"3"},dateadd:{min:"2",max:"3"},trim:{min:"1",max:"1"},text:{min:"1",max:"2"},left:{min:"2",max:"2"},right:{min:"2",max:"2"},mid:{min:"2",max:"3"},upper:{min:"1",max:"1"},proper:{min:"1",max:"2"},lower:{min:"1",max:"1"},find:{min:"2",max:"3"},iif:{min:"3",max:"3"},decode:{min:"2",max:"*"},when:{min:"2",max:"*"},defaultvalue:{min:"2",max:"2"},isempty:{min:"1",max:"1"},domaincode:{min:"2",max:"4"},domainname:{min:"2",max:"4"},polygon:{min:"1",max:"1"},point:{min:"1",max:"1"},polyline:{min:"1",max:"1"},extent:{min:"1",max:"1"},multipoint:{min:"1",max:"1"},ringisclockwise:{min:"1",max:"1"},geometry:{min:"1",max:"1"},count:{min:"0",max:"*"},number:{min:"1",max:"2"},acos:{min:"1",max:"1"},asin:{min:"1",max:"1"},atan:{min:"1",max:"1"},atan2:{min:"2",max:"2"},ceil:{min:"1",max:"2"},floor:{min:"1",max:"2"},round:{min:"1",max:"2"},cos:{min:"1",max:"1"},exp:{min:"1",max:"1"},log:{min:"1",max:"1"},min:{min:"0",max:"*"},constrain:{min:"3",max:"3"},console:{min:"0",max:"*"},max:{min:"0",max:"*"},pow:{min:"2",max:"2"},random:{min:"0",max:"0"},sqrt:{min:"1",max:"1"},sin:{min:"1",max:"1"},tan:{min:"1",max:"1"},abs:{min:"1",max:"1"},isnan:{min:"1",max:"1"},stdev:{min:"0",max:"*"},average:{min:"0",max:"*"},mean:{min:"0",max:"*"},sum:{min:"0",max:"*"},variance:{min:"0",max:"*"},distinct:{min:"0",max:"*"},first:{min:"1",max:"1"},top:{min:"2",max:"2"},boolean:{min:"1",max:"1"},dictionary:{min:"0",max:"*"},typeof:{min:"1",max:"1"},reverse:{min:"1",max:"1"},replace:{min:"3",max:"4"},sort:{min:"1",max:"2"},feature:{min:"1",max:"*"},haskey:{min:"2",max:"2"},indexof:{min:"2",max:"2"},disjoint:{min:"2",max:"2"},intersects:{min:"2",max:"2"},touches:{min:"2",max:"2"},crosses:{min:"2",max:"2"},within:{min:"2",max:"2"},contains:{min:"2",max:"2"},overlaps:{min:"2",max:"2"},equals:{min:"2",max:"2"},relate:{min:"3",max:"3"},intersection:{min:"2",max:"2"},union:{min:"1",max:"2"},difference:{min:"2",max:"2"},symmetricdifference:{min:"2",max:"2"},clip:{min:"2",max:"2"},cut:{min:"2",max:"2"},area:{min:"1",max:"2"},areageodetic:{min:"1",max:"2"},length:{min:"1",max:"2"},lengthgeodetic:{min:"1",max:"2"},distancegeodetic:{min:"2",max:"3"},distance:{min:"2",max:"3"},densify:{min:"2",max:"3"},densifygeodetic:{min:"2",max:"3"},generalize:{min:"2",max:"4"},buffer:{min:"2",max:"3"},buffergeodetic:{min:"2",max:"3"},offset:{min:"2",max:"6"},rotate:{min:"2",max:"3"},issimple:{min:"1",max:"1"},simplify:{min:"1",max:"1"},centroid:{min:"1",max:"1"},isselfintersecting:{min:"1",max:"1"},multiparttosinglepart:{min:"1",max:"1"},setgeometry:{min:"2",max:"2"},portal:{min:"1",max:"1"},getuser:{min:"1",max:"2"},subtypes:{min:"1",max:"1"},subtypecode:{min:"1",max:"1"},subtypename:{min:"1",max:"1"},domain:{min:"2",max:"3"},convertdirection:{min:"3",max:"3"},schema:{min:"1",max:"1"}};for(const k in e)e[k].fmin=e[k].min,e[k].fmax=e[k].max;const t=["featureset","getuser","featuresetbyid","featuresetbyname","featuresetbyassociation","featuresetbyrelationshipname","featuresetbyurl","getfeatureset","attachments","featuresetbyportalitem"],n=["disjoint","intersects","touches","crosses","within","contains","overlaps","equals","relate","intersection","union","difference","symmetricdifference","clip","cut","area","areageodetic","length","length3d","lengthgeodetic","distance","distancegeodetic","densify","densifygeodetic","generalize","buffer","buffergeodetic","offset","rotate","issimple","simplify","multiparttosinglepart"];function a(e){return"string"==typeof e||e instanceof String}function r(t,n){const a=e[t.name.toLowerCase()];void 0===a?e[t.name.toLowerCase()]="sync"===n?{min:t.min,max:t.max}:{fmin:t.min,fmax:t.max}:"sync"===n?(a.min=t.min,a.max=t.max):(a.fmin=t.min,a.fmax=t.max)}function i(e,t){return"0"!==e.min&&t.lengthNumber(e.max)?-2:1}function s(e,t,n){if(null!==n.localScope&&void 0!==n.localScope[e.toLowerCase()]){const a=n.localScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}if(void 0!==n.globalScope[e.toLowerCase()]){const a=n.globalScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}return-1}function o(e,t){if(e)for(const n of e)l(n,t)}function l(e,t){if(e&&!1!==t(e))switch(e.type){case"ArrayExpression":o(e.elements,t);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":l(e.left,t),l(e.right,t);break;case"BlockStatement":case"Program":o(e.body,t);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":l(e.callee,t),o(e.arguments,t);break;case"ExpressionStatement":l(e.expression,t);break;case"ForInStatement":l(e.left,t),l(e.right,t),l(e.body,t);break;case"ForStatement":l(e.init,t),l(e.test,t),l(e.update,t),l(e.body,t);break;case"FunctionDeclaration":l(e.id,t),o(e.params,t),l(e.body,t);break;case"IfStatement":l(e.test,t),l(e.consequent,t),l(e.alternate,t);break;case"MemberExpression":l(e.object,t),l(e.property,t);break;case"ObjectExpression":o(e.properties,t);break;case"Property":l(e.key,t),l(e.value,t);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":l(e.argument,t);break;case"VariableDeclaration":o(e.declarations,t);break;case"VariableDeclarator":l(e.id,t),l(e.init,t);break;case"TemplateLiteral":o(e.expressions,t),o(e.quasis,t)}}function m(e,t=!0){let n=b(e,"SYNTAX","UNREOGNISED");try{switch(e.type){case"VariableDeclarator":return"Identifier"!==e.id.type?b(e,"SYNTAX","VARIABLEMUSTHAVEIDENTIFIER"):null!==e.init?m(e.init,!1):"";case"VariableDeclaration":for(let a=0;a1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=m(e.right,t),""!==n?n:(n=m(e.body,t),""!==n?n:"");case"ForStatement":return null!==e.test&&(n=m(e.test,t),""!==n)||(null!==e.init&&(n=m(e.init,t),""!==n)||null!==e.update&&(n=m(e.update,t),""!==n)||null!==e.body&&(n=m(e.body,t),""!==n))?n:"";case"ContinueStatement":case"EmptyStatement":case"BreakStatement":case"Literal":case"TemplateElement":return"";case"IfStatement":return n=m(e.test,t),""!==n||null!==e.consequent&&(n=m(e.consequent,!1),""!==n)||null!==e.alternate&&(n=m(e.alternate,!1),""!==n)?n:"";case"BlockStatement":{const a=[];for(let t=0;t>":case"<<":case">>>":case"^":case"==":case"!=":case"<":case"<=":case">":case">=":case"+":case"-":case"*":case"/":case"%":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"LogicalExpression":if(n=m(e.left,t),""!==n)return n;if(n=m(e.right),""!==n)return n;switch(e.operator){case"&&":case"||":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"ArrayExpression":n="";for(let a=0;a1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=c(e.left,t),""!==n?n:(n=c(e.right,t),""!==n?n:(n=c(e.body,t),""!==n?n:""));case"ForStatement":return null!==e.init&&(n=c(e.init,t),""!==n)||(null!==e.test&&(n=c(e.test,t),""!==n)||null!==e.body&&(n=c(e.body,t),""!==n)||null!==e.update&&(n=c(e.update,t),""!==n))?n:"";case"UpdateExpression":{if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=!1;return"MemberExpression"===e.argument.type?c(e.argument,t):(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(n=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(n=!0),!1===n?"Identifier "+e.argument.name+" has not been declared.":"")}case"AssignmentExpression":{if("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=c(e.right,t);if(""!==n)return n;let a=!1;return"MemberExpression"===e.left.type?(n=c(e.left,t),""!==n?n:""):(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(a=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(a=!0),!1===a?"Identifier "+e.left.name+" has not been declared.":"")}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,c(e.expression,t);case"Identifier":{const a=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[a])return"";n=void 0!==t.globalScope[a]?"":b(e,"SYNTAX","VARIABLENOTFOUND");break}case"MemberExpression":return n=c(e.object,t),""!==n?n:!0===e.computed?c(e.property,t):"";case"CallExpression":{if("Identifier"!==e.callee.type)return b(e,"SYNTAX","ONLYNODESSUPPORTED");n="";for(let r=0;r!n&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===a&&(n=!0),!0))),n}function u(e,t){let n=!1;const a=t.toLowerCase();return l(e,(e=>!n&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==a||(n=!0,!1)))),n}function f(e){const t=[];return l(e,(e=>"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1))),t}function d(e){const t=[];return l(e,(e=>{if("CallExpression"===e.type){if("Identifier"===e.callee.type&&"expects"===e.callee.name.toLowerCase()){let n="";for(let r=0;r<(e.arguments||[]).length;r++)0===r?"Identifier"===e.arguments[r].type&&(n=e.arguments[r].name.toLowerCase()):n&&"Literal"===e.arguments[r].type&&a(e.arguments[r].value)&&t.push(n+"."+e.arguments[r].value.toLowerCase());return!1}if("Identifier"===e.callee.type&&["domainname","domaincode","domain","haskey"].includes(e.callee.name.toLowerCase())&&e.arguments.length>=2){let n="";return"Identifier"===e.arguments[0].type&&(n=e.arguments[0].name.toLowerCase()),n&&"Literal"===e.arguments[1].type&&a(e.arguments[1].value)&&t.push(n+"."+e.arguments[1].value.toLowerCase()),!1}}return"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1)})),t}function y(e,t){const n=[];if(void 0!==t.params&&null!==t.params)for(let a=0;a1&&a.push(g(e,"SYNTAX","ONLY1VAR")),null!==e.left.declarations[0].init&&a.push(g(e,"SYNTAX","CANNOTDECLAREVAL"))):"Identifier"!==e.left.type&&a.push(g(e,"SYNTAX","LEFTNOTVAR")),O(e.left,t,n,a,r),O(e.right,t,n,a,r),void O(e.body,t,n,a,r);case"ForStatement":return null!==e.init&&O(e.init,t,n,a,r),null!==e.test&&O(e.test,t,n,a,r),null!==e.body&&O(e.body,t,n,a,r),void(null!==e.update&&O(e.update,t,n,a,r));case"UpdateExpression":if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY"));else{if("Identifier"===e.argument.type){let r=!1;!1===n&&(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(r=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(r=!0),!1===r&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.argument.name+" has not been declared."}))}"MemberExpression"===e.argument.type&&O(e.argument,t,n,a,r)}return;case"AssignmentExpression":{switch("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type&&a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY")),e.operator){case"=":case"/=":case"*=":case"%=":case"+=":case"-=":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}O(e.right,t,n,a,r);let i=!1;return"Identifier"===e.left.type&&(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(i=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(i=!0),!1===n&&!1===i&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.left.name+" has not been declared."})),void("MemberExpression"===e.left.type&&O(e.left,t,n,a,r))}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,void O(e.expression,t,n,a,r);case"Identifier":{const r=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[r])return;if(void 0!==t.globalScope[r])return;!1===n&&a.push(g(e,"SYNTAX","VARIABLENOTFOUND"));break}case"MemberExpression":return O(e.object,t,n,a,r),void(!0===e.computed&&O(e.property,t,n,a,r));case"CallExpression":"Identifier"!==e.callee.type&&a.push(g(e,"SYNTAX","ONLYNODESSUPPORTED"));for(let i=0;i":case">=":case"+":case"-":case"*":case"/":case"%":case"&":case"|":case"^":case"<<":case">>":case">>>":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return;case"LogicalExpression":switch(e.operator){case"&&":case"||":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return O(e.left,t,n,a,r),"AssignmentExpression"!==e.left.type&&"UpdateExpression"!==e.left.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")),O(e.right,t,n,a,r),void("AssignmentExpression"!==e.right.type&&"UpdateExpression"!==e.right.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")));case"ArrayExpression":for(let i=0;i("CallExpression"===e.type&&"Identifier"===e.callee.type&&t.push(e.callee.name.toLowerCase()),!0))),t}function h(e,a=[]){let r=null;if(void 0===e.usesFeatureSet){null===r&&(r=I(e)),e.usesFeatureSet=!1;for(let n=0;n0)for(const t of a)if(p(e,t)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===r&&(r=I(e));for(let t=0;t