{"version":3,"sources":["webpack:///./src/api/participant.js","webpack:///./node_modules/xmldom/dom-parser.js","webpack:///./node_modules/core-js/modules/es.array.unshift.js","webpack:///./src/api/file.js","webpack:///./src/assets/images/file-icons/doc.png","webpack:///./node_modules/xmldom/dom.js","webpack:///./src/components/BroadcastDialog.vue?9a51","webpack:///./src/api/broadcast.js","webpack:///./src/components/ChangePasswordSidebar.vue","webpack:///src/components/ChangePasswordSidebar.vue","webpack:///./src/components/ChangePasswordSidebar.vue?e494","webpack:///./src/components/ChangePasswordSidebar.vue?8f32","webpack:///./src/api/user.js","webpack:///./node_modules/xmldom/sax.js","webpack:///./src/components/ChangePasswordSidebar.vue?1636","webpack:///./src/views/Users.vue?a5d3","webpack:///./src/assets/images/file-icons/xls.png","webpack:///./src/views/Users.vue","webpack:///./node_modules/read-excel-file/modules/unpackXlsxFileBrowser.js","webpack:///./node_modules/read-excel-file/modules/xmlNode.js","webpack:///./node_modules/read-excel-file/modules/parseDate.js","webpack:///./node_modules/read-excel-file/modules/readXlsx.js","webpack:///./node_modules/read-excel-file/modules/types/Integer.js","webpack:///./node_modules/read-excel-file/modules/types/URL.js","webpack:///./node_modules/read-excel-file/modules/types/Email.js","webpack:///./node_modules/read-excel-file/modules/convertToJson.js","webpack:///./node_modules/read-excel-file/modules/convertMapToSchema.js","webpack:///./node_modules/read-excel-file/modules/readXlsxFileContents.js","webpack:///./node_modules/read-excel-file/modules/readXlsxFileBrowser.js","webpack:///./src/components/UserSidebar.vue","webpack:///src/components/UserSidebar.vue","webpack:///./src/components/UserSidebar.vue?f06a","webpack:///./src/components/UserSidebar.vue?739c","webpack:///./src/components/BroadcastDialog.vue","webpack:///./src/api/team-member.js","webpack:///src/components/BroadcastDialog.vue","webpack:///./src/components/BroadcastDialog.vue?51bb","webpack:///./src/components/BroadcastDialog.vue?0b88","webpack:///src/views/Users.vue","webpack:///./src/views/Users.vue?8b79","webpack:///./src/views/Users.vue?9272","webpack:///./node_modules/xpath/xpath.js"],"names":["endpoint","create","eventId","params","cb","errorCb","url","concat","responseHandler","response","data","errorHandler","e","client","post","then","catch","register","get","id","getList","bulkDelete","ids","participant_ids","JSON","stringify","delete","update","put","deleteProfile","bulkCreate","participants","bulkUpdate","exportList","type","query","buildQuery","checkIn","me","saveProfile","verifyCode","cancelSeat","confirmSeat","generateQR","DOMParser","options","this","locator","buildErrorHandler","errorImpl","domBuilder","DOMHandler","isCallback","Function","build","key","fn","length","msg","_locator","cdata","position","node","lineNumber","columnNumber","l","systemId","_toString","chars","start","substr","java","lang","String","appendElement","hander","currentElement","appendChild","doc","prototype","parseFromString","source","mimeType","sax","XMLReader","defaultNSMap","xmlns","entityMap","setDocumentLocator","test","nbsp","copy","xml","parse","error","startDocument","DOMImplementation","createDocument","documentURI","startElement","namespaceURI","localName","qName","attrs","el","createElementNS","len","i","getURI","value","getValue","attr","getQName","createAttributeNS","getLocator","nodeValue","setAttributeNode","endElement","current","tagName","parentNode","startPrefixMapping","prefix","uri","endPrefixMapping","processingInstruction","target","ins","createProcessingInstruction","ignorableWhitespace","ch","characters","apply","arguments","charNode","createCDATASection","createTextNode","skippedEntity","name","endDocument","normalize","comment","comm","createComment","startCDATA","endCDATA","startDTD","publicId","impl","implementation","createDocumentType","dt","warning","console","warn","fatalError","replace","exports","XMLSerializer","$","toObject","lengthOfArrayLike","setArrayLength","deletePropertyOrThrow","doesNotExceedSafeInteger","INCORRECT_RESULT","unshift","properErrorOnNonWritableLength","Object","defineProperty","writable","TypeError","FORCED","proto","arity","forced","item","O","argCount","k","to","j","CancelToken","axios","upload","progressCallback","cancelCallback","config","onUploadProgress","progressEvent","percentCompleted","Math","floor","loaded","total","cancelToken","c","module","src","dest","p","_extends","Class","Super","pt","ppt","__proto__","t","constructor","htmlns","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","HIERARCHY_REQUEST_ERR","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","NOT_FOUND_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","INUSE_ATTRIBUTE_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","DOMException","code","message","Error","call","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","list","inc","_inc","ownerDocument","ls","__set__","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","_onAddAttribute","_removeNamedNode","lastIndex","features","_features","feature","Node","_xmlEncoder","charCodeAt","_visitNode","callback","firstChild","nextSibling","Document","ns","_nsMap","remove","_onUpdateChild","newChild","cs","childNodes","child","_removeChild","previous","previousSibling","next","lastChild","_insertBefore","nextChild","cp","removeChild","nodeType","newFirst","newLast","pre","_appendSingleChild","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","documentElement","lookupPrefix","visibleNamespaces","namespace","serializeToString","join","needNamespaceDefine","isHTML","push","attributes","nodeName","pubid","sysid","sub","internalSubset","importNode","deep","node2","cloneNode","n","v","attrs2","_ownerElement","object","index","toString","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","version","versions","toLowerCase","qualifiedName","doctype","root","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","map","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getAttribute","createElement","createDocumentFragment","createAttribute","specified","createEntityReference","pl","split","hasAttribute","getAttributeNode","setAttribute","removeAttribute","removeAttributeNode","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","getElementsByTagName","base","getElementsByTagNameNS","substringData","offset","count","substring","text","insertData","replaceData","deleteData","end","splitText","newText","newNode","getTextContent","$$length","set","render","_vm","_c","_self","staticClass","printTitlePrompt","isFormValid","$t","isSidebarActiveLocal","on","$event","changePassword","closeSidebar","activeRouteName","directives","rawName","expression","model","old_password","$$v","_e","class","new_password","errors","has","_v","_s","first","confirm_password","slot","isSaving","staticRenderFns","props","isSidebarActive","Boolean","required","default","components","password","showPassword","showPassword2","valid","isUploading","settings","maxScrollbarLength","wheelSpeed","icon","paramsUser","watch","val","entries","$validator","reset","computed","$emit","any","scrollbarTag","$store","getters","$route","methods","profile","resetInput","_this","param","$vs","notify","title","iconPack","color","errorCallback","getAxiosErrorMessage","usersApi","forceUpdatePassword","authApi","changePasswordUser","_this2","component","resetPassword","email","setPassword","validateResetPasswordCode","currentPassword","newPassword","current_password","createBulk","users","search","searchWithRole","role","getUsers","getUsersByRole","updatePassword","getStats","responseType","approve","nameStartChar","nameChar","RegExp","slice","tagNamePattern","S_TAG","S_ATTR","S_ATTR_SPACE","S_EQ","S_ATTR_NOQUOT_VALUE","S_ATTR_END","S_TAG_SPACE","S_TAG_CLOSE","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","entityReplacer","a","charAt","parseInt","appendText","xt","m","lineEnd","linePattern","exec","lineStart","parseStack","currentNSMap","closeMap","tagStart","indexOf","match","pop","localNSMap","endMatch","endIgnoreCaseMach","parseInstruction","parseDCC","ElementAttributes","parseElementStartPart","closed","fixSelfClosed","locator2","copyLocator","parseHtmlSpecialContent","max","f","attrName","s","add","setTagName","nsp","nsPrefix","_copy","elStartEnd","elEndStart","pos","lastIndexOf","matchs","lastMatch","endDTD","_set_proto_","thiz","parent","reg","getLocalName","staticStyle","addNewDataSidebar","sidebarData","toggleDataSidebar","insert","AddNewDataDialogBroadcast","dialogDataBroadcast","toggleDataDialogBroadcast","ref","limit","totalUsers","onSearch","onSort","changePage","scopedSlots","_u","_ref","_l","tr","indextr","username","_f","stopPropagation","editData","selected","addNewData","isExporting","listExport","dialogImport","isImporting","AddNewBroadcast","filterAll","isFilterAll","filterSuperAdmin","isFilterSuperAdmin","filterClient","isFilterClient","filterParticipant","isFilterParticipant","page","changeLimit","exportUsers","require","tmpUsers","closeDialogImport","handleImportBulk","preventDefault","totalPages","addNewDataSidebarPassword","sidebarDataPassword","toggleDataSidebarPassword","unpackXlsxFile","file","zip","files","forEach","relativePath","zipEntry","dir","Promise","all","async","content","select","path","namespaces","undefined","useNamespaces","parseExcelDate","excelSerialDate","epoch1904","daysBeforeUnixEpoch","hour","Date","round","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_i","Symbol","iterator","done","err","Array","isArray","assign","hasOwnProperty","r","rr","letters","readXlsx","contents","sheet","fileNames","parseFileNames","values","parseValues","sharedStrings","styles","parseStyles","properties","parseProperties","getSheets","sheets","sheetRelationId","_sheet","relationId","_iterator","_isArray","_ref2","_sheet2","createSheetNotFoundError","parseSheet","cells","_sheet$dimensions","dimensions","leftTop","rightBottom","colsCount","column","rowsCount","row","_iterator2","_isArray2","_i2","_ref3","cell","transformData","dropEmptyRows","dropEmptyColumns","rowMap","calculateDimensions","comparator","b","allRows","sort","allCols","minRow","maxRow","minCol","maxCol","colToInt","col","CellCoords","coords","trim","Cell","cellNode","textContent","parseFloat","style","numberFormat","dateFormat","template","smartDateParser","isDateTemplate","accessor","_","empty","_iterator3","_isArray3","_i3","_ref4","splice","_iterator4","_isArray4","_i4","_ref5","_ref6","_ref7","strings","string","baseStyles","parseCellStyle","numFmts","parseNumberFormatStyle","reduce","formats","format","xf","xfId","numFmt","numberFormatId","book","workbookProperties","_iterator5","_isArray5","_i5","_ref8","document","_iterator6","_isArray6","_i6","_ref9","relationship","filePath","tokens","_iterator7","_isArray7","_i7","_ref10","token","sheetsList","Integer","isInteger","isNaN","x","URL","regexp","isURL","Email","isEmail","_typeof","obj","DEFAULT_OPTIONS","isColumnOriented","_options","validateSchema","schema","transpose","columns","results","result","read","rows","rowIndex","_loop","schemaEntry","isNestedSchema","rawValue","notEmpty","array","parseArray","_value","parseValue","prop","keys","_ret","parseCustomValue","parseValueOfType","oneOf","validate","Number","isFinite","date","getBlock","endCharacter","startIndex","_character","block","blocks","_getBlock","_getBlock2","_key","entry","convertMapToSchema","_objectWithoutProperties","readXlsxFileContents","convertToJson","readXlsxFile","rtl","tag","dataImg","updateCurrImg","$refs","updateImgInput","click","dataId","dataEmail","dataPassword","dataName","dataPhone","dataAddress","dataRegion","dataRole","roles","dataGender","submitData","VuePerfectScrollbar","dataUsername","dataBirthDate","dataJobTitle","initValues","setData","mobile_phone","address","region","birth_date","job_title","gender","_duplicateVar","duplicateVar","birthDate","dayjs","phone","validateAll","isUpdate","user","input","reader","FileReader","onload","readAsDataURL","isFetching","dataIds","dataTitle","assignee","isSelectAll","isDialogActiveLocal","submitDataBroadCast","close","selectedFilter","filterStatuses","searchKeyword","dataType","onRecipientChange","participantsOptions","teamMembersOptions","selectAllTeamMembers","usersOptions","first_name","last_name","selectAllUsers","onChangeTemplate","dataSelectedTemplate","broadcastTemplates","onChangePreviousBroadcast","dataPrevious","broadcastsOptions","dataIsSendEmail","dataIsSendSms","dataContent","updateCurrFile","dataFile","isVideo","isDialogActive","eventSlug","teamSlug","dataEventId","dataAssignee","dataStatus","dataOrder","teamMembers","broadcasts","selectAllParticipants","types","BROADCAST_TEMPLATES","fetchBroadcast","selectAllParticipantIds","removeAllBroadcast","selectAllTeamMemberIds","selectAllUserIds","fetch","recipients","participant","newItem","status","keyword","filter","isTextMatched","isMatched","filtered","allItem","is_send_sms","is_send_email","event_id","resetForm","broadcastsApi","fetchParticipants","event_slug","participantsApi","fetchTeamMembers","_this3","team_slug","teamMembersApi","fetchUsers","_this4","_this5","formData","FormData","append","fileApi","curr","participantsIds","teamMemberIds","userIds","filename","_this6","order_by","sort_by","findIndex","isAllIndex","created","UserSidebar","BroadcastDialog","VueXlsx","ChangePasswordSidebar","isAll","orderBy","sortBy","selectedItem","isFormVisible","isDeleteVisible","isDeleting","isMounted","loading","lastPage","last_page","dialog","accept","deleteRecord","acceptText","cancelText","deleteRecords","showCustomFields","isCustomFieldsVisible","delay","sortKey","sortType","$set","itemId","onSelectAll","event","elem","isCheckbox","classList","contains","isCheckAll","closest","isChecked","checked","onImport","showFileImport","excelDataConverted","excelData","body","notifTitle","newUsers","createdUsers","existingUsers","recoveryUsers","_this7","downloadBlob","_objectSpread","mapGetters","isLoggedIn","addEventListener","destroyed","removeEventListener","mounted","xpath","curry","func","totalargs","partial","args","xs","seed","acc","mapped","compose","funcs","reverse","f0","fRem","includes","always","wrap","pref","suf","str","nextSource","nextKey","XPathParser","init","XPath","setIfUnset","Expression","UnaryOperation","rhs","UnaryMinusOperation","BinaryOperation","lhs","OrOperation","AndOperation","EqualsOperation","NotEqualOperation","LessThanOperation","GreaterThanOperation","LessThanOrEqualOperation","GreaterThanOrEqualOperation","PlusOperation","MinusOperation","MultiplyOperation","DivOperation","ModOperation","BarOperation","PathExpr","filterPreds","locpath","findRoot","LocationPath","abs","steps","Step","axis","nodetest","preds","NodeTest","VariableReference","FunctionCall","superclass","reduceActions","locationPath","DESCENDANTORSELF","nodeTest","Utilities","instance_of","filterPredicates","XString","XNumber","absolute","CHILD","ANCESTOR","ANCESTORORSELF","ATTRIBUTE","DESCENDANT","FOLLOWING","FOLLOWINGSIBLING","NAMESPACE","PARENT","PRECEDING","PRECEDINGSIBLING","SELF","commentTest","textTest","anyPiTest","PITest","nameTestAny","NameTestPrefixAny","NameTestQName","actionTable","actionTableNumber","gotoTable","productions","DOUBLEDOT","DOUBLECOLON","DOUBLESLASH","NOTEQUAL","LESSTHANOREQUAL","GREATERTHANOREQUAL","AND","OR","MOD","DIV","MULTIPLYOPERATOR","FUNCTIONNAME","AXISNAME","LITERAL","NUMBER","ASTERISKNAMETEST","QNAME","NCNAMECOLONASTERISK","NODETYPE","PROCESSINGINSTRUCTIONWITHLITERAL","EQUALS","LESSTHAN","GREATERTHAN","PLUS","MINUS","BAR","SLASH","LEFTPARENTHESIS","RIGHTPARENTHESIS","COMMA","AT","LEFTBRACKET","RIGHTBRACKET","DOT","DOLLAR","tokenize","s1","number","isLetter","isNCNameChar","last","delimiter","literal","XPathException","fromMessage","SHIFT","REDUCE","ACCEPT","res","tokenPos","state","tokenType","tokenValue","num","s_","evaluate","contextNode","expressionContextNode","contextSize","contextPosition","XML_NAMESPACE_URI","XMLNS_NAMESPACE_URI","negate","bool","booleanValue","equals","notequal","lessthan","greaterthan","lessthanorequal","greaterthanorequal","plus","minus","multiply","div","mod","nodeset","union","applyPredicates","predicates","nodes","inNodes","pred","ctx","extend","predicateMatches","getRoot","xpc","firstNode","virtualRoot","ownerDoc","applyStep","step","newNodes","getOwnerElement","matches","nnm","st","nm","nsn","XPathNamespace","outer","applySteps","applyFilter","XNodeSet","nonNodes","toUnsortedArray","applyLocationPath","startNodes","XPathContext","filterResult","addArray","numberValue","predicateString","predicatesString","filterStr","selectSingleNode","elts","elt","an","STEPNAMES","NAMETESTANY","NAMETESTPREFIXANY","NAMETESTQNAME","COMMENT","TEXT","PI","NODE","isNodeType","makeNodeTestType","members","ctor","newType","makeNodeTypeTest","nodeTypes","stringVal","hasPrefix","isElementOrAttribute","nameSpaceMatches","nNamespace","allowAnyNamespaceForNoPrefix","namespaceResolver","getNamespace","localNameMatches","nLocalName","caseInsensitive","XPATH_NAMESPACE_NODE","nameParts","variable","parts","resolveQName","variableResolver","getVariable","functionName","FunctionResolver","getFunctionFromContext","functionResolver","thisArg","Operators","padSmallNumber","numberStr","exponent","padLargeNumber","zerosToAppend","XBoolean","AVLTree","nodeOrder","n1","n2","compareDocumentPosition","cpos","d1","d2","m1","m2","n1Par","n2Par","n1isAttr","isAttribute","n2isAttr","cn","isXPathNamespace","vr","nr","fr","VariableResolver","NamespaceResolver","Functions","functions","addStandardFunctions","stringValue","compareWithString","NaN","strValue","compareWithNumber","not","compareWithBoolean","true_","false_","left","right","depth","balance","ldepth","rdepth","lldepth","lrdepth","rotateRR","rotateLL","rrdepth","rldepth","nodeBefore","rightBefore","updateInNewLocation","leftBefore","getDepthFromChildren","o","ret","tree","size","stringForNode","stringForContainerNode","isNamespaceNode","nt","buildTree","self","toArray","toArrayRec","compareWithNodeSet","oInvert","lop","rop","compareWith","newProps","ln","startsWith","substringBefore","substringAfter","stringLength","normalizeSpace","translate","boolean_","sum","ceiling","addFunction","context","getFunction","aname","eNode","baseName","s2","isSpace","eValue","eFrom","eTo","from","cMap","ceil","splitQName","qn","useDefault","coalesceText","del","getMessage","exception","INVALID_EXPRESSION_ERR","TYPE_ERR","XPathExpression","XPathNSResolverWrapper","xpathNSResolver","NodeXPathNSResolver","XPathResult","ANY_TYPE","STRING_TYPE","NUMBER_TYPE","BOOLEAN_TYPE","UNORDERED_NODE_ITERATOR_TYPE","resultType","ANY_UNORDERED_NODE_TYPE","FIRST_ORDERED_NODE_TYPE","singleNodeValue","ORDERED_NODE_ITERATOR_TYPE","invalidIteratorState","iteratorIndex","UNORDERED_NODE_SNAPSHOT_TYPE","ORDERED_NODE_SNAPSHOT_TYPE","snapshotLength","installDOM3XPathSupport","createExpression","createNSResolver","getOwnerDocument","detectHtmlDom","iterateNext","snapshotItem","shouldInstall","parser","defaultNSResolver","defaultFunctionResolver","defaultVariableResolver","makeNSResolverFromFunction","makeNSResolverFromObject","bind","makeNSResolverFromMap","makeNSResolver","resolver","convertValue","makeEvaluator","arg","makeFunctionResolverFromFunction","found","makeFunctionResolverFromObject","makeFunctionResolverFromMap","makeFunctionResolver","makeVariableResolverFromFunction","makeVariableResolver","copyIfPresent","makeContext","variables","parsedExpression","evaluatorPrototype","evaluateNumber","evaluateString","evaluateBoolean","evaluateNodeSet","select1","parsed","single","selectWithResolver","mappings"],"mappings":"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5B,EAAKA,EAAKU,iBAAkBN,EAASO,SAAU,KACjEpC,EAAI,IAEZl/B,KAAKmhC,cAAc,IAAM,SAASjC,GAGjC,OAFAA,EAAI,GAAGwB,MAAMlvB,KAAK,IAAImvB,EAAKA,EAAKU,iBAAkBN,EAASO,SAAU,KACrEpC,EAAI,GAAGwB,MAAMlvB,KAAK0tB,EAAI,IACfA,EAAI,IAEZl/B,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO,IAAIyB,EAAKA,EAAK6B,KAAMzB,EAASO,SAAU,KAE/CthC,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO,IAAIyB,EAAKA,EAAK0B,OAAQtB,EAASO,SAAU,KAEjDthC,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO,IAAI8B,EAAkB9B,EAAI,KAElCl/B,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO6B,EAAS8B,aAEjB7iC,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO,IAAI6B,EAAS+B,kBAAkB5D,EAAI,GAAGtqB,MAAM,KAAK,KAEzD5U,KAAKmhC,cAAc,IAAM,SAASjC,GACjC,OAAO,IAAI6B,EAASgC,cAAc7D,EAAI,MAIxCN,EAAYoE,YAAc,CACzB,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,wCAGDpE,EAAYqE,kBAAoB,CAC/B,wCACA,uCACA,uCACA,uCACA,wCACA,wCACA,wCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,wCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,wCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,wCACA,uCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,wCACA,uCACA,wCACA,wCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,wCACA,wCACA,wCACA,wCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,uCACA,4DACA,uCACA,wCACA,uCACA,wCAGDrE,EAAYsE,UAAY,CACvB,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,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K,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,OAALA,GACAA,GAAK,OAAUA,GAAK,OAGtBi4B,GAAUoE,aAAe,SAASr8B,GACjC,OAAOA,GAAK,IAAUA,GAAK,IACvBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,IAALA,GACK,IAALA,GACK,IAALA,GACAi4B,GAAUmE,SAASp8B,IACnBA,GAAK,KAAUA,GAAK,KACpBA,GAAK,KAAUA,GAAK,KACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,MAAUA,GAAK,MACf,MAALA,GACAA,GAAK,OAAUA,GAAK,OACf,OAALA,GACK,OAALA,GACK,KAALA,GACK,KAALA,GACK,KAALA,GACK,KAALA,GACK,MAALA,GACK,MAALA,GACK,MAALA,GACK,OAALA,GACAA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OAGzBi4B,GAAUkS,aAAe,SAASthC,GACjC,IAAK,IAAIgM,EAAIhM,EAAE7D,WAAiB,MAAL6P,EAAWA,EAAIA,EAAE5P,YAC3C,GAAkB,GAAd4P,EAAEzO,UAAkD,GAAdyO,EAAEzO,SAA2C,CACtF,IAAIoQ,EAAI3B,EAAE9Z,UACNiU,EAAQ6F,EACZA,EAAIA,EAAE5P,YACN,MAAY,MAAL4P,IAA4B,GAAdA,EAAEzO,UAAkD,GAAdyO,EAAEzO,UAA4C,CACxGoQ,GAAK3B,EAAE9Z,UACP,IAAIqvC,EAAMv1B,EACVA,EAAIA,EAAE5P,YACNmlC,EAAIhvC,WAAW+K,YAAYikC,GAE5B,GAAsB,GAAlBp7B,EAAM5I,SAA2C,CACpD,IAAIhG,EAAI4O,EAAM5T,WACd,GAAyB,MAArB4T,EAAM/J,YACT7E,EAAE+F,YAAY6I,GACd5O,EAAE3H,YAAY2H,EAAEuD,cAAcvH,eAAeoa,QACvC,CACN,IAAI1Q,EAAOkJ,EAAM/J,YACjB7E,EAAE+F,YAAY6I,GACd5O,EAAE6J,aAAa7J,EAAEuD,cAAcvH,eAAeoa,GAAI1Q,SAGnDkJ,EAAMjU,UAAYyb,EAEnB,GAAS,MAAL3B,EACH,WAEuB,GAAdA,EAAEzO,UACZ6xB,GAAUkS,aAAat1B,IAK1BojB,GAAUC,YAAc,SAASoP,EAAGtnC,GACnC,MAAY,MAALsnC,EAAW,CACjB,GAAIA,EAAE1mC,cAAgBZ,EACrB,OAAO,EAER,GAAIsnC,IAAMlpC,OACT,OAAO,EAERkpC,EAAIA,EAAE1mC,YAAYg3B,WAEnB,OAAO,GAGRK,GAAUptB,eAAiB,SAAShC,EAAG9T,GAGtC,GAAkB,GAAd8T,EAAEzC,WACDyC,EAAEkC,aAAa,OAAShW,GACvB8T,EAAEoD,eAAe,KAAM,OAASlX,GACpC,OAAO8T,EAGT,IAAK,IAAIgM,EAAIhM,EAAE7D,WAAiB,MAAL6P,EAAWA,EAAIA,EAAE5P,YAAa,CACxD,IAAI63B,EAAM7E,GAAUptB,eAAegK,EAAG9f,GACtC,GAAW,MAAP+nC,EACH,OAAOA,EAGT,OAAO,MAKR,IAAIL,GAAiB,WACjB,SAAS4N,EAAWxnC,EAAMynC,GACtB,IAAIhzC,EAAMgzC,EAAY,KAAOA,EAAUnhC,WAAa,GACpD,OAAQtG,GACJ,KAAK45B,EAAe8N,uBAChB,MAAO,qBAAuBjzC,EAClC,KAAKmlC,EAAe+N,SAChB,MAAO,aAAelzC,EAE9B,OAAO,KAGX,SAASmlC,EAAe55B,EAAMnJ,EAAOoJ,GACjC,IAAIia,EAAMha,MAAMC,KAAKtM,KAAM2zC,EAAWxnC,EAAMnJ,IAAUoJ,GAKtD,OAHAia,EAAIla,KAAOA,EACXka,EAAIutB,UAAY5wC,EAETqjB,EAkBX,OAfA0f,EAAe9jC,UAAYyF,OAAOvK,OAAOkP,MAAMpK,WAC/C8jC,EAAe9jC,UAAUiI,YAAc67B,EACvCA,EAAe7E,WAAa70B,MAE5B05B,EAAe9jC,UAAUwQ,SAAW,WAChC,OAAOzS,KAAKoM,SAGhB25B,EAAeC,YAAc,SAAS55B,EAASpJ,GAC3C,OAAO,IAAI+iC,EAAe,KAAM/iC,EAAOoJ,IAG3C25B,EAAe8N,uBAAyB,GACxC9N,EAAe+N,SAAW,GAEnB/N,EApCU,GA6CrB,SAASgO,GAAgBj2C,EAAG4oB,EAAGhd,GAC9B1J,KAAKq9B,MAAQ3zB,EAAE3G,MAAMjF,GACrBkC,KAAKyyC,QAAU,IAAIxI,EACnBjqC,KAAKyyC,QAAQxG,kBAAoB,IAAI+H,GAAuBttB,GAoC7D,SAASstB,GAAuBttB,GAC/B1mB,KAAKi0C,gBAAkBvtB,EAgBxB,SAASwtB,GAAoB/hC,GAC5BnS,KAAKgB,KAAOmR,EACZnS,KAAKisC,kBAAoB,IAAI6C,GAa9B,SAASqF,GAAY/hC,EAAGnI,GAavB,OAZIA,GAAKkqC,GAAYC,WAChBhiC,EAAElI,cAAgBw3B,EACrBz3B,EAAIkqC,GAAYE,YACNjiC,EAAElI,cAAgBy3B,EAC5B13B,EAAIkqC,GAAYG,YACNliC,EAAElI,cAAgBsjC,EAC5BvjC,EAAIkqC,GAAYI,aACNniC,EAAElI,cAAgB0/B,IAC5B3/B,EAAIkqC,GAAYK,+BAGlBx0C,KAAKy0C,WAAaxqC,EACVA,GACP,KAAKkqC,GAAYG,YAEhB,YADAt0C,KAAKoqC,YAAch4B,EAAEg4B,eAEtB,KAAK+J,GAAYE,YAEhB,YADAr0C,KAAKkvC,YAAc98B,EAAE88B,eAEtB,KAAKiF,GAAYI,aAEhB,YADAv0C,KAAKonC,aAAeh1B,EAAEg1B,gBAEvB,KAAK+M,GAAYO,wBACjB,KAAKP,GAAYQ,wBAChB,GAAIviC,EAAElI,cAAgB0/B,EAErB,YADA5pC,KAAK40C,gBAAkBxiC,EAAEkG,SAG1B,MACD,KAAK67B,GAAYK,6BACjB,KAAKL,GAAYU,2BAChB,GAAIziC,EAAElI,cAAgB0/B,EAIrB,OAHA5pC,KAAK80C,sBAAuB,EAC5B90C,KAAKooC,MAAQh2B,EAAEk/B,eACftxC,KAAK+0C,cAAgB,GAGtB,MACD,KAAKZ,GAAYa,6BACjB,KAAKb,GAAYc,2BAChB,GAAI7iC,EAAElI,cAAgB0/B,EAGrB,OAFA5pC,KAAKooC,MAAQh2B,EAAEk/B,eACftxC,KAAKk1C,eAAiBl1C,KAAKooC,MAAMznC,QAGlC,MAEF,MAAM,IAAIolC,GAAeA,GAAe+N,UAgCzC,SAASqB,GAAwBnzC,EAAK0H,GACrC1H,EAAIozC,iBAAmB,SAASt3C,EAAG4oB,GAClC,IACC,OAAO,IAAIqtB,GAAgBj2C,EAAG4oB,EAAGhd,GAChC,MAAO5L,GACR,MAAM,IAAIioC,GAAeA,GAAe8N,uBAAwB/1C,KAGlEkE,EAAIqzC,iBAAmB,SAASljC,GAC/B,OAAO,IAAI+hC,GAAoB/hC,IAEhCnQ,EAAI2kC,SAAW,SAAS7oC,EAAG0wC,EAAI9nB,EAAGzc,EAAGm8B,GACpC,GAAIn8B,EAAI,GAAKA,EAAI,EAChB,KAAM,CAAEkC,KAAM,EAAGsG,SAAU,WAAa,MAAO,+BAE1C,OAAOzQ,EAAIozC,iBAAiBt3C,EAAG4oB,EAAGhd,GAAGi9B,SAAS6H,EAAIvkC,EAAGm8B,IA1K7D2N,GAAgB9xC,UAAY,GAC5B8xC,GAAgB9xC,UAAUiI,YAAc6pC,GACxCA,GAAgB7S,WAAax5B,OAAOzF,UAQpC8xC,GAAgBuB,iBAAmB,SAAUnjC,GAC5C,OAAsB,IAAfA,EAAEzC,SAAwCyC,EAAIA,EAAElF,eAGxD8mC,GAAgBwB,cAAgB,SAAUpjC,GACzC,IAAKA,EAAK,OAAO,EAEjB,IAAInQ,EAAM+xC,GAAgBuB,iBAAiBnjC,GAE3C,IACC,OAAOnQ,EAAIuE,eAAeyM,WAAW,OAAQ,OAC5C,MAAOlV,GACR,OAAO,IAITi2C,GAAgB9xC,UAAU0kC,SAAW,SAASx0B,EAAGlI,EAAGm8B,GACnDpmC,KAAKyyC,QAAQ5L,sBAAwB10B,EAIrCnS,KAAKyyC,QAAQpG,gBAAkB0H,GAAgBwB,cAAcpjC,GAE7D,IAAI8c,EAASjvB,KAAKq9B,MAAMsJ,SAAS3mC,KAAKyyC,SACtC,OAAO,IAAI0B,GAAYllB,EAAQhlB,IAKhC+pC,GAAuB/xC,UAAY,GACnC+xC,GAAuB/xC,UAAUiI,YAAc8pC,GAC/CA,GAAuB9S,WAAax5B,OAAOzF,UAM3C+xC,GAAuB/xC,UAAUiqC,aAAe,SAAStnC,EAAQuN,GAC7D,OAA4B,MAAxBnS,KAAKi0C,gBACE,KAEPj0C,KAAKi0C,gBAAgBjgC,mBAAmBpP,IAKhDsvC,GAAoBjyC,UAAY,GAChCiyC,GAAoBjyC,UAAUiI,YAAcgqC,GAC5CA,GAAoBhT,WAAax5B,OAAOzF,UAOxCiyC,GAAoBjyC,UAAU+R,mBAAqB,SAASpP,GAC3D,OAAO5E,KAAKisC,kBAAkBC,aAAatnC,EAAQ5E,KAAKgB,OAKzDmzC,GAAYlyC,UAAY,GACxBkyC,GAAYlyC,UAAUiI,YAAciqC,GACpCA,GAAYjT,WAAax5B,OAAOzF,UAqDhCkyC,GAAYlyC,UAAUuzC,YAAc,WACnC,GAAIx1C,KAAKy0C,YAAcN,GAAYK,8BAC9Bx0C,KAAKy0C,YAAcN,GAAYU,2BACnC,MAAM,IAAI9O,GAAeA,GAAe+N,UAEzC,OAAO9zC,KAAKooC,MAAMpoC,KAAK+0C,kBAGxBZ,GAAYlyC,UAAUwzC,aAAe,SAAS5xC,GAC7C,GAAI7D,KAAKy0C,YAAcN,GAAYa,8BAC9Bh1C,KAAKy0C,YAAcN,GAAYc,2BACnC,MAAM,IAAIlP,GAAeA,GAAe+N,UAEzC,OAAO9zC,KAAKooC,MAAMvkC,IAGnBswC,GAAYC,SAAW,EACvBD,GAAYG,YAAc,EAC1BH,GAAYE,YAAc,EAC1BF,GAAYI,aAAe,EAC3BJ,GAAYK,6BAA+B,EAC3CL,GAAYU,2BAA6B,EACzCV,GAAYa,6BAA+B,EAC3Cb,GAAYc,2BAA6B,EACzCd,GAAYO,wBAA0B,EACtCP,GAAYQ,wBAA0B,EA0BtC,IACC,IAAIe,IAAgB,EACpB,IACK1oB,SAASzmB,gBACRymB,SAASzmB,eAAeyM,YACxBga,SAASzmB,eAAeyM,WAAW,QAAS,QAChD0iC,IAAgB,GAEhB,MAAO53C,KAEL43C,IACHP,GAAwBnoB,SAAU,IAAI4R,GAEtC,MAAO9gC,KAMTq3C,GAAwBpuC,EAAS,IAAI63B,GAErC,WACI,IAAI+W,EAAS,IAAI/W,EAEbgX,EAAoB,IAAI9G,GACxB+G,EAA0B,IAAI/I,GAC9BgJ,EAA0B,IAAIjH,EAElC,SAASkH,EAA2BxY,GAChC,MAAO,CACH2O,aAAc,SAAUtnC,EAAQ5D,GAC5B,IAAIyN,EAAK8uB,EAAK34B,EAAQ5D,GAEtB,OAAOyN,GAAMmnC,EAAkB1J,aAAatnC,EAAQ5D,KAKhE,SAASg1C,EAAyBxnB,GAC9B,OAAOunB,EAA2BvnB,EAAI0d,aAAa+J,KAAKznB,IAG5D,SAAS0nB,EAAsBniC,GAC3B,OAAOgiC,GAA2B,SAAUnxC,GACxC,OAAOmP,EAAInP,MAInB,SAASuxC,EAAeC,GACpB,OAAIA,GAA6C,oBAA1BA,EAASlK,aACrB8J,EAAyBI,GAGZ,oBAAbA,EACAL,EAA2BK,GAId,kBAAbA,EACAF,EAAsBE,GAG1BR,EAIX,SAASS,EAAatyC,GAClB,GAAc,OAAVA,GACiB,qBAAVA,GACPA,aAAiB29B,GACjB39B,aAAiBypC,GACjBzpC,aAAiB49B,GACjB59B,aAAiB6lC,EACjB,OAAO7lC,EAGX,cAAeA,GACX,IAAK,SAAU,OAAO,IAAI29B,EAAQ39B,GAClC,IAAK,UAAW,OAAO,IAAIypC,EAASzpC,GACpC,IAAK,SAAU,OAAO,IAAI49B,EAAQ59B,GAItC,IAAI0K,EAAK,IAAIm7B,EAEb,OADAn7B,EAAG07B,SAAS,GAAG1sC,OAAOsG,IACf0K,EAGX,SAAS6nC,EAAc/Y,GACnB,OAAO,SAAUkV,GACb,IAAI/U,EAAOpX,MAAMrkB,UAAU6a,MAAMxQ,KAAK/G,UAAW,GAAGwO,KAAI,SAAUwiC,GAC9D,OAAOA,EAAI5P,SAAS8L,MAEpBxjB,EAASsO,EAAKj4B,MAAMtF,KAAM,GAAGvC,OAAOg1C,EAAS/U,IACjD,OAAO2Y,EAAapnB,IAI5B,SAASunB,EAAiCjZ,GACtC,MAAO,CACHmV,YAAa,SAAU9sC,EAAMuL,GACzB,IAAIslC,EAAQlZ,EAAK33B,EAAMuL,GACvB,OAAIslC,EACOH,EAAcG,GAElBZ,EAAwBnD,YAAY9sC,EAAMuL,KAK7D,SAASulC,EAA+BloB,GACpC,OAAOgoB,EAAiChoB,EAAIkkB,YAAYuD,KAAKznB,IAGjE,SAASmoB,EAA4B5iC,GACjC,OAAOyiC,GAAiC,SAAU5wC,GAC9C,OAAOmO,EAAInO,MAInB,SAASgxC,EAAqBR,GAC1B,OAAIA,GAA4C,oBAAzBA,EAAS1D,YACrBgE,EAA+BN,GAGlB,oBAAbA,EACAI,EAAiCJ,GAIpB,kBAAbA,EACAO,EAA4BP,GAGhCP,EAGX,SAASgB,EAAiCtZ,GACtC,MAAO,CACHqP,YAAa,SAAUhnC,EAAMuL,GACzB,IAAIpN,EAAQw5B,EAAK33B,EAAMuL,GACvB,OAAOklC,EAAatyC,KAKhC,SAAS+yC,EAAqBV,GAC1B,GAAIA,EAAU,CACV,GAAoC,oBAAzBA,EAASxJ,YAChB,OAAOiK,EAAiCT,EAASxJ,YAAYqJ,KAAKG,IAGtE,GAAwB,oBAAbA,EACP,OAAOS,EAAiCT,GAI5C,GAAwB,kBAAbA,EACP,OAAOS,GAAiC,SAAUjxC,GAC9C,OAAOwwC,EAASxwC,MAK5B,OAAOkwC,EAGd,SAASiB,EAAcjnB,EAAMrmB,EAAMtH,GAC9B2tB,KAAQ3tB,IAAUsH,EAAKqmB,GAAQ3tB,EAAO2tB,IAGxC,SAASknB,EAAYj3C,GACjB,IAAI0yC,EAAU,IAAIxI,EAalB,OAXIlqC,GACA0yC,EAAQxG,kBAAoBkK,EAAep2C,EAAQklB,YACnDwtB,EAAQzF,iBAAmB4J,EAAqB72C,EAAQivC,WACxDyD,EAAQ9F,iBAAmBmK,EAAqB/2C,EAAQk3C,WACjExE,EAAQ5L,sBAAwB9mC,EAAQiB,KACxC+1C,EAAc,+BAAgCtE,EAAS1yC,GACvDg3C,EAAc,SAAUtE,EAAS1yC,IAExB0yC,EAAQxG,kBAAoB2J,EAGzBnD,EAGX,SAAS9L,EAASuQ,EAAkBn3C,GAChC,IAAI0yC,EAAUuE,EAAYj3C,GAE1B,OAAOm3C,EAAiBvQ,SAAS8L,GAGrC,IAAI0E,EAAqB,CACrBxQ,SAAU,SAAU5mC,GAChB,OAAO4mC,EAAS3mC,KAAK2X,WAAY5X,IAGpCq3C,eAAgB,SAAUr3C,GACvB,OAAOC,KAAK2mC,SAAS5mC,GAASqqC,eAGjCiN,eAAgB,SAAUt3C,GACvB,OAAOC,KAAK2mC,SAAS5mC,GAASmvC,eAGjCoI,gBAAiB,SAAUv3C,GACxB,OAAOC,KAAK2mC,SAAS5mC,GAASqnC,gBAGjCmQ,gBAAiB,SAAUx3C,GACxB,OAAOC,KAAK2mC,SAAS5mC,GAASioC,WAGjCjjB,OAAQ,SAAUhlB,GACf,OAAOC,KAAKu3C,gBAAgBx3C,GAASuxC,WAGxCkG,QAAS,SAAUz3C,GAChB,OAAOC,KAAK+kB,OAAOhlB,GAAS,KAIpC,SAASgD,EAAMs6B,GACX,IAAIoa,EAAS9B,EAAO5yC,MAAMs6B,GAE1B,OAAO31B,OAAOvK,OAAOg6C,EAAoB,CACrCx/B,WAAY,CACR5T,MAAO0zC,KAKnB1wC,EAAQhE,MAAQA,EArNpB,GAwNAgE,EAAQ+3B,MAAQA,EAChB/3B,EAAQ63B,YAAcA,EACtB73B,EAAQotC,YAAcA,GAEtBptC,EAAQ45B,KAAOA,EACf55B,EAAQg6B,SAAWA,EACnBh6B,EAAQo5B,aAAeA,EAEvBp5B,EAAQ+nC,kBAAoBA,GAC5B/nC,EAAQ+lC,iBAAmBA,GAC3B/lC,EAAQ8nC,iBAAmBA,EAE3B9nC,EAAQw6B,UAAYA,GAEpBx6B,EAAQkjC,aAAeA,EACvBljC,EAAQ6iC,SAAWA,EACnB7iC,EAAQymC,SAAWA,EACnBzmC,EAAQ26B,QAAUA,EAClB36B,EAAQ46B,QAAUA,EAGlB56B,EAAQge,OAAS,SAASjnB,EAAGkE,EAAK01C,GACjC,OAAO3wC,EAAQ4wC,mBAAmB75C,EAAGkE,EAAK,KAAM01C,IAGjD3wC,EAAQoe,cAAgB,SAASyyB,GAChC,IAAIxB,EAAW,CACdwB,SAAUA,GAAY,GACtB5jC,mBAAoB,SAASpP,GAC5B,OAAO5E,KAAK43C,SAAShzC,KAIvB,OAAO,SAAS9G,EAAGkE,EAAK01C,GACvB,OAAO3wC,EAAQ4wC,mBAAmB75C,EAAGkE,EAAKo0C,EAAUsB,KAItD3wC,EAAQ4wC,mBAAqB,SAAS75C,EAAGkE,EAAKo0C,EAAUsB,GACvD,IAAI//B,EAAa,IAAIo8B,GAAgBj2C,EAAGs4C,EAAU,IAAIxX,GAClDx/B,EAAO+0C,GAAYC,SAEnBnlB,EAAStX,EAAWgvB,SAAS3kC,EAAK5C,EAAM,MAkB5C,OAhBI6vB,EAAOwlB,YAAcN,GAAYE,YACpCplB,EAASA,EAAOigB,YAERjgB,EAAOwlB,YAAcN,GAAYG,YACzCrlB,EAASA,EAAOmb,YAERnb,EAAOwlB,YAAcN,GAAYI,aACzCtlB,EAASA,EAAOmY,cAGhBnY,EAASA,EAAOmZ,MACZsP,IACHzoB,EAASA,EAAO,KAIXA,GAGRloB,EAAQywC,QAAU,SAAS15C,EAAGkE,GAC7B,OAAO+E,EAAQge,OAAOjnB,EAAGkE,GAAK,KAnjJ/B,CAujJGq7B","file":"js/chunk-13037613.adb6b99e.js","sourcesContent":["import client from '../lib/http-client';\nimport { buildQuery } from '../lib/helper';\n\nconst endpoint = '/participants';\n\n\nexport default {\n // Create\n create(eventId, params, cb, errorCb) {\n const url = `${endpoint}/${eventId}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // register\n register(eventId, params, cb, errorCb) {\n const url = `${endpoint}/${eventId}/register`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get\n get(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get List\n getList(params, cb, errorCb) {\n const url = endpoint;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Delete\n bulkDelete(ids, cb, errorCb) {\n const params = {\n participant_ids: JSON.stringify(ids),\n // is_deleted: 1,\n };\n const url = `${endpoint}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.delete(url, { data: params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Update\n update(id, params, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n\n // Delete\n delete(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.delete(url)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n deleteProfile(cb, errorCb) {\n const url = `${endpoint}/profile`;\n client.delete(url)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Bulk Create\n bulkCreate(eventId, participants, cb, errorCb) {\n const url = `${endpoint}/${eventId}/bulk`;\n const params = {\n participants: JSON.stringify(participants),\n };\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Update\n bulkUpdate(params, cb, errorCb) {\n const url = `${endpoint}/bulk/update`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.put(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Export Participants\n exportList(type, params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n const query = buildQuery(params);\n const url = `${endpoint}/export/${type}?${query}`;\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Check-in\n checkIn(params, cb, errorCb) {\n const url = `${endpoint}/checkIn`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get my participant\n me(params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n const query = buildQuery(params);\n const url = `${endpoint}/me?${query}`;\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n saveProfile(id, params, cb, errorCb) {\n const url = `${endpoint}/${id}/update`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n // Verify code\n verifyCode(params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n const query = buildQuery(params);\n const url = `${endpoint}/verifyCode?${query}`;\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n cancelSeat(eventId, params, cb, errorCb) {\n const url = `${endpoint}/${eventId}/cancelSeat`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n confirmSeat(eventId, params, cb, errorCb) {\n const url = `${endpoint}/${eventId}/confirmSeat`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n generateQR(params, cb, errorCb) {\n const url = `${endpoint}/qrcode/generate`;\n client.post(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n};\n","function DOMParser(options){\r\n\tthis.options = options ||{locator:{}};\r\n\t\r\n}\r\nDOMParser.prototype.parseFromString = function(source,mimeType){\r\n\tvar options = this.options;\r\n\tvar sax = new XMLReader();\r\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\r\n\tvar errorHandler = options.errorHandler;\r\n\tvar locator = options.locator;\r\n\tvar defaultNSMap = options.xmlns||{};\r\n\tvar entityMap = {'lt':'<','gt':'>','amp':'&','quot':'\"','apos':\"'\"}\r\n\tif(locator){\r\n\t\tdomBuilder.setDocumentLocator(locator)\r\n\t}\r\n\t\r\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\r\n\tsax.domBuilder = options.domBuilder || domBuilder;\r\n\tif(/\\/x?html?$/.test(mimeType)){\r\n\t\tentityMap.nbsp = '\\xa0';\r\n\t\tentityMap.copy = '\\xa9';\r\n\t\tdefaultNSMap['']= 'http://www.w3.org/1999/xhtml';\r\n\t}\r\n\tdefaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';\r\n\tif(source){\r\n\t\tsax.parse(source,defaultNSMap,entityMap);\r\n\t}else{\r\n\t\tsax.errorHandler.error(\"invalid doc source\");\r\n\t}\r\n\treturn domBuilder.doc;\r\n}\r\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\r\n\tif(!errorImpl){\r\n\t\tif(domBuilder instanceof DOMHandler){\r\n\t\t\treturn domBuilder;\r\n\t\t}\r\n\t\terrorImpl = domBuilder ;\r\n\t}\r\n\tvar errorHandler = {}\r\n\tvar isCallback = errorImpl instanceof Function;\r\n\tlocator = locator||{}\r\n\tfunction build(key){\r\n\t\tvar fn = errorImpl[key];\r\n\t\tif(!fn && isCallback){\r\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\r\n\t\t}\r\n\t\terrorHandler[key] = fn && function(msg){\r\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\r\n\t\t}||function(){};\r\n\t}\r\n\tbuild('warning');\r\n\tbuild('error');\r\n\tbuild('fatalError');\r\n\treturn errorHandler;\r\n}\r\n\r\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\r\n/**\r\n * +ContentHandler+ErrorHandler\r\n * +LexicalHandler+EntityResolver2\r\n * -DeclHandler-DTDHandler \r\n * \r\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\r\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\r\n */\r\nfunction DOMHandler() {\r\n this.cdata = false;\r\n}\r\nfunction position(locator,node){\r\n\tnode.lineNumber = locator.lineNumber;\r\n\tnode.columnNumber = locator.columnNumber;\r\n}\r\n/**\r\n * @see org.xml.sax.ContentHandler#startDocument\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\r\n */ \r\nDOMHandler.prototype = {\r\n\tstartDocument : function() {\r\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\r\n \tif (this.locator) {\r\n \tthis.doc.documentURI = this.locator.systemId;\r\n \t}\r\n\t},\r\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\r\n\t\tvar doc = this.doc;\r\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\r\n\t var len = attrs.length;\r\n\t appendElement(this, el);\r\n\t this.currentElement = el;\r\n\t \r\n\t\tthis.locator && position(this.locator,el)\r\n\t for (var i = 0 ; i < len; i++) {\r\n\t var namespaceURI = attrs.getURI(i);\r\n\t var value = attrs.getValue(i);\r\n\t var qName = attrs.getQName(i);\r\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\r\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\r\n\t\t\tattr.value = attr.nodeValue = value;\r\n\t\t\tel.setAttributeNode(attr)\r\n\t }\r\n\t},\r\n\tendElement:function(namespaceURI, localName, qName) {\r\n\t\tvar current = this.currentElement\r\n\t\tvar tagName = current.tagName;\r\n\t\tthis.currentElement = current.parentNode;\r\n\t},\r\n\tstartPrefixMapping:function(prefix, uri) {\r\n\t},\r\n\tendPrefixMapping:function(prefix) {\r\n\t},\r\n\tprocessingInstruction:function(target, data) {\r\n\t var ins = this.doc.createProcessingInstruction(target, data);\r\n\t this.locator && position(this.locator,ins)\r\n\t appendElement(this, ins);\r\n\t},\r\n\tignorableWhitespace:function(ch, start, length) {\r\n\t},\r\n\tcharacters:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t\t//console.log(chars)\r\n\t\tif(chars){\r\n\t\t\tif (this.cdata) {\r\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\r\n\t\t\t} else {\r\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\r\n\t\t\t}\r\n\t\t\tif(this.currentElement){\r\n\t\t\t\tthis.currentElement.appendChild(charNode);\r\n\t\t\t}else if(/^\\s*$/.test(chars)){\r\n\t\t\t\tthis.doc.appendChild(charNode);\r\n\t\t\t\t//process xml\r\n\t\t\t}\r\n\t\t\tthis.locator && position(this.locator,charNode)\r\n\t\t}\r\n\t},\r\n\tskippedEntity:function(name) {\r\n\t},\r\n\tendDocument:function() {\r\n\t\tthis.doc.normalize();\r\n\t},\r\n\tsetDocumentLocator:function (locator) {\r\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\r\n\t \tlocator.lineNumber = 0;\r\n\t }\r\n\t},\r\n\t//LexicalHandler\r\n\tcomment:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t var comm = this.doc.createComment(chars);\r\n\t this.locator && position(this.locator,comm)\r\n\t appendElement(this, comm);\r\n\t},\r\n\t\r\n\tstartCDATA:function() {\r\n\t //used in characters() methods\r\n\t this.cdata = true;\r\n\t},\r\n\tendCDATA:function() {\r\n\t this.cdata = false;\r\n\t},\r\n\t\r\n\tstartDTD:function(name, publicId, systemId) {\r\n\t\tvar impl = this.doc.implementation;\r\n\t if (impl && impl.createDocumentType) {\r\n\t var dt = impl.createDocumentType(name, publicId, systemId);\r\n\t this.locator && position(this.locator,dt)\r\n\t appendElement(this, dt);\r\n\t }\r\n\t},\r\n\t/**\r\n\t * @see org.xml.sax.ErrorHandler\r\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\r\n\t */\r\n\twarning:function(error) {\r\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\r\n\t},\r\n\terror:function(error) {\r\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\r\n\t},\r\n\tfatalError:function(error) {\r\n\t\tconsole.error('[xmldom fatalError]\\t'+error,_locator(this.locator));\r\n\t throw error;\r\n\t}\r\n}\r\nfunction _locator(l){\r\n\tif(l){\r\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\r\n\t}\r\n}\r\nfunction _toString(chars,start,length){\r\n\tif(typeof chars == 'string'){\r\n\t\treturn chars.substr(start,length)\r\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\r\n\t\tif(chars.length >= start+length || start){\r\n\t\t\treturn new java.lang.String(chars,start,length)+'';\r\n\t\t}\r\n\t\treturn chars;\r\n\t}\r\n}\r\n\r\n/*\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\r\n * used method of org.xml.sax.ext.LexicalHandler:\r\n * #comment(chars, start, length)\r\n * #startCDATA()\r\n * #endCDATA()\r\n * #startDTD(name, publicId, systemId)\r\n *\r\n *\r\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\r\n * #endDTD()\r\n * #startEntity(name)\r\n * #endEntity(name)\r\n *\r\n *\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\r\n * IGNORED method of org.xml.sax.ext.DeclHandler\r\n * \t#attributeDecl(eName, aName, type, mode, value)\r\n * #elementDecl(name, model)\r\n * #externalEntityDecl(name, publicId, systemId)\r\n * #internalEntityDecl(name, value)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\r\n * IGNORED method of org.xml.sax.EntityResolver2\r\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\r\n * #resolveEntity(publicId, systemId)\r\n * #getExternalSubset(name, baseURI)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\r\n * IGNORED method of org.xml.sax.DTDHandler\r\n * #notationDecl(name, publicId, systemId) {};\r\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\r\n */\r\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\r\n\tDOMHandler.prototype[key] = function(){return null}\r\n})\r\n\r\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\r\nfunction appendElement (hander,node) {\r\n if (!hander.currentElement) {\r\n hander.doc.appendChild(node);\r\n } else {\r\n hander.currentElement.appendChild(node);\r\n }\r\n}//appendChild and setAttributeNS are preformance key\r\n\r\n//if(typeof require == 'function'){\r\n\tvar XMLReader = require('./sax').XMLReader;\r\n\tvar DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;\r\n\texports.XMLSerializer = require('./dom').XMLSerializer ;\r\n\texports.DOMParser = DOMParser;\r\n//}\r\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","import axios from 'axios';\nimport client from '../lib/http-client';\n\nconst CancelToken = axios.CancelToken;\n\nconst endpoint = '/uploads';\n\nexport default {\n /**\n\t * File Upload\n\t * @param {Object} params Params\n\t * @param {File} params.fileUpload File to be uploaded\n\t * @param {*} cb\n\t * @param {*} errorCb\n\t */\n upload(params, cb, errorCb, progressCallback, cancelCallback) {\n const url = `${endpoint}`;\n const config = {\n onUploadProgress: (progressEvent) => {\n const percentCompleted = Math.floor((progressEvent.loaded * 100) / progressEvent.total);\n if (progressCallback) progressCallback(percentCompleted);\n },\n cancelToken: new CancelToken(((c) => {\n // An executor function receives a cancel function as a parameter\n if (cancelCallback) {\n // eslint-disable-next-line no-param-reassign\n cancelCallback(c);\n }\n })),\n };\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params, config)\n .then(responseHandler)\n .catch(errorHandler);\n },\n};\n","module.exports = \"data:image/png;base64,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\"","/*\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n */\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tdest[p] = src[p];\n\t}\n}\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(Object.create){\n\t\tvar ppt = Object.create(Super.prototype)\n\t\tpt.__proto__ = ppt;\n\t}\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknow Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\nvar htmlns = 'http://www.w3.org/1999/xhtml' ;\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0, \n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long \n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index. \n\t */\n\titem: function(index) {\n\t\treturn this[index] || null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t\t\n\t\t\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\t\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n/**\n * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490\n */\nfunction DOMImplementation(/* Object */ features) {\n\tthis._features = {};\n\tif (features) {\n\t\tfor (var feature in features) {\n\t\t\t this._features = features[feature];\n\t\t}\n\t}\n};\n\nDOMImplementation.prototype = {\n\thasFeature: function(/* string */ feature, /* string */ version) {\n\t\tvar versions = this._features[feature.toLowerCase()];\n\t\tif (versions && (!version || version in versions)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype;\n\t\tif(doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif(qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI,qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId;\n\t\tnode.systemId = systemId;\n\t\t// Introduced in DOM Level 2:\n\t\t//readonly attribute DOMString internalSubset;\n\t\t\n\t\t//TODO:..\n\t\t// readonly attribute NamedNodeMap entities;\n\t\t// readonly attribute NamedNodeMap notations;\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises \n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises \n\t\tthis.insertBefore(newChild,oldChild);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n \t\t\t\tif(map[n] == namespaceURI){\n \t\t\t\t\treturn n;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(prefix in map){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n}\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\nfunction _onUpdateChild(doc,el,newChild){\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif(newChild){\n\t\t\tcs[cs.length++] = newChild;\n\t\t}else{\n\t\t\t//console.log(1)\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile(child){\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild =child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t}\n\t}\n}\n\n/**\n * attributes;\n * children;\n * \n * writeable properties:\n * nodeValue,Attr:value,CharacterData:data\n * prefix\n */\nfunction _removeChild(parentNode,child){\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif(previous){\n\t\tprevious.nextSibling = next;\n\t}else{\n\t\tparentNode.firstChild = next\n\t}\n\tif(next){\n\t\tnext.previousSibling = previous;\n\t}else{\n\t\tparentNode.lastChild = previous;\n\t}\n\t_onUpdateChild(parentNode.ownerDocument,parentNode);\n\treturn child;\n}\n/**\n * preformance key(refChild == null)\n */\nfunction _insertBefore(parentNode,newChild,nextChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tcp.removeChild(newChild);//remove and update\n\t}\n\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = newChild.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn newChild;\n\t\t}\n\t\tvar newLast = newChild.lastChild;\n\t}else{\n\t\tnewFirst = newLast = newChild;\n\t}\n\tvar pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = nextChild;\n\t\n\t\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparentNode.firstChild = newFirst;\n\t}\n\tif(nextChild == null){\n\t\tparentNode.lastChild = newLast;\n\t}else{\n\t\tnextChild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parentNode;\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);\n\t//console.log(parentNode.lastChild.nextSibling == null)\n\tif (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnewChild.firstChild = newChild.lastChild = null;\n\t}\n\treturn newChild;\n}\nfunction _appendSingleChild(parentNode,newChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tvar pre = parentNode.lastChild;\n\t\tcp.removeChild(newChild);//remove and update\n\t\tvar pre = parentNode.lastChild;\n\t}\n\tvar pre = parentNode.lastChild;\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = pre;\n\tnewChild.nextSibling = null;\n\tif(pre){\n\t\tpre.nextSibling = newChild;\n\t}else{\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument,parentNode,newChild);\n\treturn newChild;\n\t//console.log(\"__aa\",parentNode.lastChild.nextSibling == null)\n}\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\t\n\tinsertBefore : function(newChild, refChild){//raises \n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\tif(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t\t\n\t\treturn _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\t\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.target = target;\n\t\tnode.nodeValue= node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\t\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\t\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\t\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t\t\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\t\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9?this.documentElement:this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\t\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\nfunction needNamespaceDefine(node,isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix||'';\n\tvar uri = node.namespaceURI;\n\tif (!prefix && !uri){\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === \"http://www.w3.org/XML/1998/namespace\" \n\t\t|| uri == 'http://www.w3.org/2000/xmlns/'){\n\t\treturn false;\n\t}\n\t\n\tvar i = visibleNamespaces.length \n\t//console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\t//console.log(node.nodeType,node.tagName,ns.prefix,prefix)\n\t\tif (ns.prefix == prefix){\n\t\t\treturn ns.namespace != uri;\n\t\t}\n\t}\n\t//console.log(isHTML,uri,prefix=='')\n\t//if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){\n\t//\treturn false;\n\t//}\n\t//node.flag = '11111'\n\t//console.error(3,true,node.flag,node.prefix,node.namespaceURI)\n\treturn true;\n}\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tif (!visibleNamespaces) visibleNamespaces = [];\n\t\tvar startVisibleNamespaces = visibleNamespaces.length;\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\t\t\n\t\tisHTML = (htmlns === node.namespaceURI) ||isHTML \n\t\tbuf.push('<',nodeName);\n\t\t\n\t\t\n\t\t\n\t\tfor(var i=0;i');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn buf.push(' ',node.name,'=\"',node.value.replace(/[<&\"]/g,_xmlEncoder),'\"');\n\tcase TEXT_NODE:\n\t\treturn buf.push(node.data.replace(/[<&]/g,_xmlEncoder));\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM \"',sysid,'\">');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get\n get(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get List\n getList(eventId, params, cb, errorCb) {\n const url = `${endpoint}/${eventId}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Delete\n bulkDelete(ids, cb, errorCb) {\n const params = {\n ids: JSON.stringify(ids),\n // is_deleted: 1,\n };\n const url = `${endpoint}/bulk/delete`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.delete(url, { data: params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Update\n update(id, params, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Delete\n delete(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.delete(url)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('vs-prompt',{staticClass:\"dialog-password\",attrs:{\"title\":_vm.printTitlePrompt(),\"is-valid\":_vm.isFormValid,\"accept-text\":_vm.$t('Save Changes'),\"cancel-text\":_vm.$t('Cancel'),\"active\":_vm.isSidebarActiveLocal},on:{\"accept\":function($event){return _vm.changePassword()},\"cancel\":function($event){return _vm.closeSidebar()},\"close\":function($event){return _vm.closeSidebar()},\"update:active\":function($event){_vm.isSidebarActiveLocal=$event}}},[_c('div',{staticClass:\"con-exemple-prompt broadcast-container\"},[_c('div',{staticClass:\"p-6\"},[_c('form',[_c('div',{staticClass:\"vx-row\"},[(_vm.activeRouteName !== 'users')?_c('div',{staticClass:\"vx-col w-full mb-2\"},[_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"w-full\",attrs:{\"autocomplete\":\"\",\"label-placeholder\":_vm.$t('Current Password'),\"name\":\"Old Password\",\"type\":\"password\"},model:{value:(_vm.old_password),callback:function ($$v) {_vm.old_password=$$v},expression:\"old_password\"}})],1):_vm._e(),_c('div',{staticClass:\"vx-col w-full mb-2\"},[_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"},{name:\"validate\",rawName:\"v-validate\",value:('min:6'),expression:\"'min:6'\"}],staticClass:\"w-full\",class:{'mt-8': _vm.activeRouteName !== 'users', 'mt-0': _vm.activeRouteName === 'users'},attrs:{\"autocomplete\":\"\",\"label-placeholder\":_vm.$t('New Password'),\"name\":\"New Password\",\"type\":\"password\"},model:{value:(_vm.new_password),callback:function ($$v) {_vm.new_password=$$v},expression:\"new_password\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('New Password')),expression:\"errors.has('New Password')\"}],staticClass:\"text-danger text-sm\"},[_vm._v(_vm._s(_vm.errors.first('New Password')))])],1)]),_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full mb-2\"},[_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"},{name:\"validate\",rawName:\"v-validate\",value:('min:6'),expression:\"'min:6'\"}],staticClass:\"mt-8 w-full\",attrs:{\"autocomplete\":\"\",\"label-placeholder\":_vm.$t('Confirm Password'),\"name\":\"Confirm Password\",\"type\":\"password\"},model:{value:(_vm.confirm_password),callback:function ($$v) {_vm.confirm_password=$$v},expression:\"confirm_password\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('Confirm Password')),expression:\"errors.has('Confirm Password')\"}],staticClass:\"text-danger text-sm\"},[_vm._v(_vm._s(_vm.errors.first('Confirm Password')))])],1)])])])]),_c('div',{staticClass:\"flex flex-wrap items-center p-6\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('vs-button',{staticClass:\"mr-6\",class:{ 'is-loading': _vm.isSaving },attrs:{\"disabled\":!_vm.isFormValid},on:{\"click\":_vm.changePassword}},[_vm._v(\" \"+_vm._s(_vm.$t('Submit'))+\" \")]),_c('vs-button',{attrs:{\"type\":\"border\",\"color\":\"danger\"},on:{\"click\":function($event){_vm.isSidebarActiveLocal = false}}},[_vm._v(_vm._s(_vm.$t('Cancel')))])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePasswordSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePasswordSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChangePasswordSidebar.vue?vue&type=template&id=92ef3046\"\nimport script from \"./ChangePasswordSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./ChangePasswordSidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChangePasswordSidebar.vue?vue&type=style&index=0&id=92ef3046&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import client from '../lib/http-client';\nimport { buildQuery } from '../lib/helper';\n\nconst endpoint = '/users';\n\nexport default {\n // Reset Password\n resetPassword(email, cb, errorCb) {\n const params = {\n email,\n };\n const url = `${endpoint}/password/reset`;\n client.post(url, params)\n .then((response) => {\n if (cb) {\n cb(response.data);\n }\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n\n // Set Password\n setPassword(params, cb, errorCb) {\n const url = `${endpoint}/password/reset/create`;\n client.post(url, params)\n .then((response) => {\n if (cb) {\n cb(response.data);\n }\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n\n // Validate Reset Password Code\n validateResetPasswordCode(params, cb, errorCb) {\n const url = `${endpoint}/password/reset/validate`;\n client.post(url, params)\n .then((response) => {\n if (cb) {\n cb(response.data);\n }\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n\n // Change Password\n changePassword(currentPassword, newPassword, cb, errorCb) {\n const params = {\n current_password: currentPassword,\n new_password: newPassword,\n };\n const url = `${endpoint}/password`;\n client.put(url, params)\n .then((response) => {\n cb(response.data);\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n\n // Create User\n create(params, cb, errorCb) {\n const url = endpoint;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n /**\n\t * Create Bulk\n\t *\n\t * @param {Object[]} users Users\n\t * @param {string} users.email Email\n\t * @param {string} users.password Password\n\t * @param {string} users.language Language\n\t * @param {string} users.firstName First Name\n\t * @param {string} users.gender Gender\n\t * @param {*} cb Callback\n\t * @param {*} errorCb Error Callback\n\t */\n createBulk(users, cb, errorCb) {\n const url = `${endpoint}/createBulk`;\n const params = { users: JSON.stringify(users) };\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get\n get(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n /**\n\t * Search\n\t *\n\t * @param {string} role Role\n\t * @param {object} params Params\n\t * @param {number} params.page Page\n\t * @param {number} params.limit Limit\n\t * @param {string} params.role Role\n\t * @param {string} params.keyword Keyword\n\t * @param {*} cb Callback\n\t * @param {*} errorCb Error Callback\n\t */\n search(params, cb, errorCb) {\n const url = `${endpoint}/search`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n /**\n\t * Search with Role\n\t *\n\t * @param {string} role Role\n\t * @param {object} params Params\n\t * @param {number} params.page Page\n\t * @param {number} params.limit Limit\n\t * @param {string} params.keyword Keyword\n\t * @param {*} cb Callback\n\t * @param {*} errorCb Error Callback\n\t */\n searchWithRole(role, params, cb, errorCb) {\n const url = `${endpoint}/search/${role}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get Users\n getUsers(params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n const query = buildQuery(params);\n const url = `${endpoint}?${query}`;\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n /**\n\t * Get Users by Role\n\t *\n\t * @param {'admin' | 'teacher' | 'student'} role User Role\n\t * @param {Object} params Query Params\n\t * @param {*} cb\n\t * @param {*} errorCb\n\t */\n getUsersByRole(role, params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n // const query = buildQuery(params);\n // const url = `${endpoint}/role/${role}?${query}`;\n const url = `${endpoint}/role/${role}`;\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Delete\n bulkDelete(ids, cb, errorCb) {\n const params = {\n ids: JSON.stringify(ids),\n // is_deleted: 1,\n };\n const url = `${endpoint}/bulk/delete`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.delete(url, { data: params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Update user\n update(id, params, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Delete user\n delete(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.delete(url)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Update user password\n updatePassword(params, cb, errorCb) {\n const url = `${endpoint}/${params.id}/password`;\n client.put(url, params)\n .then((response) => {\n cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Get Stats\n getStats(id, cb, errorCb) {\n const url = `${endpoint}/${id}/stats`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n bulkCreate(users, cb, errorCb) {\n const url = `${endpoint}/bulk/create`;\n const params = { users: JSON.stringify(users) };\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Export Users\n exportList(type, params, cb, errorCb) {\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n const query = buildQuery(params);\n const url = `${endpoint}/export/${type}?${query}`;\n client.get(url, { responseType: 'blob' })\n .then(responseHandler)\n .catch(errorHandler);\n },\n // Change Password\n forceUpdatePassword(id, password, cb, errorCb) {\n const url = `${endpoint}/force_update_password/${id}`;\n client.put(url, password)\n .then((response) => {\n cb(response.data);\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n approve(id, cb, errorCb) {\n const url = `${endpoint}/${id}/approved`;\n client.put(url)\n .then((response) => {\n cb(response.data);\n })\n .catch((e) => {\n if (errorCb) {\n errorCb(e);\n }\n });\n },\n};\n","//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\r\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\r\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\r\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\r\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\r\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\r\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\r\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\r\n\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\nvar S_TAG = 0;//tag name offerring\r\nvar S_ATTR = 1;//attr name offerring \r\nvar S_ATTR_SPACE=2;//attr name end and space offer\r\nvar S_EQ = 3;//=space?\r\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\r\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\r\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\r\nvar S_TAG_CLOSE = 7;//closed el\r\n\r\nfunction XMLReader(){\r\n\t\r\n}\r\n\r\nXMLReader.prototype = {\r\n\tparse:function(source,defaultNSMap,entityMap){\r\n\t\tvar domBuilder = this.domBuilder;\r\n\t\tdomBuilder.startDocument();\r\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\r\n\t\tparse(source,defaultNSMap,entityMap,\r\n\t\t\t\tdomBuilder,this.errorHandler);\r\n\t\tdomBuilder.endDocument();\r\n\t}\r\n}\r\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\r\n\tfunction fixedFromCharCode(code) {\r\n\t\t// String.prototype.fromCharCode does not supports\r\n\t\t// > 2 bytes unicode chars directly\r\n\t\tif (code > 0xffff) {\r\n\t\t\tcode -= 0x10000;\r\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\r\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\r\n\r\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\r\n\t\t} else {\r\n\t\t\treturn String.fromCharCode(code);\r\n\t\t}\r\n\t}\r\n\tfunction entityReplacer(a){\r\n\t\tvar k = a.slice(1,-1);\r\n\t\tif(k in entityMap){\r\n\t\t\treturn entityMap[k]; \r\n\t\t}else if(k.charAt(0) === '#'){\r\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\r\n\t\t}else{\r\n\t\t\terrorHandler.error('entity not found:'+a);\r\n\t\t\treturn a;\r\n\t\t}\r\n\t}\r\n\tfunction appendText(end){//has some bugs\r\n\t\tif(end>start){\r\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\tlocator&&position(start);\r\n\t\t\tdomBuilder.characters(xt,0,end-start);\r\n\t\t\tstart = end\r\n\t\t}\r\n\t}\r\n\tfunction position(p,m){\r\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\r\n\t\t\tlineStart = m.index;\r\n\t\t\tlineEnd = lineStart + m[0].length;\r\n\t\t\tlocator.lineNumber++;\r\n\t\t\t//console.log('line++:',locator,startPos,endPos)\r\n\t\t}\r\n\t\tlocator.columnNumber = p-lineStart+1;\r\n\t}\r\n\tvar lineStart = 0;\r\n\tvar lineEnd = 0;\r\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\r\n\tvar locator = domBuilder.locator;\r\n\t\r\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\r\n\tvar closeMap = {};\r\n\tvar start = 0;\r\n\twhile(true){\r\n\t\ttry{\r\n\t\t\tvar tagStart = source.indexOf('<',start);\r\n\t\t\tif(tagStart<0){\r\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\r\n\t\t\t\t\tvar doc = domBuilder.doc;\r\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\r\n\t \t\t\tdoc.appendChild(text);\r\n\t \t\t\tdomBuilder.currentElement = text;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(tagStart>start){\r\n\t\t\t\tappendText(tagStart);\r\n\t\t\t}\r\n\t\t\tswitch(source.charAt(tagStart+1)){\r\n\t\t\tcase '/':\r\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\r\n\t\t\t\tvar tagName = source.substring(tagStart+2,end);\r\n\t\t\t\tvar config = parseStack.pop();\r\n\t\t\t\tif(end<0){\r\n\t\t\t\t\t\r\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\r\n\t \t\t//console.error('#@@@@@@'+tagName)\r\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\r\n\t \t\tend = tagStart+1+tagName.length;\r\n\t \t}else if(tagName.match(/\\s\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '!':// start){\r\n\t\t\tstart = end;\r\n\t\t}else{\r\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\r\n\t\t\tappendText(Math.max(tagStart,start)+1);\r\n\t\t}\r\n\t}\r\n}\r\nfunction copyLocator(f,t){\r\n\tt.lineNumber = f.lineNumber;\r\n\tt.columnNumber = f.columnNumber;\r\n\treturn t;\r\n}\r\n\r\n/**\r\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\r\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\r\n */\r\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\r\n\tvar attrName;\r\n\tvar value;\r\n\tvar p = ++start;\r\n\tvar s = S_TAG;//status\r\n\twhile(true){\r\n\t\tvar c = source.charAt(p);\r\n\t\tswitch(c){\r\n\t\tcase '=':\r\n\t\t\tif(s === S_ATTR){//attrName\r\n\t\t\t\tattrName = source.slice(start,p);\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else if(s === S_ATTR_SPACE){\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\r\n\t\t\t\tthrow new Error('attribute equal must after attrName');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '\\'':\r\n\t\tcase '\"':\r\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\r\n\t\t\t\t){//equal\r\n\t\t\t\tif(s === S_ATTR){\r\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t}\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\tp = source.indexOf(c,start)\r\n\t\t\t\tif(p>0){\r\n\t\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\tel.add(attrName,value,start-1);\r\n\t\t\t\t\ts = S_ATTR_END;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t//fatalError: no end quot match\r\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\r\n\t\t\t\t}\r\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t//console.log(attrName,value,start,p)\r\n\t\t\t\tel.add(attrName,value,start);\r\n\t\t\t\t//console.dir(el)\r\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\ts = S_ATTR_END\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: no equal before\r\n\t\t\t\tthrow new Error('attribute value must after \"=\"');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '/':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\ts =S_TAG_CLOSE;\r\n\t\t\t\tel.closed = true;\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\tcase S_ATTR:\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tbreak;\r\n\t\t\t//case S_EQ:\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\")\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase ''://end document\r\n\t\t\t//throw new Error('unexpected end of input')\r\n\t\t\terrorHandler.error('unexpected end of input');\r\n\t\t\tif(s == S_TAG){\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\t}\r\n\t\t\treturn p;\r\n\t\tcase '>':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\tbreak;//normal\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\r\n\t\t\tcase S_ATTR:\r\n\t\t\t\tvalue = source.slice(start,p);\r\n\t\t\t\tif(value.slice(-1) === '/'){\r\n\t\t\t\t\tel.closed = true;\r\n\t\t\t\t\tvalue = value.slice(0,-1)\r\n\t\t\t\t}\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tif(s === S_ATTR_SPACE){\r\n\t\t\t\t\tvalue = attrName;\r\n\t\t\t\t}\r\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value.replace(/&#?\\w+;/g,entityReplacer),start)\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(value,value,start)\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase S_EQ:\r\n\t\t\t\tthrow new Error('attribute value missed!!');\r\n\t\t\t}\r\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\r\n\t\t\treturn p;\r\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\r\n\t\tcase '\\u0080':\r\n\t\t\tc = ' ';\r\n\t\tdefault:\r\n\t\t\tif(c<= ' '){//space\r\n\t\t\t\tswitch(s){\r\n\t\t\t\tcase S_TAG:\r\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR:\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t\ts = S_ATTR_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\t\t\tvar value = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value,start)\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//case S_TAG_SPACE:\r\n\t\t\t\t//case S_EQ:\r\n\t\t\t\t//case S_ATTR_SPACE:\r\n\t\t\t\t//\tvoid();break;\r\n\t\t\t\t//case S_TAG_CLOSE:\r\n\t\t\t\t\t//ignore warning\r\n\t\t\t\t}\r\n\t\t\t}else{//not space\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\n\t\t\t\tswitch(s){\r\n\t\t\t\t//case S_TAG:void();break;\r\n\t\t\t\t//case S_ATTR:void();break;\r\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\r\n\t\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\t\tvar tagName = el.tagName;\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(attrName,attrName,start);\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\r\n\t\t\t\tcase S_TAG_SPACE:\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_EQ:\r\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}//end outer switch\r\n\t\t//console.log('p++',p)\r\n\t\tp++;\r\n\t}\r\n}\r\n/**\r\n * @return true if has new namespace define\r\n */\r\nfunction appendElement(el,domBuilder,currentNSMap){\r\n\tvar tagName = el.tagName;\r\n\tvar localNSMap = null;\r\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\tvar a = el[i];\r\n\t\tvar qName = a.qName;\r\n\t\tvar value = a.value;\r\n\t\tvar nsp = qName.indexOf(':');\r\n\t\tif(nsp>0){\r\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\r\n\t\t\tvar localName = qName.slice(nsp+1);\r\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\r\n\t\t}else{\r\n\t\t\tlocalName = qName;\r\n\t\t\tprefix = null\r\n\t\t\tnsPrefix = qName === 'xmlns' && ''\r\n\t\t}\r\n\t\t//can not set prefix,because prefix !== ''\r\n\t\ta.localName = localName ;\r\n\t\t//prefix == null for no ns prefix attribute \r\n\t\tif(nsPrefix !== false){//hack!!\r\n\t\t\tif(localNSMap == null){\r\n\t\t\t\tlocalNSMap = {}\r\n\t\t\t\t//console.log(currentNSMap,0)\r\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\r\n\t\t\t\t//console.log(currentNSMap,1)\r\n\t\t\t}\r\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\r\n\t\t\ta.uri = 'http://www.w3.org/2000/xmlns/'\r\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value) \r\n\t\t}\r\n\t}\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\ta = el[i];\r\n\t\tvar prefix = a.prefix;\r\n\t\tif(prefix){//no prefix attribute has no namespace\r\n\t\t\tif(prefix === 'xml'){\r\n\t\t\t\ta.uri = 'http://www.w3.org/XML/1998/namespace';\r\n\t\t\t}if(prefix !== 'xmlns'){\r\n\t\t\t\ta.uri = currentNSMap[prefix || '']\r\n\t\t\t\t\r\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar nsp = tagName.indexOf(':');\r\n\tif(nsp>0){\r\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\r\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\r\n\t}else{\r\n\t\tprefix = null;//important!!\r\n\t\tlocalName = el.localName = tagName;\r\n\t}\r\n\t//no prefix element has default namespace\r\n\tvar ns = el.uri = currentNSMap[prefix || ''];\r\n\tdomBuilder.startElement(ns,localName,tagName,el);\r\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\r\n\t//localNSMap = null\r\n\tif(el.closed){\r\n\t\tdomBuilder.endElement(ns,localName,tagName);\r\n\t\tif(localNSMap){\r\n\t\t\tfor(prefix in localNSMap){\r\n\t\t\t\tdomBuilder.endPrefixMapping(prefix) \r\n\t\t\t}\r\n\t\t}\r\n\t}else{\r\n\t\tel.currentNSMap = currentNSMap;\r\n\t\tel.localNSMap = localNSMap;\r\n\t\t//parseStack.push(el);\r\n\t\treturn true;\r\n\t}\r\n}\r\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\r\n\tif(/^(?:script|textarea)$/i.test(tagName)){\r\n\t\tvar elEndStart = source.indexOf('',elStartEnd);\r\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\r\n\t\tif(/[&<]/.test(text)){\r\n\t\t\tif(/^script$/i.test(tagName)){\r\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\r\n\t\t\t\t\t//lexHandler.startCDATA();\r\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\t\t//lexHandler.endCDATA();\r\n\t\t\t\t\treturn elEndStart;\r\n\t\t\t\t//}\r\n\t\t\t}//}else{//text area\r\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\treturn elEndStart;\r\n\t\t\t//}\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n\treturn elStartEnd+1;\r\n}\r\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\r\n\t//if(tagName in closeMap){\r\n\tvar pos = closeMap[tagName];\r\n\tif(pos == null){\r\n\t\t//console.log(tagName)\r\n\t\tpos = source.lastIndexOf('')\r\n\t\tif(pos',start+4);\r\n\t\t\t//append comment source.substring(4,end)//\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ errors.first('email') }}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ errors.first('item-password') }}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ errors.first('item-name') }}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{{ errors.first('item-role') }}\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t
\n\t\t\t\n\t\t\t\t{{ $t('Submit') }}\n\t\t\t\n\t\t\t{{ $t('Cancel') }}\n\t\t
\n\t\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSidebar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserSidebar.vue?vue&type=template&id=0aaa60ce\"\nimport script from \"./UserSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./UserSidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('vs-prompt',{staticClass:\"dialog-broadcast\",class:{ 'is-loading': _vm.isFetching },attrs:{\"title\":_vm.printTitlePrompt(),\"accept-text\":_vm.$t('Broadcast'),\"is-valid\":(_vm.dataIds.length > 0 && _vm.dataTitle != '' || _vm.assignee != null && _vm.dataTitle != '') || _vm.isSelectAll,\"cancel-text\":_vm.$t('Cancel'),\"active\":_vm.isDialogActiveLocal},on:{\"accept\":function($event){return _vm.submitDataBroadCast()},\"close\":function($event){return _vm.close()},\"update:active\":function($event){_vm.isDialogActiveLocal=$event}}},[_c('div',{staticClass:\"con-exemple-prompt broadcast-container\"},[_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('label',[_vm._v(_vm._s(_vm.$t('Status Filter')))]),_c('vs-select',{attrs:{\"placeholder\":_vm.$t('Status'),\"max-selected\":\"1\",\"autocomplete\":\"\",\"width\":\"100%\"},model:{value:(_vm.selectedFilter),callback:function ($$v) {_vm.selectedFilter=$$v},expression:\"selectedFilter\"}},_vm._l((_vm.filterStatuses),function(item){return _c('vs-select-item',{key:item.id,attrs:{\"value\":item.id,\"text\":item.title ? item.title : ''}})}),1)],1),_c('div',{staticClass:\"vx-col flex w-full mb-4 mt-3\"},[_c('vs-checkbox',{model:{value:(_vm.isSelectAll),callback:function ($$v) {_vm.isSelectAll=$$v},expression:\"isSelectAll\"}},[_vm._v(_vm._s(_vm.$t('Select All Recipients')))])],1),_c('div',{staticClass:\"vx-col w-full mb-5\"},[_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"}],staticClass:\"w-full\",attrs:{\"name\":\"item-title\",\"label-placeholder\":_vm.$t('Keyword'),\"disabled\":_vm.isSelectAll},model:{value:(_vm.searchKeyword),callback:function ($$v) {_vm.searchKeyword=$$v},expression:\"searchKeyword\"}})],1),(_vm.dataType === 'participant')?_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',[_c('label',[_vm._v(_vm._s(_vm.$t('Recipient')))]),_c('vs-select',{staticClass:\"select-ids\",attrs:{\"placeholder\":`${_vm.$t('Search Attendees')}...`,\"max-selected\":\"1000\",\"multiple\":\"\",\"autocomplete\":\"\",\"width\":\"100%\",\"disabled\":_vm.isSelectAll},on:{\"change\":function($event){return _vm.onRecipientChange()}},model:{value:(_vm.dataIds),callback:function ($$v) {_vm.dataIds=$$v},expression:\"dataIds\"}},_vm._l((_vm.participantsOptions),function(item){return _c('vs-select-item',{key:item.id,staticClass:\"dialog-broadcast\",attrs:{\"value\":item.id,\"text\":item.text}})}),1)],1)]):_vm._e(),(_vm.dataType === 'team_member')?_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',[_c('label',[_vm._v(_vm._s(_vm.$t('To'))+\":\")]),_c('vs-select',{attrs:{\"placeholder\":_vm.$t('Search Team Members...'),\"max-selected\":\"1000\",\"multiple\":\"\",\"autocomplet\":\"\",\"width\":\"100%\"},model:{value:(_vm.dataIds),callback:function ($$v) {_vm.dataIds=$$v},expression:\"dataIds\"}},_vm._l((_vm.teamMembersOptions),function(item){return _c('vs-select-item',{key:item.id,attrs:{\"value\":item.id,\"text\":item.name}})}),1)],1),_c('div',{staticClass:\"vx-col sm:w-1/4 w-full mt-1\"},[_c('vs-checkbox',{model:{value:(_vm.selectAllTeamMembers),callback:function ($$v) {_vm.selectAllTeamMembers=$$v},expression:\"selectAllTeamMembers\"}},[_vm._v(_vm._s(_vm.$t('All Team Members')))])],1)]):_vm._e(),(_vm.dataType === 'team_member' && _vm.assignee != null)?_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',[_c('label',[_vm._v(_vm._s(_vm.$t('To'))+\":\")]),_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"}],staticClass:\"w-full\",attrs:{\"name\":\"item-title\",\"disabled\":\"\"},model:{value:(_vm.assignee),callback:function ($$v) {_vm.assignee=$$v},expression:\"assignee\"}})],1)]):_vm._e(),(_vm.dataType === 'user')?_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',[_c('label',[_vm._v(_vm._s(_vm.$t('To'))+\":\")]),_c('vs-select',{attrs:{\"placeholder\":_vm.$t('Search User...'),\"max-selected\":\"1000\",\"multiple\":\"\",\"autocomplete\":\"\",\"width\":\"100%\"},model:{value:(_vm.dataIds),callback:function ($$v) {_vm.dataIds=$$v},expression:\"dataIds\"}},_vm._l((_vm.usersOptions),function(item){return _c('vs-select-item',{key:item.id,attrs:{\"value\":item.id,\"text\":`${item.profile.first_name} ${item.profile.last_name}`}})}),1)],1),_c('div',{staticClass:\"vx-col sm:w-1/4 w-full mt-1\"},[_c('vs-checkbox',{model:{value:(_vm.selectAllUsers),callback:function ($$v) {_vm.selectAllUsers=$$v},expression:\"selectAllUsers\"}},[_vm._v(_vm._s(_vm.$t('All Users')))])],1)]):_vm._e(),_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col sm:w-1/2 w-full mt-1\"},[_c('label',[_vm._v(_vm._s(_vm.$t('Templates')))]),_c('vs-select',{attrs:{\"placeholder\":_vm.$t('Select template'),\"max-selected\":\"1\",\"autocomplete\":\"\",\"width\":\"100%\"},on:{\"change\":function($event){return _vm.onChangeTemplate(_vm.dataSelectedTemplate)}},model:{value:(_vm.dataSelectedTemplate),callback:function ($$v) {_vm.dataSelectedTemplate=$$v},expression:\"dataSelectedTemplate\"}},_vm._l((_vm.broadcastTemplates),function(item){return _c('vs-select-item',{key:item.id,attrs:{\"value\":item.id,\"text\":item.title ? _vm.$t(item.title) : ''}})}),1)],1),_c('div',{staticClass:\"vx-col sm:w-1/2 w-full mt-1\"},[_c('label',[_vm._v(_vm._s(_vm.$t('Previous Broadcast'))+\"?\")]),_c('vs-select',{attrs:{\"placeholder\":_vm.$t('Select from previous broadcast'),\"max-selected\":\"1\",\"autocomplete\":\"\",\"width\":\"100%\"},on:{\"change\":function($event){return _vm.onChangePreviousBroadcast(_vm.dataPrevious)}},model:{value:(_vm.dataPrevious),callback:function ($$v) {_vm.dataPrevious=$$v},expression:\"dataPrevious\"}},_vm._l((_vm.broadcastsOptions),function(item){return _c('vs-select-item',{key:item.id,attrs:{\"value\":item.id,\"text\":item.title ? item.title : ''}})}),1)],1)])]),_c('div',{staticClass:\"vx-col flex w-full mb-5 mt-3\"},[_c('label',{staticClass:\"mr-5\"},[_vm._v(_vm._s(_vm.$t('Send via')))]),_c('vs-checkbox',{model:{value:(_vm.dataIsSendEmail),callback:function ($$v) {_vm.dataIsSendEmail=$$v},expression:\"dataIsSendEmail\"}},[_vm._v(_vm._s(_vm.$t('Email')))]),_c('vs-checkbox',{model:{value:(_vm.dataIsSendSms),callback:function ($$v) {_vm.dataIsSendSms=$$v},expression:\"dataIsSendSms\"}},[_vm._v(_vm._s(_vm.$t('SMS')))])],1),_c('div',{staticClass:\"vx-col w-full mb-5\"},[_c('vs-input',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"}],staticClass:\"w-full\",attrs:{\"name\":\"item-title\",\"label-placeholder\":_vm.$t('Title')},model:{value:(_vm.dataTitle),callback:function ($$v) {_vm.dataTitle=$$v},expression:\"dataTitle\"}})],1),_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',[_c('vs-textarea',{directives:[{name:\"filter-input\",rawName:\"v-filter-input\"}],staticClass:\"w-full input-message\",attrs:{\"label\":_vm.$t('Message'),\"name\":\"item-content\",\"label-placeholder\":_vm.$t('Message')},model:{value:(_vm.dataContent),callback:function ($$v) {_vm.dataContent=$$v},expression:\"dataContent\"}})],1),_c('div',{staticClass:\"text-gray\"},[_vm._v(\" \"+_vm._s(_vm.$t('Do not edit the text in bracket, it can be deleted but not edited'))+\" \")])])])]),_c('div',{staticClass:\"vx-col w-full sm:w-1/2 mb-3\"},[[_c('div',{staticClass:\"modify-img flex mt-2\"},[_c('input',{ref:\"updateImgInput\",staticClass:\"hidden\",attrs:{\"type\":\"file\",\"accept\":\"all/*\"},on:{\"change\":_vm.updateCurrFile}}),_c('feather-icon',{staticClass:\"mr-3 btn-upload-attachment\",attrs:{\"icon\":\"UploadIcon\",\"id\":\"uploadIcon\",\"svgClasses\":\"h-5 w-5\"},on:{\"click\":function($event){return _vm.$refs.updateImgInput.click()}}}),_c('label',{attrs:{\"for\":\"uploadIcon\"},on:{\"click\":function($event){return _vm.$refs.updateImgInput.click()}}},[_vm._v(_vm._s(_vm.$t('Attachment')))])],1),(_vm.dataFile)?_c('div',{staticClass:\"img-container mt-3\"},[(_vm.isVideo(_vm.dataFile))?_c('video',{staticClass:\"card-video-top\",attrs:{\"controls\":\"\",\"width\":\"100px\",\"height\":\"100px\"}},[_c('source',{attrs:{\"src\":_vm.dataFile,\"type\":\"video/mp4\"}})]):_c('img',{attrs:{\"src\":_vm.dataFile,\"width\":\"150px\",\"height\":\"150px\"}}),_c('div',{staticClass:\"mt-5\"},[(_vm.dataFile)?_c('vs-button',{attrs:{\"type\":\"relief\",\"color\":\"danger\",\"size\":\"small\"},on:{\"click\":function($event){_vm.dataFile = null}}},[_vm._v(\" \"+_vm._s(_vm.$t('Remove File'))+\" \")]):_vm._e()],1)]):_vm._e()]],2)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import client from '../lib/http-client';\n\nconst endpoint = '/teamMembers';\n\nexport default {\n // Create\n create(params, cb, errorCb) {\n const url = endpoint;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get\n get(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Get List\n getList(params, cb, errorCb) {\n const url = endpoint;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url, { params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Delete\n bulkDelete(ids, cb, errorCb) {\n const params = {\n ids: JSON.stringify(ids),\n // is_deleted: 1,\n };\n const url = `${endpoint}/bulk/delete`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.delete(url, { data: params })\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Update\n update(id, params, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.put(url, params)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Delete\n delete(id, cb, errorCb) {\n const url = `${endpoint}/${id}`;\n client.delete(url)\n .then((response) => {\n if (cb) cb(response.data);\n })\n .catch((e) => {\n if (errorCb) errorCb(e);\n });\n },\n\n // Bulk Create\n bulkCreate(params, cb, errorCb) {\n const url = `${endpoint}/bulk/create`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.post(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Bulk Update\n bulkUpdate(params, cb, errorCb) {\n const url = `${endpoint}/bulk/update`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.put(url, params)\n .then(responseHandler)\n .catch(errorHandler);\n },\n\n // Export\n exportList(format, cb, errorCb) {\n const url = `${endpoint}/export/${format}`;\n const responseHandler = (response) => {\n if (cb) cb(response.data);\n };\n const errorHandler = (e) => {\n if (errorCb) errorCb(e);\n };\n client.get(url)\n .then(responseHandler)\n .catch(errorHandler);\n },\n};\n","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BroadcastDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BroadcastDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BroadcastDialog.vue?vue&type=template&id=58e8c78a\"\nimport script from \"./BroadcastDialog.vue?vue&type=script&lang=js\"\nexport * from \"./BroadcastDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./BroadcastDialog.vue?vue&type=style&index=0&id=58e8c78a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=cb620fc0\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=cb620fc0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\r\n * xpath.js\r\n *\r\n * An XPath 1.0 library for JavaScript.\r\n *\r\n * Cameron McCormack \r\n *\r\n * This work is licensed under the MIT License.\r\n *\r\n * Revision 20: April 26, 2011\r\n * Fixed a typo resulting in FIRST_ORDERED_NODE_TYPE results being wrong,\r\n * thanks to .\r\n *\r\n * Revision 19: November 29, 2005\r\n * Nodesets now store their nodes in a height balanced tree, increasing\r\n * performance for the common case of selecting nodes in document order,\r\n * thanks to S閎astien Cramatte .\r\n * AVL tree code adapted from Raimund Neumann .\r\n *\r\n * Revision 18: October 27, 2005\r\n * DOM 3 XPath support. Caveats:\r\n * - namespace prefixes aren't resolved in XPathEvaluator.createExpression,\r\n * but in XPathExpression.evaluate.\r\n * - XPathResult.invalidIteratorState is not implemented.\r\n *\r\n * Revision 17: October 25, 2005\r\n * Some core XPath function fixes and a patch to avoid crashing certain\r\n * versions of MSXML in PathExpr.prototype.getOwnerElement, thanks to\r\n * S閎astien Cramatte .\r\n *\r\n * Revision 16: September 22, 2005\r\n * Workarounds for some IE 5.5 deficiencies.\r\n * Fixed problem with prefix node tests on attribute nodes.\r\n *\r\n * Revision 15: May 21, 2005\r\n * Fixed problem with QName node tests on elements with an xmlns=\"...\".\r\n *\r\n * Revision 14: May 19, 2005\r\n * Fixed QName node tests on attribute node regression.\r\n *\r\n * Revision 13: May 3, 2005\r\n * Node tests are case insensitive now if working in an HTML DOM.\r\n *\r\n * Revision 12: April 26, 2005\r\n * Updated licence. Slight code changes to enable use of Dean\r\n * Edwards' script compression, http://dean.edwards.name/packer/ .\r\n *\r\n * Revision 11: April 23, 2005\r\n * Fixed bug with 'and' and 'or' operators, fix thanks to\r\n * Sandy McArthur .\r\n *\r\n * Revision 10: April 15, 2005\r\n * Added support for a virtual root node, supposedly helpful for\r\n * implementing XForms. Fixed problem with QName node tests and\r\n * the parent axis.\r\n *\r\n * Revision 9: March 17, 2005\r\n * Namespace resolver tweaked so using the document node as the context\r\n * for namespace lookups is equivalent to using the document element.\r\n *\r\n * Revision 8: February 13, 2005\r\n * Handle implicit declaration of 'xmlns' namespace prefix.\r\n * Fixed bug when comparing nodesets.\r\n * Instance data can now be associated with a FunctionResolver, and\r\n * workaround for MSXML not supporting 'localName' and 'getElementById',\r\n * thanks to Grant Gongaware.\r\n * Fix a few problems when the context node is the root node.\r\n *\r\n * Revision 7: February 11, 2005\r\n * Default namespace resolver fix from Grant Gongaware\r\n * .\r\n *\r\n * Revision 6: February 10, 2005\r\n * Fixed bug in 'number' function.\r\n *\r\n * Revision 5: February 9, 2005\r\n * Fixed bug where text nodes not getting converted to string values.\r\n *\r\n * Revision 4: January 21, 2005\r\n * Bug in 'name' function, fix thanks to Bill Edney.\r\n * Fixed incorrect processing of namespace nodes.\r\n * Fixed NamespaceResolver to resolve 'xml' namespace.\r\n * Implemented union '|' operator.\r\n *\r\n * Revision 3: January 14, 2005\r\n * Fixed bug with nodeset comparisons, bug lexing < and >.\r\n *\r\n * Revision 2: October 26, 2004\r\n * QName node test namespace handling fixed. Few other bug fixes.\r\n *\r\n * Revision 1: August 13, 2004\r\n * Bug fixes from William J. Edney .\r\n * Added minimal licence.\r\n *\r\n * Initial version: June 14, 2004\r\n */\r\n\r\n// non-node wrapper\r\nvar xpath = (typeof exports === 'undefined') ? {} : exports;\r\n\r\n(function(exports) {\r\n\"use strict\";\r\n\r\n// functional helpers\r\nfunction curry( func ) {\r\n var slice = Array.prototype.slice,\r\n totalargs = func.length,\r\n partial = function( args, fn ) {\r\n return function( ) {\r\n return fn.apply( this, args.concat( slice.call( arguments ) ) );\r\n }\r\n },\r\n fn = function( ) {\r\n var args = slice.call( arguments );\r\n return ( args.length < totalargs ) ?\r\n partial( args, fn ) :\r\n func.apply( this, slice.apply( arguments, [ 0, totalargs ] ) );\r\n };\r\n return fn;\r\n}\r\n\r\nvar forEach = curry(function (f, xs) {\r\n\tfor (var i = 0; i < xs.length; i += 1) {\r\n\t\tf(xs[i], i, xs);\r\n\t}\r\n});\r\n\r\nvar reduce = curry(function (f, seed, xs) {\r\n\tvar acc = seed;\r\n\r\n\tforEach(function (x, i) { acc = f(acc, x, i); }, xs);\r\n\r\n\treturn acc;\r\n});\r\n\r\nvar map = curry(function (f, xs) { \r\n\tvar mapped = new Array(xs.length);\r\n\t\r\n\tforEach(function (x, i) { mapped[i] = f(x); }, xs);\r\n\r\n\treturn mapped;\r\n});\r\n\r\nvar filter = curry(function (f, xs) {\r\n\tvar filtered = [];\r\n\t\r\n\tforEach(function (x, i) { if(f(x, i)) { filtered.push(x); } }, xs);\r\n\t\r\n\treturn filtered;\r\n});\r\n\r\nfunction compose() {\r\n if (arguments.length === 0) { throw new Error('compose requires at least one argument'); }\r\n\r\n var funcs = Array.prototype.slice.call(arguments).reverse();\r\n\t\r\n var f0 = funcs[0];\r\n var fRem = funcs.slice(1);\r\n\r\n return function () {\r\n return reduce(function (acc, next) {\r\n return next(acc);\r\n }, f0.apply(null, arguments), fRem);\r\n };\r\n}\r\n\r\nvar includes = curry(function (values, value) {\r\n\tfor (var i = 0; i < values.length; i += 1) {\r\n\t\tif (values[i] === value){\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\t\r\n\treturn false;\r\n});\r\n\r\nfunction always(value) { return function () { return value ;} }\r\n\r\nvar prop = curry(function (name, obj) { return obj[name]; });\r\n\r\nfunction toString (x) { return x.toString(); }\r\nvar join = curry(function (s, xs) { return xs.join(s); });\r\nvar wrap = curry(function (pref, suf, str) { return pref + str + suf; });\r\n\r\nfunction assign(target) { // .length of function is 2\r\n var to = Object(target);\r\n\r\n for (var index = 1; index < arguments.length; index++) {\r\n var nextSource = arguments[index];\r\n\r\n if (nextSource != null) { // Skip over if undefined or null\r\n for (var nextKey in nextSource) {\r\n // Avoid bugs when hasOwnProperty is shadowed\r\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return to;\r\n}\r\n\r\n// XPathParser ///////////////////////////////////////////////////////////////\r\n\r\nXPathParser.prototype = new Object();\r\nXPathParser.prototype.constructor = XPathParser;\r\nXPathParser.superclass = Object.prototype;\r\n\r\nfunction XPathParser() {\r\n\tthis.init();\r\n}\r\n\r\nXPathParser.prototype.init = function() {\r\n\tthis.reduceActions = [];\r\n\r\n\tthis.reduceActions[3] = function(rhs) {\r\n\t\treturn new OrOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[5] = function(rhs) {\r\n\t\treturn new AndOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[7] = function(rhs) {\r\n\t\treturn new EqualsOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[8] = function(rhs) {\r\n\t\treturn new NotEqualOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[10] = function(rhs) {\r\n\t\treturn new LessThanOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[11] = function(rhs) {\r\n\t\treturn new GreaterThanOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[12] = function(rhs) {\r\n\t\treturn new LessThanOrEqualOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[13] = function(rhs) {\r\n\t\treturn new GreaterThanOrEqualOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[15] = function(rhs) {\r\n\t\treturn new PlusOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[16] = function(rhs) {\r\n\t\treturn new MinusOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[18] = function(rhs) {\r\n\t\treturn new MultiplyOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[19] = function(rhs) {\r\n\t\treturn new DivOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[20] = function(rhs) {\r\n\t\treturn new ModOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[22] = function(rhs) {\r\n\t\treturn new UnaryMinusOperation(rhs[1]);\r\n\t};\r\n\tthis.reduceActions[24] = function(rhs) {\r\n\t\treturn new BarOperation(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[25] = function(rhs) {\r\n\t\treturn new PathExpr(undefined, undefined, rhs[0]);\r\n\t};\r\n\tthis.reduceActions[27] = function(rhs) {\r\n\t\trhs[0].locationPath = rhs[2];\r\n\t\treturn rhs[0];\r\n\t};\r\n\tthis.reduceActions[28] = function(rhs) {\r\n\t\trhs[0].locationPath = rhs[2];\r\n\t\trhs[0].locationPath.steps.unshift(new Step(Step.DESCENDANTORSELF, NodeTest.nodeTest, []));\r\n\t\treturn rhs[0];\r\n\t};\r\n\tthis.reduceActions[29] = function(rhs) {\r\n\t\treturn new PathExpr(rhs[0], [], undefined);\r\n\t};\r\n\tthis.reduceActions[30] = function(rhs) {\r\n\t\tif (Utilities.instance_of(rhs[0], PathExpr)) {\r\n\t\t\tif (rhs[0].filterPredicates == undefined) {\r\n\t\t\t\trhs[0].filterPredicates = [];\r\n\t\t\t}\r\n\t\t\trhs[0].filterPredicates.push(rhs[1]);\r\n\t\t\treturn rhs[0];\r\n\t\t} else {\r\n\t\t\treturn new PathExpr(rhs[0], [rhs[1]], undefined);\r\n\t\t}\r\n\t};\r\n\tthis.reduceActions[32] = function(rhs) {\r\n\t\treturn rhs[1];\r\n\t};\r\n\tthis.reduceActions[33] = function(rhs) {\r\n\t\treturn new XString(rhs[0]);\r\n\t};\r\n\tthis.reduceActions[34] = function(rhs) {\r\n\t\treturn new XNumber(rhs[0]);\r\n\t};\r\n\tthis.reduceActions[36] = function(rhs) {\r\n\t\treturn new FunctionCall(rhs[0], []);\r\n\t};\r\n\tthis.reduceActions[37] = function(rhs) {\r\n\t\treturn new FunctionCall(rhs[0], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[38] = function(rhs) {\r\n\t\treturn [ rhs[0] ];\r\n\t};\r\n\tthis.reduceActions[39] = function(rhs) {\r\n\t\trhs[2].unshift(rhs[0]);\r\n\t\treturn rhs[2];\r\n\t};\r\n\tthis.reduceActions[43] = function(rhs) {\r\n\t\treturn new LocationPath(true, []);\r\n\t};\r\n\tthis.reduceActions[44] = function(rhs) {\r\n\t\trhs[1].absolute = true;\r\n\t\treturn rhs[1];\r\n\t};\r\n\tthis.reduceActions[46] = function(rhs) {\r\n\t\treturn new LocationPath(false, [ rhs[0] ]);\r\n\t};\r\n\tthis.reduceActions[47] = function(rhs) {\r\n\t\trhs[0].steps.push(rhs[2]);\r\n\t\treturn rhs[0];\r\n\t};\r\n\tthis.reduceActions[49] = function(rhs) {\r\n\t\treturn new Step(rhs[0], rhs[1], []);\r\n\t};\r\n\tthis.reduceActions[50] = function(rhs) {\r\n\t\treturn new Step(Step.CHILD, rhs[0], []);\r\n\t};\r\n\tthis.reduceActions[51] = function(rhs) {\r\n\t\treturn new Step(rhs[0], rhs[1], rhs[2]);\r\n\t};\r\n\tthis.reduceActions[52] = function(rhs) {\r\n\t\treturn new Step(Step.CHILD, rhs[0], rhs[1]);\r\n\t};\r\n\tthis.reduceActions[54] = function(rhs) {\r\n\t\treturn [ rhs[0] ];\r\n\t};\r\n\tthis.reduceActions[55] = function(rhs) {\r\n\t\trhs[1].unshift(rhs[0]);\r\n\t\treturn rhs[1];\r\n\t};\r\n\tthis.reduceActions[56] = function(rhs) {\r\n\t\tif (rhs[0] == \"ancestor\") {\r\n\t\t\treturn Step.ANCESTOR;\r\n\t\t} else if (rhs[0] == \"ancestor-or-self\") {\r\n\t\t\treturn Step.ANCESTORORSELF;\r\n\t\t} else if (rhs[0] == \"attribute\") {\r\n\t\t\treturn Step.ATTRIBUTE;\r\n\t\t} else if (rhs[0] == \"child\") {\r\n\t\t\treturn Step.CHILD;\r\n\t\t} else if (rhs[0] == \"descendant\") {\r\n\t\t\treturn Step.DESCENDANT;\r\n\t\t} else if (rhs[0] == \"descendant-or-self\") {\r\n\t\t\treturn Step.DESCENDANTORSELF;\r\n\t\t} else if (rhs[0] == \"following\") {\r\n\t\t\treturn Step.FOLLOWING;\r\n\t\t} else if (rhs[0] == \"following-sibling\") {\r\n\t\t\treturn Step.FOLLOWINGSIBLING;\r\n\t\t} else if (rhs[0] == \"namespace\") {\r\n\t\t\treturn Step.NAMESPACE;\r\n\t\t} else if (rhs[0] == \"parent\") {\r\n\t\t\treturn Step.PARENT;\r\n\t\t} else if (rhs[0] == \"preceding\") {\r\n\t\t\treturn Step.PRECEDING;\r\n\t\t} else if (rhs[0] == \"preceding-sibling\") {\r\n\t\t\treturn Step.PRECEDINGSIBLING;\r\n\t\t} else if (rhs[0] == \"self\") {\r\n\t\t\treturn Step.SELF;\r\n\t\t}\r\n\t\treturn -1;\r\n\t};\r\n\tthis.reduceActions[57] = function(rhs) {\r\n\t\treturn Step.ATTRIBUTE;\r\n\t};\r\n\tthis.reduceActions[59] = function(rhs) {\r\n\t\tif (rhs[0] == \"comment\") {\r\n\t\t\treturn NodeTest.commentTest;\r\n\t\t} else if (rhs[0] == \"text\") {\r\n\t\t\treturn NodeTest.textTest;\r\n\t\t} else if (rhs[0] == \"processing-instruction\") {\r\n\t\t\treturn NodeTest.anyPiTest;\r\n\t\t} else if (rhs[0] == \"node\") {\r\n\t\t\treturn NodeTest.nodeTest;\r\n\t\t}\r\n\t\treturn new NodeTest(-1, undefined);\r\n\t};\r\n\tthis.reduceActions[60] = function(rhs) {\r\n\t\treturn new NodeTest.PITest(rhs[2]);\r\n\t};\r\n\tthis.reduceActions[61] = function(rhs) {\r\n\t\treturn rhs[1];\r\n\t};\r\n\tthis.reduceActions[63] = function(rhs) {\r\n\t\trhs[1].absolute = true;\r\n\t\trhs[1].steps.unshift(new Step(Step.DESCENDANTORSELF, NodeTest.nodeTest, []));\r\n\t\treturn rhs[1];\r\n\t};\r\n\tthis.reduceActions[64] = function(rhs) {\r\n\t\trhs[0].steps.push(new Step(Step.DESCENDANTORSELF, NodeTest.nodeTest, []));\r\n\t\trhs[0].steps.push(rhs[2]);\r\n\t\treturn rhs[0];\r\n\t};\r\n\tthis.reduceActions[65] = function(rhs) {\r\n\t\treturn new Step(Step.SELF, NodeTest.nodeTest, []);\r\n\t};\r\n\tthis.reduceActions[66] = function(rhs) {\r\n\t\treturn new Step(Step.PARENT, NodeTest.nodeTest, []);\r\n\t};\r\n\tthis.reduceActions[67] = function(rhs) {\r\n\t\treturn new VariableReference(rhs[1]);\r\n\t};\r\n\tthis.reduceActions[68] = function(rhs) {\r\n\t\treturn NodeTest.nameTestAny;\r\n\t};\r\n\tthis.reduceActions[69] = function(rhs) {\r\n\t\treturn new NodeTest.NameTestPrefixAny(rhs[0].split(':')[0]);\r\n\t};\r\n\tthis.reduceActions[70] = function(rhs) {\r\n\t\treturn new NodeTest.NameTestQName(rhs[0]);\r\n\t};\r\n};\r\n\r\nXPathParser.actionTable = [\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\" rrrrr \",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\"rs rrrrrrrr s sssssrrrrrr rrs rs \",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s \",\r\n\t\" s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" s \",\r\n\t\" s \",\r\n\t\" s s sssss s s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"a \",\r\n\t\"r s rr r \",\r\n\t\"r sr rr r \",\r\n\t\"r s rr s rr r \",\r\n\t\"r rssrr rss rr r \",\r\n\t\"r rrrrr rrrss rr r \",\r\n\t\"r rrrrrsss rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrrs rr r \",\r\n\t\"r rrrrrrrr rrrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrrr rr r \",\r\n\t\"r srrrrrrrr rrrrrrs rr sr \",\r\n\t\"r srrrrrrrr rrrrrrs rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrr rrrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\" sssss \",\r\n\t\"r rrrrrrrrr rrrrrrr rr sr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" s \",\r\n\t\"r srrrrrrrr rrrrrrs rr r \",\r\n\t\"r rrrrrrrr rrrrr rr r \",\r\n\t\" s \",\r\n\t\" s \",\r\n\t\" rrrrr \",\r\n\t\" s s sssssssss s sss s ss\",\r\n\t\"r srrrrrrrr rrrrrrs rr r \",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssssssss ss s ss\",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\" s s sssss s s \",\r\n\t\" s s sssss s s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" s s sssss s s \",\r\n\t\" s s sssss s s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr sr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr sr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" s \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" rr \",\r\n\t\" s \",\r\n\t\" rs \",\r\n\t\"r sr rr r \",\r\n\t\"r s rr s rr r \",\r\n\t\"r rssrr rss rr r \",\r\n\t\"r rssrr rss rr r \",\r\n\t\"r rrrrr rrrss rr r \",\r\n\t\"r rrrrr rrrss rr r \",\r\n\t\"r rrrrr rrrss rr r \",\r\n\t\"r rrrrr rrrss rr r \",\r\n\t\"r rrrrrsss rrrrr rr r \",\r\n\t\"r rrrrrsss rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrr rr r \",\r\n\t\"r rrrrrrrr rrrrrr rr r \",\r\n\t\" r \",\r\n\t\" s \",\r\n\t\"r srrrrrrrr rrrrrrs rr r \",\r\n\t\"r srrrrrrrr rrrrrrs rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr r \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" s s sssssssss s ss s ss\",\r\n\t\"r rrrrrrrrr rrrrrrr rr rr \",\r\n\t\" r \"\r\n];\r\n\r\nXPathParser.actionTableNumber = [\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" J \",\r\n\t\"a aaaaaaaaa aaaaaaa aa a \",\r\n\t\" YYYYY \",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\"K1 KKKKKKKK . +*)('KKKKKK KK# K\\\" \",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" N \",\r\n\t\" O \",\r\n\t\"e eeeeeeeee eeeeeee ee ee \",\r\n\t\"f fffffffff fffffff ff ff \",\r\n\t\"d ddddddddd ddddddd dd dd \",\r\n\t\"B BBBBBBBBB BBBBBBB BB BB \",\r\n\t\"A AAAAAAAAA AAAAAAA AA AA \",\r\n\t\" P \",\r\n\t\" Q \",\r\n\t\" 1 . +*)(' # \\\" \",\r\n\t\"b bbbbbbbbb bbbbbbb bb b \",\r\n\t\" \",\r\n\t\"! S !! ! \",\r\n\t\"\\\" T\\\" \\\"\\\" \\\" \",\r\n\t\"$ V $$ U $$ $ \",\r\n\t\"& &ZY&& &XW && & \",\r\n\t\") ))))) )))\\\\[ )) ) \",\r\n\t\". ....._^] ..... .. . \",\r\n\t\"1 11111111 11111 11 1 \",\r\n\t\"5 55555555 55555` 55 5 \",\r\n\t\"7 77777777 777777 77 7 \",\r\n\t\"9 99999999 999999 99 9 \",\r\n\t\": c:::::::: ::::::b :: a: \",\r\n\t\"I fIIIIIIII IIIIIIe II I \",\r\n\t\"= ========= ======= == == \",\r\n\t\"? ????????? ??????? ?? ?? \",\r\n\t\"C CCCCCCCCC CCCCCCC CC CC \",\r\n\t\"J JJJJJJJJ JJJJJJ JJ J \",\r\n\t\"M MMMMMMMM MMMMMM MM M \",\r\n\t\"N NNNNNNNNN NNNNNNN NN N \",\r\n\t\"P PPPPPPPPP PPPPPPP PP P \",\r\n\t\" +*)(' \",\r\n\t\"R RRRRRRRRR RRRRRRR RR aR \",\r\n\t\"U UUUUUUUUU UUUUUUU UU U \",\r\n\t\"Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ \",\r\n\t\"c ccccccccc ccccccc cc cc \",\r\n\t\" j \",\r\n\t\"L fLLLLLLLL LLLLLLe LL L \",\r\n\t\"6 66666666 66666 66 6 \",\r\n\t\" k \",\r\n\t\" l \",\r\n\t\" XXXXX \",\r\n\t\" 1 0 /.-,+*)(' & %$m # \\\"!\",\r\n\t\"_ f________ ______e __ _ \",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' %$ # \\\"!\",\r\n\t\" 1 0 /.-,+*)(' & %$ # \\\"!\",\r\n\t\" 1 . +*)(' # \\\" \",\r\n\t\" 1 . +*)(' # \\\" \",\r\n\t\"> >>>>>>>>> >>>>>>> >> >> \",\r\n\t\" 1 . +*)(' # \\\" \",\r\n\t\" 1 . +*)(' # \\\" \",\r\n\t\"Q QQQQQQQQQ QQQQQQQ QQ aQ \",\r\n\t\"V VVVVVVVVV VVVVVVV VV aV \",\r\n\t\"T TTTTTTTTT TTTTTTT TT T \",\r\n\t\"@ @@@@@@@@@ @@@@@@@ @@ @@ \",\r\n\t\" \\x87 \",\r\n\t\"[ [[[[[[[[[ [[[[[[[ [[ [[ \",\r\n\t\"D DDDDDDDDD DDDDDDD DD DD \",\r\n\t\" HH \",\r\n\t\" \\x88 \",\r\n\t\" F\\x89 \",\r\n\t\"# T# ## # \",\r\n\t\"% V %% U %% % \",\r\n\t\"' 'ZY'' 'XW '' ' \",\r\n\t\"( (ZY(( (XW (( ( \",\r\n\t\"+ +++++ +++\\\\[ ++ + \",\r\n\t\"* ***** ***\\\\[ ** * \",\r\n\t\"- ----- ---\\\\[ -- - \",\r\n\t\", ,,,,, ,,,\\\\[ ,, , \",\r\n\t\"0 00000_^] 00000 00 0 \",\r\n\t\"/ /////_^] ///// // / \",\r\n\t\"2 22222222 22222 22 2 \",\r\n\t\"3 33333333 33333 33 3 \",\r\n\t\"4 44444444 44444 44 4 \",\r\n\t\"8 88888888 888888 88 8 \",\r\n\t\" ^ \",\r\n\t\" \\x8a \",\r\n\t\"; f;;;;;;;; ;;;;;;e ;; ; \",\r\n\t\"< f<<<<<<<< <<<<<?@ AB CDEFGH IJ \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\"L456789:;<=>?@ AB CDEFGH IJ \",\r\n\t\" M EFGH IJ \",\r\n\t\" N;<=>?@ AB CDEFGH IJ \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" S EFGH IJ \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" e \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" h J \",\r\n\t\" i j \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\"o456789:;<=>?@ ABpqCDEFGH IJ \",\r\n\t\" \",\r\n\t\" r6789:;<=>?@ AB CDEFGH IJ \",\r\n\t\" s789:;<=>?@ AB CDEFGH IJ \",\r\n\t\" t89:;<=>?@ AB CDEFGH IJ \",\r\n\t\" u89:;<=>?@ AB CDEFGH IJ \",\r\n\t\" v9:;<=>?@ AB CDEFGH IJ \",\r\n\t\" w9:;<=>?@ AB CDEFGH IJ \",\r\n\t\" x9:;<=>?@ AB CDEFGH IJ \",\r\n\t\" y9:;<=>?@ AB CDEFGH IJ \",\r\n\t\" z:;<=>?@ AB CDEFGH IJ \",\r\n\t\" {:;<=>?@ AB CDEFGH IJ \",\r\n\t\" |;<=>?@ AB CDEFGH IJ \",\r\n\t\" };<=>?@ AB CDEFGH IJ \",\r\n\t\" ~;<=>?@ AB CDEFGH IJ \",\r\n\t\" \\x7f=>?@ AB CDEFGH IJ \",\r\n\t\"\\x80456789:;<=>?@ AB CDEFGH IJ\\x81\",\r\n\t\" \\x82 EFGH IJ \",\r\n\t\" \\x83 EFGH IJ \",\r\n\t\" \",\r\n\t\" \\x84 GH IJ \",\r\n\t\" \\x85 GH IJ \",\r\n\t\" i \\x86 \",\r\n\t\" i \\x87 \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\" \",\r\n\t\"o456789:;<=>?@ AB\\x8cqCDEFGH IJ \",\r\n\t\" \",\r\n\t\" \"\r\n];\r\n\r\nXPathParser.productions = [\r\n\t[1, 1, 2],\r\n\t[2, 1, 3],\r\n\t[3, 1, 4],\r\n\t[3, 3, 3, -9, 4],\r\n\t[4, 1, 5],\r\n\t[4, 3, 4, -8, 5],\r\n\t[5, 1, 6],\r\n\t[5, 3, 5, -22, 6],\r\n\t[5, 3, 5, -5, 6],\r\n\t[6, 1, 7],\r\n\t[6, 3, 6, -23, 7],\r\n\t[6, 3, 6, -24, 7],\r\n\t[6, 3, 6, -6, 7],\r\n\t[6, 3, 6, -7, 7],\r\n\t[7, 1, 8],\r\n\t[7, 3, 7, -25, 8],\r\n\t[7, 3, 7, -26, 8],\r\n\t[8, 1, 9],\r\n\t[8, 3, 8, -12, 9],\r\n\t[8, 3, 8, -11, 9],\r\n\t[8, 3, 8, -10, 9],\r\n\t[9, 1, 10],\r\n\t[9, 2, -26, 9],\r\n\t[10, 1, 11],\r\n\t[10, 3, 10, -27, 11],\r\n\t[11, 1, 12],\r\n\t[11, 1, 13],\r\n\t[11, 3, 13, -28, 14],\r\n\t[11, 3, 13, -4, 14],\r\n\t[13, 1, 15],\r\n\t[13, 2, 13, 16],\r\n\t[15, 1, 17],\r\n\t[15, 3, -29, 2, -30],\r\n\t[15, 1, -15],\r\n\t[15, 1, -16],\r\n\t[15, 1, 18],\r\n\t[18, 3, -13, -29, -30],\r\n\t[18, 4, -13, -29, 19, -30],\r\n\t[19, 1, 20],\r\n\t[19, 3, 20, -31, 19],\r\n\t[20, 1, 2],\r\n\t[12, 1, 14],\r\n\t[12, 1, 21],\r\n\t[21, 1, -28],\r\n\t[21, 2, -28, 14],\r\n\t[21, 1, 22],\r\n\t[14, 1, 23],\r\n\t[14, 3, 14, -28, 23],\r\n\t[14, 1, 24],\r\n\t[23, 2, 25, 26],\r\n\t[23, 1, 26],\r\n\t[23, 3, 25, 26, 27],\r\n\t[23, 2, 26, 27],\r\n\t[23, 1, 28],\r\n\t[27, 1, 16],\r\n\t[27, 2, 16, 27],\r\n\t[25, 2, -14, -3],\r\n\t[25, 1, -32],\r\n\t[26, 1, 29],\r\n\t[26, 3, -20, -29, -30],\r\n\t[26, 4, -21, -29, -15, -30],\r\n\t[16, 3, -33, 30, -34],\r\n\t[30, 1, 2],\r\n\t[22, 2, -4, 14],\r\n\t[24, 3, 14, -4, 23],\r\n\t[28, 1, -35],\r\n\t[28, 1, -2],\r\n\t[17, 2, -36, -18],\r\n\t[29, 1, -17],\r\n\t[29, 1, -19],\r\n\t[29, 1, -18]\r\n];\r\n\r\nXPathParser.DOUBLEDOT = 2;\r\nXPathParser.DOUBLECOLON = 3;\r\nXPathParser.DOUBLESLASH = 4;\r\nXPathParser.NOTEQUAL = 5;\r\nXPathParser.LESSTHANOREQUAL = 6;\r\nXPathParser.GREATERTHANOREQUAL = 7;\r\nXPathParser.AND = 8;\r\nXPathParser.OR = 9;\r\nXPathParser.MOD = 10;\r\nXPathParser.DIV = 11;\r\nXPathParser.MULTIPLYOPERATOR = 12;\r\nXPathParser.FUNCTIONNAME = 13;\r\nXPathParser.AXISNAME = 14;\r\nXPathParser.LITERAL = 15;\r\nXPathParser.NUMBER = 16;\r\nXPathParser.ASTERISKNAMETEST = 17;\r\nXPathParser.QNAME = 18;\r\nXPathParser.NCNAMECOLONASTERISK = 19;\r\nXPathParser.NODETYPE = 20;\r\nXPathParser.PROCESSINGINSTRUCTIONWITHLITERAL = 21;\r\nXPathParser.EQUALS = 22;\r\nXPathParser.LESSTHAN = 23;\r\nXPathParser.GREATERTHAN = 24;\r\nXPathParser.PLUS = 25;\r\nXPathParser.MINUS = 26;\r\nXPathParser.BAR = 27;\r\nXPathParser.SLASH = 28;\r\nXPathParser.LEFTPARENTHESIS = 29;\r\nXPathParser.RIGHTPARENTHESIS = 30;\r\nXPathParser.COMMA = 31;\r\nXPathParser.AT = 32;\r\nXPathParser.LEFTBRACKET = 33;\r\nXPathParser.RIGHTBRACKET = 34;\r\nXPathParser.DOT = 35;\r\nXPathParser.DOLLAR = 36;\r\n\r\nXPathParser.prototype.tokenize = function(s1) {\r\n\tvar types = [];\r\n\tvar values = [];\r\n\tvar s = s1 + '\\0';\r\n\r\n\tvar pos = 0;\r\n\tvar c = s.charAt(pos++);\r\n\twhile (1) {\r\n\t\twhile (c == ' ' || c == '\\t' || c == '\\r' || c == '\\n') {\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t}\r\n\t\tif (c == '\\0' || pos >= s.length) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (c == '(') {\r\n\t\t\ttypes.push(XPathParser.LEFTPARENTHESIS);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == ')') {\r\n\t\t\ttypes.push(XPathParser.RIGHTPARENTHESIS);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '[') {\r\n\t\t\ttypes.push(XPathParser.LEFTBRACKET);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == ']') {\r\n\t\t\ttypes.push(XPathParser.RIGHTBRACKET);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '@') {\r\n\t\t\ttypes.push(XPathParser.AT);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == ',') {\r\n\t\t\ttypes.push(XPathParser.COMMA);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '|') {\r\n\t\t\ttypes.push(XPathParser.BAR);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '+') {\r\n\t\t\ttypes.push(XPathParser.PLUS);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '-') {\r\n\t\t\ttypes.push(XPathParser.MINUS);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '=') {\r\n\t\t\ttypes.push(XPathParser.EQUALS);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (c == '$') {\r\n\t\t\ttypes.push(XPathParser.DOLLAR);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '.') {\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tif (c == '.') {\r\n\t\t\t\ttypes.push(XPathParser.DOUBLEDOT);\r\n\t\t\t\tvalues.push(\"..\");\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (c >= '0' && c <= '9') {\r\n\t\t\t\tvar number = \".\" + c;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\twhile (c >= '0' && c <= '9') {\r\n\t\t\t\t\tnumber += c;\r\n\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t}\r\n\t\t\t\ttypes.push(XPathParser.NUMBER);\r\n\t\t\t\tvalues.push(number);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.DOT);\r\n\t\t\tvalues.push('.');\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '\\'' || c == '\"') {\r\n\t\t\tvar delimiter = c;\r\n\t\t\tvar literal = \"\";\r\n\t\t\twhile (pos < s.length && (c = s.charAt(pos)) !== delimiter) {\r\n\t\t\t\tliteral += c;\r\n pos += 1;\r\n\t\t\t}\r\n if (c !== delimiter) {\r\n throw XPathException.fromMessage(\"Unterminated string literal: \" + delimiter + literal);\r\n }\r\n pos += 1;\r\n\t\t\ttypes.push(XPathParser.LITERAL);\r\n\t\t\tvalues.push(literal);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c >= '0' && c <= '9') {\r\n\t\t\tvar number = c;\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\twhile (c >= '0' && c <= '9') {\r\n\t\t\t\tnumber += c;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t}\r\n\t\t\tif (c == '.') {\r\n\t\t\t\tif (s.charAt(pos) >= '0' && s.charAt(pos) <= '9') {\r\n\t\t\t\t\tnumber += c;\r\n\t\t\t\t\tnumber += s.charAt(pos++);\r\n\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\twhile (c >= '0' && c <= '9') {\r\n\t\t\t\t\t\tnumber += c;\r\n\t\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.NUMBER);\r\n\t\t\tvalues.push(number);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '*') {\r\n\t\t\tif (types.length > 0) {\r\n\t\t\t\tvar last = types[types.length - 1];\r\n\t\t\t\tif (last != XPathParser.AT\r\n\t\t\t\t\t\t&& last != XPathParser.DOUBLECOLON\r\n\t\t\t\t\t\t&& last != XPathParser.LEFTPARENTHESIS\r\n\t\t\t\t\t\t&& last != XPathParser.LEFTBRACKET\r\n\t\t\t\t\t\t&& last != XPathParser.AND\r\n\t\t\t\t\t\t&& last != XPathParser.OR\r\n\t\t\t\t\t\t&& last != XPathParser.MOD\r\n\t\t\t\t\t\t&& last != XPathParser.DIV\r\n\t\t\t\t\t\t&& last != XPathParser.MULTIPLYOPERATOR\r\n\t\t\t\t\t\t&& last != XPathParser.SLASH\r\n\t\t\t\t\t\t&& last != XPathParser.DOUBLESLASH\r\n\t\t\t\t\t\t&& last != XPathParser.BAR\r\n\t\t\t\t\t\t&& last != XPathParser.PLUS\r\n\t\t\t\t\t\t&& last != XPathParser.MINUS\r\n\t\t\t\t\t\t&& last != XPathParser.EQUALS\r\n\t\t\t\t\t\t&& last != XPathParser.NOTEQUAL\r\n\t\t\t\t\t\t&& last != XPathParser.LESSTHAN\r\n\t\t\t\t\t\t&& last != XPathParser.LESSTHANOREQUAL\r\n\t\t\t\t\t\t&& last != XPathParser.GREATERTHAN\r\n\t\t\t\t\t\t&& last != XPathParser.GREATERTHANOREQUAL) {\r\n\t\t\t\t\ttypes.push(XPathParser.MULTIPLYOPERATOR);\r\n\t\t\t\t\tvalues.push(c);\r\n\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.ASTERISKNAMETEST);\r\n\t\t\tvalues.push(c);\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == ':') {\r\n\t\t\tif (s.charAt(pos) == ':') {\r\n\t\t\t\ttypes.push(XPathParser.DOUBLECOLON);\r\n\t\t\t\tvalues.push(\"::\");\r\n\t\t\t\tpos++;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (c == '/') {\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tif (c == '/') {\r\n\t\t\t\ttypes.push(XPathParser.DOUBLESLASH);\r\n\t\t\t\tvalues.push(\"//\");\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.SLASH);\r\n\t\t\tvalues.push('/');\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '!') {\r\n\t\t\tif (s.charAt(pos) == '=') {\r\n\t\t\t\ttypes.push(XPathParser.NOTEQUAL);\r\n\t\t\t\tvalues.push(\"!=\");\r\n\t\t\t\tpos++;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (c == '<') {\r\n\t\t\tif (s.charAt(pos) == '=') {\r\n\t\t\t\ttypes.push(XPathParser.LESSTHANOREQUAL);\r\n\t\t\t\tvalues.push(\"<=\");\r\n\t\t\t\tpos++;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.LESSTHAN);\r\n\t\t\tvalues.push('<');\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '>') {\r\n\t\t\tif (s.charAt(pos) == '=') {\r\n\t\t\t\ttypes.push(XPathParser.GREATERTHANOREQUAL);\r\n\t\t\t\tvalues.push(\">=\");\r\n\t\t\t\tpos++;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.GREATERTHAN);\r\n\t\t\tvalues.push('>');\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (c == '_' || Utilities.isLetter(c.charCodeAt(0))) {\r\n\t\t\tvar name = c;\r\n\t\t\tc = s.charAt(pos++);\r\n\t\t\twhile (Utilities.isNCNameChar(c.charCodeAt(0))) {\r\n\t\t\t\tname += c;\r\n\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t}\r\n\t\t\tif (types.length > 0) {\r\n\t\t\t\tvar last = types[types.length - 1];\r\n\t\t\t\tif (last != XPathParser.AT\r\n\t\t\t\t\t\t&& last != XPathParser.DOUBLECOLON\r\n\t\t\t\t\t\t&& last != XPathParser.LEFTPARENTHESIS\r\n\t\t\t\t\t\t&& last != XPathParser.LEFTBRACKET\r\n\t\t\t\t\t\t&& last != XPathParser.AND\r\n\t\t\t\t\t\t&& last != XPathParser.OR\r\n\t\t\t\t\t\t&& last != XPathParser.MOD\r\n\t\t\t\t\t\t&& last != XPathParser.DIV\r\n\t\t\t\t\t\t&& last != XPathParser.MULTIPLYOPERATOR\r\n\t\t\t\t\t\t&& last != XPathParser.SLASH\r\n\t\t\t\t\t\t&& last != XPathParser.DOUBLESLASH\r\n\t\t\t\t\t\t&& last != XPathParser.BAR\r\n\t\t\t\t\t\t&& last != XPathParser.PLUS\r\n\t\t\t\t\t\t&& last != XPathParser.MINUS\r\n\t\t\t\t\t\t&& last != XPathParser.EQUALS\r\n\t\t\t\t\t\t&& last != XPathParser.NOTEQUAL\r\n\t\t\t\t\t\t&& last != XPathParser.LESSTHAN\r\n\t\t\t\t\t\t&& last != XPathParser.LESSTHANOREQUAL\r\n\t\t\t\t\t\t&& last != XPathParser.GREATERTHAN\r\n\t\t\t\t\t\t&& last != XPathParser.GREATERTHANOREQUAL) {\r\n\t\t\t\t\tif (name == \"and\") {\r\n\t\t\t\t\t\ttypes.push(XPathParser.AND);\r\n\t\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (name == \"or\") {\r\n\t\t\t\t\t\ttypes.push(XPathParser.OR);\r\n\t\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (name == \"mod\") {\r\n\t\t\t\t\t\ttypes.push(XPathParser.MOD);\r\n\t\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (name == \"div\") {\r\n\t\t\t\t\t\ttypes.push(XPathParser.DIV);\r\n\t\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (c == ':') {\r\n\t\t\t\tif (s.charAt(pos) == '*') {\r\n\t\t\t\t\ttypes.push(XPathParser.NCNAMECOLONASTERISK);\r\n\t\t\t\t\tvalues.push(name + \":*\");\r\n\t\t\t\t\tpos++;\r\n\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (s.charAt(pos) == '_' || Utilities.isLetter(s.charCodeAt(pos))) {\r\n\t\t\t\t\tname += ':';\r\n\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\twhile (Utilities.isNCNameChar(c.charCodeAt(0))) {\r\n\t\t\t\t\t\tname += c;\r\n\t\t\t\t\t\tc = s.charAt(pos++);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (c == '(') {\r\n\t\t\t\t\t\ttypes.push(XPathParser.FUNCTIONNAME);\r\n\t\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttypes.push(XPathParser.QNAME);\r\n\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (s.charAt(pos) == ':') {\r\n\t\t\t\t\ttypes.push(XPathParser.AXISNAME);\r\n\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (c == '(') {\r\n\t\t\t\tif (name == \"comment\" || name == \"text\" || name == \"node\") {\r\n\t\t\t\t\ttypes.push(XPathParser.NODETYPE);\r\n\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (name == \"processing-instruction\") {\r\n\t\t\t\t\tif (s.charAt(pos) == ')') {\r\n\t\t\t\t\t\ttypes.push(XPathParser.NODETYPE);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttypes.push(XPathParser.PROCESSINGINSTRUCTIONWITHLITERAL);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvalues.push(name);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\ttypes.push(XPathParser.FUNCTIONNAME);\r\n\t\t\t\tvalues.push(name);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\ttypes.push(XPathParser.QNAME);\r\n\t\t\tvalues.push(name);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tthrow new Error(\"Unexpected character \" + c);\r\n\t}\r\n\ttypes.push(1);\r\n\tvalues.push(\"[EOF]\");\r\n\treturn [types, values];\r\n};\r\n\r\nXPathParser.SHIFT = 's';\r\nXPathParser.REDUCE = 'r';\r\nXPathParser.ACCEPT = 'a';\r\n\r\nXPathParser.prototype.parse = function(s) {\r\n\tvar types;\r\n\tvar values;\r\n\tvar res = this.tokenize(s);\r\n\tif (res == undefined) {\r\n\t\treturn undefined;\r\n\t}\r\n\ttypes = res[0];\r\n\tvalues = res[1];\r\n\tvar tokenPos = 0;\r\n\tvar state = [];\r\n\tvar tokenType = [];\r\n\tvar tokenValue = [];\r\n\tvar s;\r\n\tvar a;\r\n\tvar t;\r\n\r\n\tstate.push(0);\r\n\ttokenType.push(1);\r\n\ttokenValue.push(\"_S\");\r\n\r\n\ta = types[tokenPos];\r\n\tt = values[tokenPos++];\r\n\twhile (1) {\r\n\t\ts = state[state.length - 1];\r\n\t\tswitch (XPathParser.actionTable[s].charAt(a - 1)) {\r\n\t\t\tcase XPathParser.SHIFT:\r\n\t\t\t\ttokenType.push(-a);\r\n\t\t\t\ttokenValue.push(t);\r\n\t\t\t\tstate.push(XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32);\r\n\t\t\t\ta = types[tokenPos];\r\n\t\t\t\tt = values[tokenPos++];\r\n\t\t\t\tbreak;\r\n\t\t\tcase XPathParser.REDUCE:\r\n\t\t\t\tvar num = XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32][1];\r\n\t\t\t\tvar rhs = [];\r\n\t\t\t\tfor (var i = 0; i < num; i++) {\r\n\t\t\t\t\ttokenType.pop();\r\n\t\t\t\t\trhs.unshift(tokenValue.pop());\r\n\t\t\t\t\tstate.pop();\r\n\t\t\t\t}\r\n\t\t\t\tvar s_ = state[state.length - 1];\r\n\t\t\t\ttokenType.push(XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32][0]);\r\n\t\t\t\tif (this.reduceActions[XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32] == undefined) {\r\n\t\t\t\t\ttokenValue.push(rhs[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttokenValue.push(this.reduceActions[XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32](rhs));\r\n\t\t\t\t}\r\n\t\t\t\tstate.push(XPathParser.gotoTable[s_].charCodeAt(XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a - 1) - 32][0] - 2) - 33);\r\n\t\t\t\tbreak;\r\n\t\t\tcase XPathParser.ACCEPT:\r\n\t\t\t\treturn new XPath(tokenValue.pop());\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"XPath parse error\");\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// XPath /////////////////////////////////////////////////////////////////////\r\n\r\nXPath.prototype = new Object();\r\nXPath.prototype.constructor = XPath;\r\nXPath.superclass = Object.prototype;\r\n\r\nfunction XPath(e) {\r\n\tthis.expression = e;\r\n}\r\n\r\nXPath.prototype.toString = function() {\r\n\treturn this.expression.toString();\r\n};\r\n\r\nfunction setIfUnset(obj, prop, value) {\r\n\tif (!(prop in obj)) {\r\n\t\tobj[prop] = value;\r\n\t}\r\n}\r\n\r\nXPath.prototype.evaluate = function(c) {\r\n\tc.contextNode = c.expressionContextNode;\r\n\tc.contextSize = 1;\r\n\tc.contextPosition = 1;\r\n\r\n\t// [2017-11-25] Removed usage of .implementation.hasFeature() since it does\r\n\t// not reliably detect HTML DOMs (always returns false in xmldom and true in browsers)\r\n\tif (c.isHtml) {\r\n\t\tsetIfUnset(c, 'caseInsensitive', true);\r\n\t\tsetIfUnset(c, 'allowAnyNamespaceForNoPrefix', true);\r\n\t}\r\n\t\r\n setIfUnset(c, 'caseInsensitive', false);\r\n\r\n\treturn this.expression.evaluate(c);\r\n};\r\n\r\nXPath.XML_NAMESPACE_URI = \"http://www.w3.org/XML/1998/namespace\";\r\nXPath.XMLNS_NAMESPACE_URI = \"http://www.w3.org/2000/xmlns/\";\r\n\r\n// Expression ////////////////////////////////////////////////////////////////\r\n\r\nExpression.prototype = new Object();\r\nExpression.prototype.constructor = Expression;\r\nExpression.superclass = Object.prototype;\r\n\r\nfunction Expression() {\r\n}\r\n\r\nExpression.prototype.init = function() {\r\n};\r\n\r\nExpression.prototype.toString = function() {\r\n\treturn \"\";\r\n};\r\n\r\nExpression.prototype.evaluate = function(c) {\r\n\tthrow new Error(\"Could not evaluate expression.\");\r\n};\r\n\r\n// UnaryOperation ////////////////////////////////////////////////////////////\r\n\r\nUnaryOperation.prototype = new Expression();\r\nUnaryOperation.prototype.constructor = UnaryOperation;\r\nUnaryOperation.superclass = Expression.prototype;\r\n\r\nfunction UnaryOperation(rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(rhs);\r\n\t}\r\n}\r\n\r\nUnaryOperation.prototype.init = function(rhs) {\r\n\tthis.rhs = rhs;\r\n};\r\n\r\n// UnaryMinusOperation ///////////////////////////////////////////////////////\r\n\r\nUnaryMinusOperation.prototype = new UnaryOperation();\r\nUnaryMinusOperation.prototype.constructor = UnaryMinusOperation;\r\nUnaryMinusOperation.superclass = UnaryOperation.prototype;\r\n\r\nfunction UnaryMinusOperation(rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(rhs);\r\n\t}\r\n}\r\n\r\nUnaryMinusOperation.prototype.init = function(rhs) {\r\n\tUnaryMinusOperation.superclass.init.call(this, rhs);\r\n};\r\n\r\nUnaryMinusOperation.prototype.evaluate = function(c) {\r\n\treturn this.rhs.evaluate(c).number().negate();\r\n};\r\n\r\nUnaryMinusOperation.prototype.toString = function() {\r\n\treturn \"-\" + this.rhs.toString();\r\n};\r\n\r\n// BinaryOperation ///////////////////////////////////////////////////////////\r\n\r\nBinaryOperation.prototype = new Expression();\r\nBinaryOperation.prototype.constructor = BinaryOperation;\r\nBinaryOperation.superclass = Expression.prototype;\r\n\r\nfunction BinaryOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nBinaryOperation.prototype.init = function(lhs, rhs) {\r\n\tthis.lhs = lhs;\r\n\tthis.rhs = rhs;\r\n};\r\n\r\n// OrOperation ///////////////////////////////////////////////////////////////\r\n\r\nOrOperation.prototype = new BinaryOperation();\r\nOrOperation.prototype.constructor = OrOperation;\r\nOrOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction OrOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nOrOperation.prototype.init = function(lhs, rhs) {\r\n\tOrOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nOrOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" or \" + this.rhs.toString() + \")\";\r\n};\r\n\r\nOrOperation.prototype.evaluate = function(c) {\r\n\tvar b = this.lhs.evaluate(c).bool();\r\n\tif (b.booleanValue()) {\r\n\t\treturn b;\r\n\t}\r\n\treturn this.rhs.evaluate(c).bool();\r\n};\r\n\r\n// AndOperation //////////////////////////////////////////////////////////////\r\n\r\nAndOperation.prototype = new BinaryOperation();\r\nAndOperation.prototype.constructor = AndOperation;\r\nAndOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction AndOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nAndOperation.prototype.init = function(lhs, rhs) {\r\n\tAndOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nAndOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" and \" + this.rhs.toString() + \")\";\r\n};\r\n\r\nAndOperation.prototype.evaluate = function(c) {\r\n\tvar b = this.lhs.evaluate(c).bool();\r\n\tif (!b.booleanValue()) {\r\n\t\treturn b;\r\n\t}\r\n\treturn this.rhs.evaluate(c).bool();\r\n};\r\n\r\n// EqualsOperation ///////////////////////////////////////////////////////////\r\n\r\nEqualsOperation.prototype = new BinaryOperation();\r\nEqualsOperation.prototype.constructor = EqualsOperation;\r\nEqualsOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction EqualsOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nEqualsOperation.prototype.init = function(lhs, rhs) {\r\n\tEqualsOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nEqualsOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" = \" + this.rhs.toString() + \")\";\r\n};\r\n\r\nEqualsOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).equals(this.rhs.evaluate(c));\r\n};\r\n\r\n// NotEqualOperation /////////////////////////////////////////////////////////\r\n\r\nNotEqualOperation.prototype = new BinaryOperation();\r\nNotEqualOperation.prototype.constructor = NotEqualOperation;\r\nNotEqualOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction NotEqualOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nNotEqualOperation.prototype.init = function(lhs, rhs) {\r\n\tNotEqualOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nNotEqualOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" != \" + this.rhs.toString() + \")\";\r\n};\r\n\r\nNotEqualOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).notequal(this.rhs.evaluate(c));\r\n};\r\n\r\n// LessThanOperation /////////////////////////////////////////////////////////\r\n\r\nLessThanOperation.prototype = new BinaryOperation();\r\nLessThanOperation.prototype.constructor = LessThanOperation;\r\nLessThanOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction LessThanOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nLessThanOperation.prototype.init = function(lhs, rhs) {\r\n\tLessThanOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nLessThanOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).lessthan(this.rhs.evaluate(c));\r\n};\r\n\r\nLessThanOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" < \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// GreaterThanOperation //////////////////////////////////////////////////////\r\n\r\nGreaterThanOperation.prototype = new BinaryOperation();\r\nGreaterThanOperation.prototype.constructor = GreaterThanOperation;\r\nGreaterThanOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction GreaterThanOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nGreaterThanOperation.prototype.init = function(lhs, rhs) {\r\n\tGreaterThanOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nGreaterThanOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).greaterthan(this.rhs.evaluate(c));\r\n};\r\n\r\nGreaterThanOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" > \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// LessThanOrEqualOperation //////////////////////////////////////////////////\r\n\r\nLessThanOrEqualOperation.prototype = new BinaryOperation();\r\nLessThanOrEqualOperation.prototype.constructor = LessThanOrEqualOperation;\r\nLessThanOrEqualOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction LessThanOrEqualOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nLessThanOrEqualOperation.prototype.init = function(lhs, rhs) {\r\n\tLessThanOrEqualOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nLessThanOrEqualOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).lessthanorequal(this.rhs.evaluate(c));\r\n};\r\n\r\nLessThanOrEqualOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" <= \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// GreaterThanOrEqualOperation ///////////////////////////////////////////////\r\n\r\nGreaterThanOrEqualOperation.prototype = new BinaryOperation();\r\nGreaterThanOrEqualOperation.prototype.constructor = GreaterThanOrEqualOperation;\r\nGreaterThanOrEqualOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction GreaterThanOrEqualOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nGreaterThanOrEqualOperation.prototype.init = function(lhs, rhs) {\r\n\tGreaterThanOrEqualOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nGreaterThanOrEqualOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).greaterthanorequal(this.rhs.evaluate(c));\r\n};\r\n\r\nGreaterThanOrEqualOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" >= \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// PlusOperation /////////////////////////////////////////////////////////////\r\n\r\nPlusOperation.prototype = new BinaryOperation();\r\nPlusOperation.prototype.constructor = PlusOperation;\r\nPlusOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction PlusOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nPlusOperation.prototype.init = function(lhs, rhs) {\r\n\tPlusOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nPlusOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).number().plus(this.rhs.evaluate(c).number());\r\n};\r\n\r\nPlusOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" + \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// MinusOperation ////////////////////////////////////////////////////////////\r\n\r\nMinusOperation.prototype = new BinaryOperation();\r\nMinusOperation.prototype.constructor = MinusOperation;\r\nMinusOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction MinusOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nMinusOperation.prototype.init = function(lhs, rhs) {\r\n\tMinusOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nMinusOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).number().minus(this.rhs.evaluate(c).number());\r\n};\r\n\r\nMinusOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" - \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// MultiplyOperation /////////////////////////////////////////////////////////\r\n\r\nMultiplyOperation.prototype = new BinaryOperation();\r\nMultiplyOperation.prototype.constructor = MultiplyOperation;\r\nMultiplyOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction MultiplyOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nMultiplyOperation.prototype.init = function(lhs, rhs) {\r\n\tMultiplyOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nMultiplyOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).number().multiply(this.rhs.evaluate(c).number());\r\n};\r\n\r\nMultiplyOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" * \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// DivOperation //////////////////////////////////////////////////////////////\r\n\r\nDivOperation.prototype = new BinaryOperation();\r\nDivOperation.prototype.constructor = DivOperation;\r\nDivOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction DivOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nDivOperation.prototype.init = function(lhs, rhs) {\r\n\tDivOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nDivOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).number().div(this.rhs.evaluate(c).number());\r\n};\r\n\r\nDivOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" div \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// ModOperation //////////////////////////////////////////////////////////////\r\n\r\nModOperation.prototype = new BinaryOperation();\r\nModOperation.prototype.constructor = ModOperation;\r\nModOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction ModOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nModOperation.prototype.init = function(lhs, rhs) {\r\n\tModOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nModOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).number().mod(this.rhs.evaluate(c).number());\r\n};\r\n\r\nModOperation.prototype.toString = function() {\r\n\treturn \"(\" + this.lhs.toString() + \" mod \" + this.rhs.toString() + \")\";\r\n};\r\n\r\n// BarOperation //////////////////////////////////////////////////////////////\r\n\r\nBarOperation.prototype = new BinaryOperation();\r\nBarOperation.prototype.constructor = BarOperation;\r\nBarOperation.superclass = BinaryOperation.prototype;\r\n\r\nfunction BarOperation(lhs, rhs) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(lhs, rhs);\r\n\t}\r\n}\r\n\r\nBarOperation.prototype.init = function(lhs, rhs) {\r\n\tBarOperation.superclass.init.call(this, lhs, rhs);\r\n};\r\n\r\nBarOperation.prototype.evaluate = function(c) {\r\n\treturn this.lhs.evaluate(c).nodeset().union(this.rhs.evaluate(c).nodeset());\r\n};\r\n\r\nBarOperation.prototype.toString = function() {\r\n\treturn map(toString, [this.lhs, this.rhs]).join(' | ');\r\n};\r\n\r\n// PathExpr //////////////////////////////////////////////////////////////////\r\n\r\nPathExpr.prototype = new Expression();\r\nPathExpr.prototype.constructor = PathExpr;\r\nPathExpr.superclass = Expression.prototype;\r\n\r\nfunction PathExpr(filter, filterPreds, locpath) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(filter, filterPreds, locpath);\r\n\t}\r\n}\r\n\r\nPathExpr.prototype.init = function(filter, filterPreds, locpath) {\r\n\tPathExpr.superclass.init.call(this);\r\n\tthis.filter = filter;\r\n\tthis.filterPredicates = filterPreds;\r\n\tthis.locationPath = locpath;\r\n};\r\n\r\n/**\r\n * Returns the topmost node of the tree containing node\r\n */\r\nfunction findRoot(node) {\r\n while (node && node.parentNode) {\r\n node = node.parentNode;\r\n }\r\n\r\n return node;\r\n}\r\n\r\nPathExpr.applyPredicates = function (predicates, c, nodes) {\r\n\treturn reduce(function (inNodes, pred) {\r\n\t\tvar ctx = c.extend({ contextSize: inNodes.length });\r\n\t\t\r\n\t\treturn filter(function (node, i) {\r\n\t\t\treturn PathExpr.predicateMatches(pred, ctx.extend({ contextNode: node, contextPosition: i + 1 }));\r\n\t\t}, inNodes);\r\n\t}, nodes, predicates);\r\n};\r\n\r\nPathExpr.getRoot = function (xpc, nodes) {\r\n\tvar firstNode = nodes[0];\r\n\t\r\n if (firstNode.nodeType === 9 /*Node.DOCUMENT_NODE*/) {\r\n\t\treturn firstNode;\r\n\t}\r\n\t\r\n if (xpc.virtualRoot) {\r\n \treturn xpc.virtualRoot;\r\n }\r\n\t\t\r\n\tvar ownerDoc = firstNode.ownerDocument;\r\n\t\r\n\tif (ownerDoc) {\r\n\t\treturn ownerDoc;\r\n\t}\r\n\t\t\t\r\n // IE 5.5 doesn't have ownerDocument?\r\n var n = firstNode;\r\n while (n.parentNode != null) {\r\n \tn = n.parentNode;\r\n }\r\n return n;\r\n}\r\n\r\nPathExpr.applyStep = function (step, xpc, node) {\r\n\tvar self = this;\r\n\tvar newNodes = [];\r\n xpc.contextNode = node;\r\n \r\n switch (step.axis) {\r\n \tcase Step.ANCESTOR:\r\n \t\t// look at all the ancestor nodes\r\n \t\tif (xpc.contextNode === xpc.virtualRoot) {\r\n \t\t\tbreak;\r\n \t\t}\r\n \t\tvar m;\r\n \t\tif (xpc.contextNode.nodeType == 2 /*Node.ATTRIBUTE_NODE*/) {\r\n \t\t\tm = PathExpr.getOwnerElement(xpc.contextNode);\r\n \t\t} else {\r\n \t\t\tm = xpc.contextNode.parentNode;\r\n \t\t}\r\n \t\twhile (m != null) {\r\n \t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\tnewNodes.push(m);\r\n \t\t\t}\r\n \t\t\tif (m === xpc.virtualRoot) {\r\n \t\t\t\tbreak;\r\n \t\t\t}\r\n \t\t\tm = m.parentNode;\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.ANCESTORORSELF:\r\n \t\t// look at all the ancestor nodes and the current node\r\n \t\tfor (var m = xpc.contextNode; m != null; m = m.nodeType == 2 /*Node.ATTRIBUTE_NODE*/ ? PathExpr.getOwnerElement(m) : m.parentNode) {\r\n \t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\tnewNodes.push(m);\r\n \t\t\t}\r\n \t\t\tif (m === xpc.virtualRoot) {\r\n \t\t\t\tbreak;\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.ATTRIBUTE:\r\n \t\t// look at the attributes\r\n \t\tvar nnm = xpc.contextNode.attributes;\r\n \t\tif (nnm != null) {\r\n \t\t\tfor (var k = 0; k < nnm.length; k++) {\r\n \t\t\t\tvar m = nnm.item(k);\r\n \t\t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\t\tnewNodes.push(m);\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.CHILD:\r\n \t\t// look at all child elements\r\n \t\tfor (var m = xpc.contextNode.firstChild; m != null; m = m.nextSibling) {\r\n \t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\tnewNodes.push(m);\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.DESCENDANT:\r\n \t\t// look at all descendant nodes\r\n \t\tvar st = [ xpc.contextNode.firstChild ];\r\n \t\twhile (st.length > 0) {\r\n \t\t\tfor (var m = st.pop(); m != null; ) {\r\n \t\t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\t\tnewNodes.push(m);\r\n \t\t\t\t}\r\n \t\t\t\tif (m.firstChild != null) {\r\n \t\t\t\t\tst.push(m.nextSibling);\r\n \t\t\t\t\tm = m.firstChild;\r\n \t\t\t\t} else {\r\n \t\t\t\t\tm = m.nextSibling;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.DESCENDANTORSELF:\r\n \t\t// look at self\r\n \t\tif (step.nodeTest.matches(xpc.contextNode, xpc)) {\r\n \t\t\tnewNodes.push(xpc.contextNode);\r\n \t\t}\r\n \t\t// look at all descendant nodes\r\n \t\tvar st = [ xpc.contextNode.firstChild ];\r\n \t\twhile (st.length > 0) {\r\n \t\t\tfor (var m = st.pop(); m != null; ) {\r\n \t\t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\t\tnewNodes.push(m);\r\n \t\t\t\t}\r\n \t\t\t\tif (m.firstChild != null) {\r\n \t\t\t\t\tst.push(m.nextSibling);\r\n \t\t\t\t\tm = m.firstChild;\r\n \t\t\t\t} else {\r\n \t\t\t\t\tm = m.nextSibling;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.FOLLOWING:\r\n \t\tif (xpc.contextNode === xpc.virtualRoot) {\r\n \t\t\tbreak;\r\n \t\t}\r\n \t\tvar st = [];\r\n \t\tif (xpc.contextNode.firstChild != null) {\r\n \t\t\tst.unshift(xpc.contextNode.firstChild);\r\n \t\t} else {\r\n \t\t\tst.unshift(xpc.contextNode.nextSibling);\r\n \t\t}\r\n \t\tfor (var m = xpc.contextNode.parentNode; m != null && m.nodeType != 9 /*Node.DOCUMENT_NODE*/ && m !== xpc.virtualRoot; m = m.parentNode) {\r\n \t\t\tst.unshift(m.nextSibling);\r\n \t\t}\r\n \t\tdo {\r\n \t\t\tfor (var m = st.pop(); m != null; ) {\r\n \t\t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\t\tnewNodes.push(m);\r\n \t\t\t\t}\r\n \t\t\t\tif (m.firstChild != null) {\r\n \t\t\t\t\tst.push(m.nextSibling);\r\n \t\t\t\t\tm = m.firstChild;\r\n \t\t\t\t} else {\r\n \t\t\t\t\tm = m.nextSibling;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t} while (st.length > 0);\r\n \t\tbreak;\r\n \r\n \tcase Step.FOLLOWINGSIBLING:\r\n \t\tif (xpc.contextNode === xpc.virtualRoot) {\r\n \t\t\tbreak;\r\n \t\t}\r\n \t\tfor (var m = xpc.contextNode.nextSibling; m != null; m = m.nextSibling) {\r\n \t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\tnewNodes.push(m);\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.NAMESPACE:\r\n \t\tvar n = {};\r\n \t\tif (xpc.contextNode.nodeType == 1 /*Node.ELEMENT_NODE*/) {\r\n \t\t\tn[\"xml\"] = XPath.XML_NAMESPACE_URI;\r\n \t\t\tn[\"xmlns\"] = XPath.XMLNS_NAMESPACE_URI;\r\n \t\t\tfor (var m = xpc.contextNode; m != null && m.nodeType == 1 /*Node.ELEMENT_NODE*/; m = m.parentNode) {\r\n \t\t\t\tfor (var k = 0; k < m.attributes.length; k++) {\r\n \t\t\t\t\tvar attr = m.attributes.item(k);\r\n \t\t\t\t\tvar nm = String(attr.name);\r\n \t\t\t\t\tif (nm == \"xmlns\") {\r\n \t\t\t\t\t\tif (n[\"\"] == undefined) {\r\n \t\t\t\t\t\t\tn[\"\"] = attr.value;\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t} else if (nm.length > 6 && nm.substring(0, 6) == \"xmlns:\") {\r\n \t\t\t\t\t\tvar pre = nm.substring(6, nm.length);\r\n \t\t\t\t\t\tif (n[pre] == undefined) {\r\n \t\t\t\t\t\t\tn[pre] = attr.value;\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t\tfor (var pre in n) {\r\n \t\t\t\tvar nsn = new XPathNamespace(pre, n[pre], xpc.contextNode);\r\n \t\t\t\tif (step.nodeTest.matches(nsn, xpc)) {\r\n \t\t\t\t\tnewNodes.push(nsn);\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.PARENT:\r\n \t\tm = null;\r\n \t\tif (xpc.contextNode !== xpc.virtualRoot) {\r\n \t\t\tif (xpc.contextNode.nodeType == 2 /*Node.ATTRIBUTE_NODE*/) {\r\n \t\t\t\tm = PathExpr.getOwnerElement(xpc.contextNode);\r\n \t\t\t} else {\r\n \t\t\t\tm = xpc.contextNode.parentNode;\r\n \t\t\t}\r\n \t\t}\r\n \t\tif (m != null && step.nodeTest.matches(m, xpc)) {\r\n \t\t\tnewNodes.push(m);\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.PRECEDING:\r\n \t\tvar st;\r\n \t\tif (xpc.virtualRoot != null) {\r\n \t\t\tst = [ xpc.virtualRoot ];\r\n \t\t} else {\r\n // cannot rely on .ownerDocument because the node may be in a document fragment\r\n st = [findRoot(xpc.contextNode)];\r\n \t\t}\r\n \t\touter: while (st.length > 0) {\r\n \t\t\tfor (var m = st.pop(); m != null; ) {\r\n \t\t\t\tif (m == xpc.contextNode) {\r\n \t\t\t\t\tbreak outer;\r\n \t\t\t\t}\r\n \t\t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\t\tnewNodes.unshift(m);\r\n \t\t\t\t}\r\n \t\t\t\tif (m.firstChild != null) {\r\n \t\t\t\t\tst.push(m.nextSibling);\r\n \t\t\t\t\tm = m.firstChild;\r\n \t\t\t\t} else {\r\n \t\t\t\t\tm = m.nextSibling;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.PRECEDINGSIBLING:\r\n \t\tif (xpc.contextNode === xpc.virtualRoot) {\r\n \t\t\tbreak;\r\n \t\t}\r\n \t\tfor (var m = xpc.contextNode.previousSibling; m != null; m = m.previousSibling) {\r\n \t\t\tif (step.nodeTest.matches(m, xpc)) {\r\n \t\t\t\tnewNodes.push(m);\r\n \t\t\t}\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tcase Step.SELF:\r\n \t\tif (step.nodeTest.matches(xpc.contextNode, xpc)) {\r\n \t\t\tnewNodes.push(xpc.contextNode);\r\n \t\t}\r\n \t\tbreak;\r\n \r\n \tdefault:\r\n }\r\n\t\r\n\treturn newNodes;\r\n};\r\n\r\nPathExpr.applySteps = function (steps, xpc, nodes) {\r\n\treturn reduce(function (inNodes, step) {\r\n\t\treturn [].concat.apply([], map(function (node) {\r\n\t\t\treturn PathExpr.applyPredicates(step.predicates, xpc, PathExpr.applyStep(step, xpc, node));\r\n\t\t}, inNodes));\r\n\t}, nodes, steps);\r\n}\r\n\r\nPathExpr.prototype.applyFilter = function(c, xpc) {\r\n\tif (!this.filter) {\r\n\t\treturn { nodes: [ c.contextNode ] };\r\n\t}\r\n\t\r\n\tvar ns = this.filter.evaluate(c);\r\n\r\n\tif (!Utilities.instance_of(ns, XNodeSet)) {\r\n if (this.filterPredicates != null && this.filterPredicates.length > 0 || this.locationPath != null) {\r\n\t\t throw new Error(\"Path expression filter must evaluate to a nodeset if predicates or location path are used\");\r\n\t\t}\r\n\r\n\t\treturn { nonNodes: ns };\r\n\t}\r\n\t\r\n\treturn { \r\n\t nodes: PathExpr.applyPredicates(this.filterPredicates || [], xpc, ns.toUnsortedArray())\r\n\t};\r\n};\r\n\r\nPathExpr.applyLocationPath = function (locationPath, xpc, nodes) {\r\n\tif (!locationPath) {\r\n\t\treturn nodes;\r\n\t}\r\n\t\r\n\tvar startNodes = locationPath.absolute ? [ PathExpr.getRoot(xpc, nodes) ] : nodes;\r\n\t\t\r\n return PathExpr.applySteps(locationPath.steps, xpc, startNodes);\r\n};\r\n\r\nPathExpr.prototype.evaluate = function(c) {\r\n\tvar xpc = assign(new XPathContext(), c);\r\n\t\r\n var filterResult = this.applyFilter(c, xpc);\r\n\t\r\n\tif ('nonNodes' in filterResult) {\r\n\t\treturn filterResult.nonNodes;\r\n\t}\t\r\n\t\r\n\tvar ns = new XNodeSet();\r\n\tns.addArray(PathExpr.applyLocationPath(this.locationPath, xpc, filterResult.nodes));\r\n\treturn ns;\r\n};\r\n\r\nPathExpr.predicateMatches = function(pred, c) {\r\n\tvar res = pred.evaluate(c);\r\n\t\r\n\treturn Utilities.instance_of(res, XNumber)\r\n\t\t? c.contextPosition == res.numberValue()\r\n\t\t: res.booleanValue();\r\n};\r\n\r\nPathExpr.predicateString = compose(wrap('[', ']'), toString);\r\nPathExpr.predicatesString = compose(join(''), map(PathExpr.predicateString));\r\n\r\nPathExpr.prototype.toString = function() {\r\n\tif (this.filter != undefined) {\r\n\t\tvar filterStr = toString(this.filter);\r\n\r\n\t\tif (Utilities.instance_of(this.filter, XString)) {\r\n\t\t\treturn wrap(\"'\", \"'\", filterStr);\r\n\t\t}\r\n\t\tif (this.filterPredicates != undefined && this.filterPredicates.length) {\r\n\t\t\treturn wrap('(', ')', filterStr) + \r\n\t\t\t PathExpr.predicatesString(this.filterPredicates);\r\n\t\t}\r\n\t\tif (this.locationPath != undefined) {\r\n\t\t\treturn filterStr + \r\n\t\t\t (this.locationPath.absolute ? '' : '/') +\r\n\t\t\t\ttoString(this.locationPath);\r\n\t\t}\r\n\r\n\t\treturn filterStr;\r\n\t}\r\n\r\n\treturn toString(this.locationPath);\r\n};\r\n\r\nPathExpr.getOwnerElement = function(n) {\r\n\t// DOM 2 has ownerElement\r\n\tif (n.ownerElement) {\r\n\t\treturn n.ownerElement;\r\n\t}\r\n\t// DOM 1 Internet Explorer can use selectSingleNode (ironically)\r\n\ttry {\r\n\t\tif (n.selectSingleNode) {\r\n\t\t\treturn n.selectSingleNode(\"..\");\r\n\t\t}\r\n\t} catch (e) {\r\n\t}\r\n\t// Other DOM 1 implementations must use this egregious search\r\n\tvar doc = n.nodeType == 9 /*Node.DOCUMENT_NODE*/\r\n\t\t\t? n\r\n\t\t\t: n.ownerDocument;\r\n\tvar elts = doc.getElementsByTagName(\"*\");\r\n\tfor (var i = 0; i < elts.length; i++) {\r\n\t\tvar elt = elts.item(i);\r\n\t\tvar nnm = elt.attributes;\r\n\t\tfor (var j = 0; j < nnm.length; j++) {\r\n\t\t\tvar an = nnm.item(j);\r\n\t\t\tif (an === n) {\r\n\t\t\t\treturn elt;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn null;\r\n};\r\n\r\n// LocationPath //////////////////////////////////////////////////////////////\r\n\r\nLocationPath.prototype = new Object();\r\nLocationPath.prototype.constructor = LocationPath;\r\nLocationPath.superclass = Object.prototype;\r\n\r\nfunction LocationPath(abs, steps) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(abs, steps);\r\n\t}\r\n}\r\n\r\nLocationPath.prototype.init = function(abs, steps) {\r\n\tthis.absolute = abs;\r\n\tthis.steps = steps;\r\n};\r\n\r\nLocationPath.prototype.toString = function() {\r\n\treturn (\r\n\t (this.absolute ? '/' : '') +\r\n\t\tmap(toString, this.steps).join('/')\r\n );\r\n};\r\n\r\n// Step //////////////////////////////////////////////////////////////////////\r\n\r\nStep.prototype = new Object();\r\nStep.prototype.constructor = Step;\r\nStep.superclass = Object.prototype;\r\n\r\nfunction Step(axis, nodetest, preds) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(axis, nodetest, preds);\r\n\t}\r\n}\r\n\r\nStep.prototype.init = function(axis, nodetest, preds) {\r\n\tthis.axis = axis;\r\n\tthis.nodeTest = nodetest;\r\n\tthis.predicates = preds;\r\n};\r\n\r\nStep.prototype.toString = function() {\r\n\treturn Step.STEPNAMES[this.axis] +\r\n \"::\" +\r\n this.nodeTest.toString() +\r\n\t PathExpr.predicatesString(this.predicates);\r\n};\r\n\r\n\r\nStep.ANCESTOR = 0;\r\nStep.ANCESTORORSELF = 1;\r\nStep.ATTRIBUTE = 2;\r\nStep.CHILD = 3;\r\nStep.DESCENDANT = 4;\r\nStep.DESCENDANTORSELF = 5;\r\nStep.FOLLOWING = 6;\r\nStep.FOLLOWINGSIBLING = 7;\r\nStep.NAMESPACE = 8;\r\nStep.PARENT = 9;\r\nStep.PRECEDING = 10;\r\nStep.PRECEDINGSIBLING = 11;\r\nStep.SELF = 12;\r\n\r\nStep.STEPNAMES = reduce(function (acc, x) { return acc[x[0]] = x[1], acc; }, {}, [\r\n\t[Step.ANCESTOR, 'ancestor'],\r\n\t[Step.ANCESTORORSELF, 'ancestor-or-self'],\r\n\t[Step.ATTRIBUTE, 'attribute'],\r\n\t[Step.CHILD, 'child'],\r\n\t[Step.DESCENDANT, 'descendant'],\r\n\t[Step.DESCENDANTORSELF, 'descendant-or-self'],\r\n\t[Step.FOLLOWING, 'following'],\r\n\t[Step.FOLLOWINGSIBLING, 'following-sibling'],\r\n\t[Step.NAMESPACE, 'namespace'],\r\n\t[Step.PARENT, 'parent'],\r\n\t[Step.PRECEDING, 'preceding'],\r\n\t[Step.PRECEDINGSIBLING, 'preceding-sibling'],\r\n\t[Step.SELF, 'self']\r\n ]);\r\n \r\n// NodeTest //////////////////////////////////////////////////////////////////\r\n\r\nNodeTest.prototype = new Object();\r\nNodeTest.prototype.constructor = NodeTest;\r\nNodeTest.superclass = Object.prototype;\r\n\r\nfunction NodeTest(type, value) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(type, value);\r\n\t}\r\n}\r\n\r\nNodeTest.prototype.init = function(type, value) {\r\n\tthis.type = type;\r\n\tthis.value = value;\r\n};\r\n\r\nNodeTest.prototype.toString = function() {\r\n\treturn \"\";\r\n};\r\n\r\nNodeTest.prototype.matches = function (n, xpc) {\r\n console.warn('unknown node test type');\r\n};\r\n\r\nNodeTest.NAMETESTANY = 0;\r\nNodeTest.NAMETESTPREFIXANY = 1;\r\nNodeTest.NAMETESTQNAME = 2;\r\nNodeTest.COMMENT = 3;\r\nNodeTest.TEXT = 4;\r\nNodeTest.PI = 5;\r\nNodeTest.NODE = 6;\r\n\r\nNodeTest.isNodeType = function (types){\r\n\treturn compose(includes(types), prop('nodeType'));\r\n};\r\n\r\nNodeTest.makeNodeTestType = function (type, members, ctor) {\r\n\tvar newType = ctor || function () {};\r\n\t\r\n\tnewType.prototype = new NodeTest(members.type);\r\n\tnewType.prototype.constructor = type;\r\n\t\r\n\tfor (var key in members) {\r\n\t\tnewType.prototype[key] = members[key];\r\n\t}\r\n\t\r\n\treturn newType;\r\n};\r\n// create invariant node test for certain node types\r\nNodeTest.makeNodeTypeTest = function (type, nodeTypes, stringVal) {\r\n\treturn new (NodeTest.makeNodeTestType(type, {\r\n\t\tmatches: NodeTest.isNodeType(nodeTypes),\r\n\t\ttoString: always(stringVal)\r\n\t}))();\r\n};\r\n\r\nNodeTest.hasPrefix = function (node) {\r\n\treturn node.prefix || (node.nodeName || node.tagName).indexOf(':') !== -1;\r\n};\r\n\r\nNodeTest.isElementOrAttribute = NodeTest.isNodeType([1, 2]);\r\nNodeTest.nameSpaceMatches = function (prefix, xpc, n) {\r\n\tvar nNamespace = (n.namespaceURI || '');\r\n\t\r\n\tif (!prefix) { \r\n\t return !nNamespace || (xpc.allowAnyNamespaceForNoPrefix && !NodeTest.hasPrefix(n)); \r\n\t}\r\n\t\r\n var ns = xpc.namespaceResolver.getNamespace(prefix, xpc.expressionContextNode);\r\n\r\n\tif (ns == null) {\r\n throw new Error(\"Cannot resolve QName \" + prefix);\r\n }\r\n\r\n return ns === nNamespace;\r\n};\r\nNodeTest.localNameMatches = function (localName, xpc, n) {\r\n\tvar nLocalName = (n.localName || n.nodeName);\r\n\t\r\n\treturn xpc.caseInsensitive\r\n\t ? localName.toLowerCase() === nLocalName.toLowerCase()\r\n\t\t: localName === nLocalName;\r\n};\r\n\r\nNodeTest.NameTestPrefixAny = NodeTest.makeNodeTestType(NodeTest.NAMETESTPREFIXANY, {\r\n\tmatches: function (n, xpc){\r\n return NodeTest.isElementOrAttribute(n) && \r\n\t\t NodeTest.nameSpaceMatches(this.prefix, xpc, n);\r\n\t},\r\n\ttoString: function () {\r\n\t\treturn this.prefix + \":*\";\r\n\t}\r\n}, function (prefix) { this.prefix = prefix; });\r\n\r\nNodeTest.NameTestQName = NodeTest.makeNodeTestType(NodeTest.NAMETESTQNAME, {\r\n\tmatches: function (n, xpc) {\r\n\t\treturn NodeTest.isNodeType([1, 2, XPathNamespace.XPATH_NAMESPACE_NODE])(n) &&\r\n\t\t NodeTest.nameSpaceMatches(this.prefix, xpc, n) &&\r\n NodeTest.localNameMatches(this.localName, xpc, n);\r\n\t},\r\n\ttoString: function () {\r\n return this.name;\r\n\t}\r\n}, function (name) { \r\n var nameParts = name.split(':');\r\n\t\r\n\tthis.name = name;\r\n\tthis.prefix = nameParts.length > 1 ? nameParts[0] : null;\r\n\tthis.localName = nameParts[nameParts.length > 1 ? 1 : 0];\r\n});\r\n\r\nNodeTest.PITest = NodeTest.makeNodeTestType(NodeTest.PI, {\r\n\tmatches: function (n, xpc) {\r\n\t\treturn NodeTest.isNodeType([7])(n) && (n.target || n.nodeName) === this.name;\r\n\t},\r\n\ttoString: function () {\r\n return wrap('processing-instruction(\"', '\")', this.name);\r\n\t}\r\n}, function (name) { this.name = name; })\r\n\r\n// singletons\r\n\r\n// elements, attributes, namespaces\r\nNodeTest.nameTestAny = NodeTest.makeNodeTypeTest(NodeTest.NAMETESTANY, [1, 2, XPathNamespace.XPATH_NAMESPACE_NODE], '*');\r\n// text, cdata\r\nNodeTest.textTest = NodeTest.makeNodeTypeTest(NodeTest.TEXT, [3, 4], 'text()');\r\nNodeTest.commentTest = NodeTest.makeNodeTypeTest(NodeTest.COMMENT, [8], 'comment()');\r\n// elements, attributes, text, cdata, PIs, comments, document nodes\r\nNodeTest.nodeTest = NodeTest.makeNodeTypeTest(NodeTest.NODE, [1, 2, 3, 4, 7, 8, 9], 'node()');\r\nNodeTest.anyPiTest = NodeTest.makeNodeTypeTest(NodeTest.PI, [7], 'processing-instruction()');\r\n\r\n// VariableReference /////////////////////////////////////////////////////////\r\n\r\nVariableReference.prototype = new Expression();\r\nVariableReference.prototype.constructor = VariableReference;\r\nVariableReference.superclass = Expression.prototype;\r\n\r\nfunction VariableReference(v) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(v);\r\n\t}\r\n}\r\n\r\nVariableReference.prototype.init = function(v) {\r\n\tthis.variable = v;\r\n};\r\n\r\nVariableReference.prototype.toString = function() {\r\n\treturn \"$\" + this.variable;\r\n};\r\n\r\nVariableReference.prototype.evaluate = function(c) {\r\n var parts = Utilities.resolveQName(this.variable, c.namespaceResolver, c.contextNode, false);\r\n\r\n if (parts[0] == null) {\r\n throw new Error(\"Cannot resolve QName \" + fn);\r\n }\r\n\tvar result = c.variableResolver.getVariable(parts[1], parts[0]);\r\n if (!result) {\r\n throw XPathException.fromMessage(\"Undeclared variable: \" + this.toString());\r\n }\r\n return result;\r\n};\r\n\r\n// FunctionCall //////////////////////////////////////////////////////////////\r\n\r\nFunctionCall.prototype = new Expression();\r\nFunctionCall.prototype.constructor = FunctionCall;\r\nFunctionCall.superclass = Expression.prototype;\r\n\r\nfunction FunctionCall(fn, args) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(fn, args);\r\n\t}\r\n}\r\n\r\nFunctionCall.prototype.init = function(fn, args) {\r\n\tthis.functionName = fn;\r\n\tthis.arguments = args;\r\n};\r\n\r\nFunctionCall.prototype.toString = function() {\r\n\tvar s = this.functionName + \"(\";\r\n\tfor (var i = 0; i < this.arguments.length; i++) {\r\n\t\tif (i > 0) {\r\n\t\t\ts += \", \";\r\n\t\t}\r\n\t\ts += this.arguments[i].toString();\r\n\t}\r\n\treturn s + \")\";\r\n};\r\n\r\nFunctionCall.prototype.evaluate = function(c) {\r\n var f = FunctionResolver.getFunctionFromContext(this.functionName, c);\r\n\r\n if (!f) {\r\n\t\tthrow new Error(\"Unknown function \" + this.functionName);\r\n\t}\r\n\r\n var a = [c].concat(this.arguments);\r\n\treturn f.apply(c.functionResolver.thisArg, a);\r\n};\r\n\r\n// Operators /////////////////////////////////////////////////////////////////\r\n\r\nvar Operators = new Object();\r\n\r\nOperators.equals = function(l, r) {\r\n\treturn l.equals(r);\r\n};\r\n\r\nOperators.notequal = function(l, r) {\r\n\treturn l.notequal(r);\r\n};\r\n\r\nOperators.lessthan = function(l, r) {\r\n\treturn l.lessthan(r);\r\n};\r\n\r\nOperators.greaterthan = function(l, r) {\r\n\treturn l.greaterthan(r);\r\n};\r\n\r\nOperators.lessthanorequal = function(l, r) {\r\n\treturn l.lessthanorequal(r);\r\n};\r\n\r\nOperators.greaterthanorequal = function(l, r) {\r\n\treturn l.greaterthanorequal(r);\r\n};\r\n\r\n// XString ///////////////////////////////////////////////////////////////////\r\n\r\nXString.prototype = new Expression();\r\nXString.prototype.constructor = XString;\r\nXString.superclass = Expression.prototype;\r\n\r\nfunction XString(s) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(s);\r\n\t}\r\n}\r\n\r\nXString.prototype.init = function(s) {\r\n\tthis.str = String(s);\r\n};\r\n\r\nXString.prototype.toString = function() {\r\n\treturn this.str;\r\n};\r\n\r\nXString.prototype.evaluate = function(c) {\r\n\treturn this;\r\n};\r\n\r\nXString.prototype.string = function() {\r\n\treturn this;\r\n};\r\n\r\nXString.prototype.number = function() {\r\n\treturn new XNumber(this.str);\r\n};\r\n\r\nXString.prototype.bool = function() {\r\n\treturn new XBoolean(this.str);\r\n};\r\n\r\nXString.prototype.nodeset = function() {\r\n\tthrow new Error(\"Cannot convert string to nodeset\");\r\n};\r\n\r\nXString.prototype.stringValue = function() {\r\n\treturn this.str;\r\n};\r\n\r\nXString.prototype.numberValue = function() {\r\n\treturn this.number().numberValue();\r\n};\r\n\r\nXString.prototype.booleanValue = function() {\r\n\treturn this.bool().booleanValue();\r\n};\r\n\r\nXString.prototype.equals = function(r) {\r\n\tif (Utilities.instance_of(r, XBoolean)) {\r\n\t\treturn this.bool().equals(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XNumber)) {\r\n\t\treturn this.number().equals(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithString(this, Operators.equals);\r\n\t}\r\n\treturn new XBoolean(this.str == r.str);\r\n};\r\n\r\nXString.prototype.notequal = function(r) {\r\n\tif (Utilities.instance_of(r, XBoolean)) {\r\n\t\treturn this.bool().notequal(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XNumber)) {\r\n\t\treturn this.number().notequal(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithString(this, Operators.notequal);\r\n\t}\r\n\treturn new XBoolean(this.str != r.str);\r\n};\r\n\r\nXString.prototype.lessthan = function(r) {\r\n\treturn this.number().lessthan(r);\r\n};\r\n\r\nXString.prototype.greaterthan = function(r) {\r\n\treturn this.number().greaterthan(r);\r\n};\r\n\r\nXString.prototype.lessthanorequal = function(r) {\r\n\treturn this.number().lessthanorequal(r);\r\n};\r\n\r\nXString.prototype.greaterthanorequal = function(r) {\r\n\treturn this.number().greaterthanorequal(r);\r\n};\r\n\r\n// XNumber ///////////////////////////////////////////////////////////////////\r\n\r\nXNumber.prototype = new Expression();\r\nXNumber.prototype.constructor = XNumber;\r\nXNumber.superclass = Expression.prototype;\r\n\r\nfunction XNumber(n) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(n);\r\n\t}\r\n}\r\n\r\nXNumber.prototype.init = function(n) {\r\n\tthis.num = typeof n === \"string\" ? this.parse(n) : Number(n);\r\n};\r\n\r\nXNumber.prototype.numberFormat = /^\\s*-?[0-9]*\\.?[0-9]+\\s*$/;\r\n\r\nXNumber.prototype.parse = function(s) {\r\n // XPath representation of numbers is more restrictive than what Number() or parseFloat() allow\r\n return this.numberFormat.test(s) ? parseFloat(s) : Number.NaN;\r\n};\r\n\r\nfunction padSmallNumber(numberStr) {\r\n\tvar parts = numberStr.split('e-');\r\n\tvar base = parts[0].replace('.', '');\r\n\tvar exponent = Number(parts[1]);\r\n\t\r\n\tfor (var i = 0; i < exponent - 1; i += 1) {\r\n\t\tbase = '0' + base;\r\n\t}\r\n\t\r\n\treturn '0.' + base;\r\n}\r\n\r\nfunction padLargeNumber(numberStr) {\r\n\tvar parts = numberStr.split('e');\r\n\tvar base = parts[0].replace('.', '');\r\n\tvar exponent = Number(parts[1]);\r\n\tvar zerosToAppend = exponent + 1 - base.length;\r\n\t\r\n\tfor (var i = 0; i < zerosToAppend; i += 1){\r\n\t\tbase += '0';\r\n\t}\r\n\t\r\n\treturn base;\r\n}\r\n\r\nXNumber.prototype.toString = function() {\r\n\tvar strValue = this.num.toString();\r\n\r\n\tif (strValue.indexOf('e-') !== -1) {\r\n\t\treturn padSmallNumber(strValue);\r\n\t}\r\n \r\n\tif (strValue.indexOf('e') !== -1) {\r\n\t\treturn padLargeNumber(strValue);\r\n\t}\r\n\t\r\n\treturn strValue;\r\n};\r\n\r\nXNumber.prototype.evaluate = function(c) {\r\n\treturn this;\r\n};\r\n\r\nXNumber.prototype.string = function() {\r\n\t\r\n\t\r\n\treturn new XString(this.toString());\r\n};\r\n\r\nXNumber.prototype.number = function() {\r\n\treturn this;\r\n};\r\n\r\nXNumber.prototype.bool = function() {\r\n\treturn new XBoolean(this.num);\r\n};\r\n\r\nXNumber.prototype.nodeset = function() {\r\n\tthrow new Error(\"Cannot convert number to nodeset\");\r\n};\r\n\r\nXNumber.prototype.stringValue = function() {\r\n\treturn this.string().stringValue();\r\n};\r\n\r\nXNumber.prototype.numberValue = function() {\r\n\treturn this.num;\r\n};\r\n\r\nXNumber.prototype.booleanValue = function() {\r\n\treturn this.bool().booleanValue();\r\n};\r\n\r\nXNumber.prototype.negate = function() {\r\n\treturn new XNumber(-this.num);\r\n};\r\n\r\nXNumber.prototype.equals = function(r) {\r\n\tif (Utilities.instance_of(r, XBoolean)) {\r\n\t\treturn this.bool().equals(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XString)) {\r\n\t\treturn this.equals(r.number());\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.equals);\r\n\t}\r\n\treturn new XBoolean(this.num == r.num);\r\n};\r\n\r\nXNumber.prototype.notequal = function(r) {\r\n\tif (Utilities.instance_of(r, XBoolean)) {\r\n\t\treturn this.bool().notequal(r);\r\n\t}\r\n\tif (Utilities.instance_of(r, XString)) {\r\n\t\treturn this.notequal(r.number());\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.notequal);\r\n\t}\r\n\treturn new XBoolean(this.num != r.num);\r\n};\r\n\r\nXNumber.prototype.lessthan = function(r) {\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.greaterthan);\r\n\t}\r\n\tif (Utilities.instance_of(r, XBoolean) || Utilities.instance_of(r, XString)) {\r\n\t\treturn this.lessthan(r.number());\r\n\t}\r\n\treturn new XBoolean(this.num < r.num);\r\n};\r\n\r\nXNumber.prototype.greaterthan = function(r) {\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.lessthan);\r\n\t}\r\n\tif (Utilities.instance_of(r, XBoolean) || Utilities.instance_of(r, XString)) {\r\n\t\treturn this.greaterthan(r.number());\r\n\t}\r\n\treturn new XBoolean(this.num > r.num);\r\n};\r\n\r\nXNumber.prototype.lessthanorequal = function(r) {\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.greaterthanorequal);\r\n\t}\r\n\tif (Utilities.instance_of(r, XBoolean) || Utilities.instance_of(r, XString)) {\r\n\t\treturn this.lessthanorequal(r.number());\r\n\t}\r\n\treturn new XBoolean(this.num <= r.num);\r\n};\r\n\r\nXNumber.prototype.greaterthanorequal = function(r) {\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithNumber(this, Operators.lessthanorequal);\r\n\t}\r\n\tif (Utilities.instance_of(r, XBoolean) || Utilities.instance_of(r, XString)) {\r\n\t\treturn this.greaterthanorequal(r.number());\r\n\t}\r\n\treturn new XBoolean(this.num >= r.num);\r\n};\r\n\r\nXNumber.prototype.plus = function(r) {\r\n\treturn new XNumber(this.num + r.num);\r\n};\r\n\r\nXNumber.prototype.minus = function(r) {\r\n\treturn new XNumber(this.num - r.num);\r\n};\r\n\r\nXNumber.prototype.multiply = function(r) {\r\n\treturn new XNumber(this.num * r.num);\r\n};\r\n\r\nXNumber.prototype.div = function(r) {\r\n\treturn new XNumber(this.num / r.num);\r\n};\r\n\r\nXNumber.prototype.mod = function(r) {\r\n\treturn new XNumber(this.num % r.num);\r\n};\r\n\r\n// XBoolean //////////////////////////////////////////////////////////////////\r\n\r\nXBoolean.prototype = new Expression();\r\nXBoolean.prototype.constructor = XBoolean;\r\nXBoolean.superclass = Expression.prototype;\r\n\r\nfunction XBoolean(b) {\r\n\tif (arguments.length > 0) {\r\n\t\tthis.init(b);\r\n\t}\r\n}\r\n\r\nXBoolean.prototype.init = function(b) {\r\n\tthis.b = Boolean(b);\r\n};\r\n\r\nXBoolean.prototype.toString = function() {\r\n\treturn this.b.toString();\r\n};\r\n\r\nXBoolean.prototype.evaluate = function(c) {\r\n\treturn this;\r\n};\r\n\r\nXBoolean.prototype.string = function() {\r\n\treturn new XString(this.b);\r\n};\r\n\r\nXBoolean.prototype.number = function() {\r\n\treturn new XNumber(this.b);\r\n};\r\n\r\nXBoolean.prototype.bool = function() {\r\n\treturn this;\r\n};\r\n\r\nXBoolean.prototype.nodeset = function() {\r\n\tthrow new Error(\"Cannot convert boolean to nodeset\");\r\n};\r\n\r\nXBoolean.prototype.stringValue = function() {\r\n\treturn this.string().stringValue();\r\n};\r\n\r\nXBoolean.prototype.numberValue = function() {\r\n\treturn this.number().numberValue();\r\n};\r\n\r\nXBoolean.prototype.booleanValue = function() {\r\n\treturn this.b;\r\n};\r\n\r\nXBoolean.prototype.not = function() {\r\n\treturn new XBoolean(!this.b);\r\n};\r\n\r\nXBoolean.prototype.equals = function(r) {\r\n\tif (Utilities.instance_of(r, XString) || Utilities.instance_of(r, XNumber)) {\r\n\t\treturn this.equals(r.bool());\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithBoolean(this, Operators.equals);\r\n\t}\r\n\treturn new XBoolean(this.b == r.b);\r\n};\r\n\r\nXBoolean.prototype.notequal = function(r) {\r\n\tif (Utilities.instance_of(r, XString) || Utilities.instance_of(r, XNumber)) {\r\n\t\treturn this.notequal(r.bool());\r\n\t}\r\n\tif (Utilities.instance_of(r, XNodeSet)) {\r\n\t\treturn r.compareWithBoolean(this, Operators.notequal);\r\n\t}\r\n\treturn new XBoolean(this.b != r.b);\r\n};\r\n\r\nXBoolean.prototype.lessthan = function(r) {\r\n\treturn this.number().lessthan(r);\r\n};\r\n\r\nXBoolean.prototype.greaterthan = function(r) {\r\n\treturn this.number().greaterthan(r);\r\n};\r\n\r\nXBoolean.prototype.lessthanorequal = function(r) {\r\n\treturn this.number().lessthanorequal(r);\r\n};\r\n\r\nXBoolean.prototype.greaterthanorequal = function(r) {\r\n\treturn this.number().greaterthanorequal(r);\r\n};\r\n\r\nXBoolean.true_ = new XBoolean(true);\r\nXBoolean.false_ = new XBoolean(false);\r\n\r\n// AVLTree ///////////////////////////////////////////////////////////////////\r\n\r\nAVLTree.prototype = new Object();\r\nAVLTree.prototype.constructor = AVLTree;\r\nAVLTree.superclass = Object.prototype;\r\n\r\nfunction AVLTree(n) {\r\n\tthis.init(n);\r\n}\r\n\r\nAVLTree.prototype.init = function(n) {\r\n\tthis.left = null;\r\n this.right = null;\r\n\tthis.node = n;\r\n\tthis.depth = 1;\r\n};\r\n\r\nAVLTree.prototype.balance = function() {\r\n var ldepth = this.left == null ? 0 : this.left.depth;\r\n var rdepth = this.right == null ? 0 : this.right.depth;\r\n\r\n\tif (ldepth > rdepth + 1) {\r\n // LR or LL rotation\r\n var lldepth = this.left.left == null ? 0 : this.left.left.depth;\r\n var lrdepth = this.left.right == null ? 0 : this.left.right.depth;\r\n\r\n if (lldepth < lrdepth) {\r\n // LR rotation consists of a RR rotation of the left child\r\n this.left.rotateRR();\r\n // plus a LL rotation of this node, which happens anyway\r\n }\r\n this.rotateLL();\r\n } else if (ldepth + 1 < rdepth) {\r\n // RR or RL rorarion\r\n\t\tvar rrdepth = this.right.right == null ? 0 : this.right.right.depth;\r\n\t\tvar rldepth = this.right.left == null ? 0 : this.right.left.depth;\r\n\r\n if (rldepth > rrdepth) {\r\n // RR rotation consists of a LL rotation of the right child\r\n this.right.rotateLL();\r\n // plus a RR rotation of this node, which happens anyway\r\n }\r\n this.rotateRR();\r\n }\r\n};\r\n\r\nAVLTree.prototype.rotateLL = function() {\r\n // the left side is too long => rotate from the left (_not_ leftwards)\r\n var nodeBefore = this.node;\r\n var rightBefore = this.right;\r\n this.node = this.left.node;\r\n this.right = this.left;\r\n this.left = this.left.left;\r\n this.right.left = this.right.right;\r\n this.right.right = rightBefore;\r\n this.right.node = nodeBefore;\r\n this.right.updateInNewLocation();\r\n this.updateInNewLocation();\r\n};\r\n\r\nAVLTree.prototype.rotateRR = function() {\r\n // the right side is too long => rotate from the right (_not_ rightwards)\r\n var nodeBefore = this.node;\r\n var leftBefore = this.left;\r\n this.node = this.right.node;\r\n this.left = this.right;\r\n this.right = this.right.right;\r\n this.left.right = this.left.left;\r\n this.left.left = leftBefore;\r\n this.left.node = nodeBefore;\r\n this.left.updateInNewLocation();\r\n this.updateInNewLocation();\r\n};\r\n\r\nAVLTree.prototype.updateInNewLocation = function() {\r\n this.getDepthFromChildren();\r\n};\r\n\r\nAVLTree.prototype.getDepthFromChildren = function() {\r\n this.depth = this.node == null ? 0 : 1;\r\n if (this.left != null) {\r\n this.depth = this.left.depth + 1;\r\n }\r\n if (this.right != null && this.depth <= this.right.depth) {\r\n this.depth = this.right.depth + 1;\r\n }\r\n};\r\n\r\nfunction nodeOrder(n1, n2) {\r\n\tif (n1 === n2) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tif (n1.compareDocumentPosition) {\r\n\t var cpos = n1.compareDocumentPosition(n2);\r\n\r\n if (cpos & 0x01) {\r\n // not in the same document; return an arbitrary result (is there a better way to do this)\r\n return 1;\r\n }\r\n if (cpos & 0x0A) {\r\n // n2 precedes or contains n1\r\n return 1;\r\n }\r\n if (cpos & 0x14) {\r\n // n2 follows or is contained by n1\r\n return -1;\r\n }\r\n\r\n\t return 0;\r\n\t}\r\n\r\n\tvar d1 = 0,\r\n\t d2 = 0;\r\n\tfor (var m1 = n1; m1 != null; m1 = m1.parentNode || m1.ownerElement) {\r\n\t\td1++;\r\n\t}\r\n\tfor (var m2 = n2; m2 != null; m2 = m2.parentNode || m2.ownerElement) {\r\n\t\td2++;\r\n\t}\r\n\r\n // step up to same depth\r\n\tif (d1 > d2) {\r\n\t\twhile (d1 > d2) {\r\n\t\t\tn1 = n1.parentNode || n1.ownerElement;\r\n\t\t\td1--;\r\n\t\t}\r\n\t\tif (n1 === n2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t} else if (d2 > d1) {\r\n\t\twhile (d2 > d1) {\r\n\t\t\tn2 = n2.parentNode || n2.ownerElement;\r\n\t\t\td2--;\r\n\t\t}\r\n\t\tif (n1 === n2) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\r\n var n1Par = n1.parentNode || n1.ownerElement,\r\n n2Par = n2.parentNode || n2.ownerElement;\r\n\r\n // find common parent\r\n\twhile (n1Par !== n2Par) {\r\n\t\tn1 = n1Par;\r\n\t\tn2 = n2Par;\r\n\t\tn1Par = n1.parentNode || n1.ownerElement;\r\n\t n2Par = n2.parentNode || n2.ownerElement;\r\n\t}\r\n \r\n var n1isAttr = Utilities.isAttribute(n1);\r\n var n2isAttr = Utilities.isAttribute(n2);\r\n \r\n if (n1isAttr && !n2isAttr) {\r\n return -1;\r\n }\r\n if (!n1isAttr && n2isAttr) {\r\n return 1;\r\n }\r\n \r\n if(n1Par) {\r\n\t var cn = n1isAttr ? n1Par.attributes : n1Par.childNodes,\r\n\t len = cn.length;\r\n for (var i = 0; i < len; i += 1) {\r\n var n = cn[i];\r\n if (n === n1) {\r\n return -1;\r\n }\r\n if (n === n2) {\r\n return 1;\r\n }\r\n }\r\n } \r\n \r\n throw new Error('Unexpected: could not determine node order');\r\n}\r\n\r\nAVLTree.prototype.add = function(n) {\r\n\tif (n === this.node) {\r\n return false;\r\n }\r\n\r\n\tvar o = nodeOrder(n, this.node);\r\n\r\n var ret = false;\r\n if (o == -1) {\r\n if (this.left == null) {\r\n this.left = new AVLTree(n);\r\n ret = true;\r\n } else {\r\n ret = this.left.add(n);\r\n if (ret) {\r\n this.balance();\r\n }\r\n }\r\n } else if (o == 1) {\r\n if (this.right == null) {\r\n this.right = new AVLTree(n);\r\n ret = true;\r\n } else {\r\n ret = this.right.add(n);\r\n if (ret) {\r\n this.balance();\r\n }\r\n }\r\n }\r\n\r\n if (ret) {\r\n this.getDepthFromChildren();\r\n }\r\n return ret;\r\n};\r\n\r\n// XNodeSet //////////////////////////////////////////////////////////////////\r\n\r\nXNodeSet.prototype = new Expression();\r\nXNodeSet.prototype.constructor = XNodeSet;\r\nXNodeSet.superclass = Expression.prototype;\r\n\r\nfunction XNodeSet() {\r\n\tthis.init();\r\n}\r\n\r\nXNodeSet.prototype.init = function() {\r\n this.tree = null;\r\n\tthis.nodes = [];\r\n\tthis.size = 0;\r\n};\r\n\r\nXNodeSet.prototype.toString = function() {\r\n\tvar p = this.first();\r\n\tif (p == null) {\r\n\t\treturn \"\";\r\n\t}\r\n\treturn this.stringForNode(p);\r\n};\r\n\r\nXNodeSet.prototype.evaluate = function(c) {\r\n\treturn this;\r\n};\r\n\r\nXNodeSet.prototype.string = function() {\r\n\treturn new XString(this.toString());\r\n};\r\n\r\nXNodeSet.prototype.stringValue = function() {\r\n\treturn this.toString();\r\n};\r\n\r\nXNodeSet.prototype.number = function() {\r\n\treturn new XNumber(this.string());\r\n};\r\n\r\nXNodeSet.prototype.numberValue = function() {\r\n\treturn Number(this.string());\r\n};\r\n\r\nXNodeSet.prototype.bool = function() {\r\n\treturn new XBoolean(this.booleanValue());\r\n};\r\n\r\nXNodeSet.prototype.booleanValue = function() {\r\n\treturn !!this.size;\r\n};\r\n\r\nXNodeSet.prototype.nodeset = function() {\r\n\treturn this;\r\n};\r\n\r\nXNodeSet.prototype.stringForNode = function(n) {\r\n\tif (n.nodeType == 9 /*Node.DOCUMENT_NODE*/ || \r\n n.nodeType == 1 /*Node.ELEMENT_NODE */ || \r\n n.nodeType === 11 /*Node.DOCUMENT_FRAGMENT*/) {\r\n\t\treturn this.stringForContainerNode(n);\r\n\t}\r\n if (n.nodeType === 2 /* Node.ATTRIBUTE_NODE */) {\r\n return n.value || n.nodeValue;\r\n }\r\n\tif (n.isNamespaceNode) {\r\n\t\treturn n.namespace;\r\n\t}\r\n\treturn n.nodeValue;\r\n};\r\n\r\nXNodeSet.prototype.stringForContainerNode = function(n) {\r\n\tvar s = \"\";\r\n\tfor (var n2 = n.firstChild; n2 != null; n2 = n2.nextSibling) {\r\n var nt = n2.nodeType;\r\n // Element, Text, CDATA, Document, Document Fragment\r\n if (nt === 1 || nt === 3 || nt === 4 || nt === 9 || nt === 11) {\r\n s += this.stringForNode(n2);\r\n }\r\n\t}\r\n\treturn s;\r\n};\r\n\r\nXNodeSet.prototype.buildTree = function () {\r\n if (!this.tree && this.nodes.length) {\r\n this.tree = new AVLTree(this.nodes[0]);\r\n for (var i = 1; i < this.nodes.length; i += 1) {\r\n this.tree.add(this.nodes[i]);\r\n }\r\n }\r\n\r\n return this.tree;\r\n};\r\n\r\nXNodeSet.prototype.first = function() {\r\n\tvar p = this.buildTree();\r\n\tif (p == null) {\r\n\t\treturn null;\r\n\t}\r\n\twhile (p.left != null) {\r\n\t\tp = p.left;\r\n\t}\r\n\treturn p.node;\r\n};\r\n\r\nXNodeSet.prototype.add = function(n) {\r\n for (var i = 0; i < this.nodes.length; i += 1) {\r\n if (n === this.nodes[i]) {\r\n return;\r\n }\r\n }\r\n\r\n this.tree = null;\r\n this.nodes.push(n);\r\n this.size += 1;\r\n};\r\n\r\nXNodeSet.prototype.addArray = function(ns) {\r\n\tvar self = this;\r\n\t\r\n\tforEach(function (x) { self.add(x); }, ns);\r\n};\r\n\r\n/**\r\n * Returns an array of the node set's contents in document order\r\n */\r\nXNodeSet.prototype.toArray = function() {\r\n\tvar a = [];\r\n\tthis.toArrayRec(this.buildTree(), a);\r\n\treturn a;\r\n};\r\n\r\nXNodeSet.prototype.toArrayRec = function(t, a) {\r\n\tif (t != null) {\r\n\t\tthis.toArrayRec(t.left, a);\r\n\t\ta.push(t.node);\r\n\t\tthis.toArrayRec(t.right, a);\r\n\t}\r\n};\r\n\r\n/**\r\n * Returns an array of the node set's contents in arbitrary order\r\n */\r\nXNodeSet.prototype.toUnsortedArray = function () {\r\n return this.nodes.slice();\r\n};\r\n\r\nXNodeSet.prototype.compareWithString = function(r, o) {\r\n\tvar a = this.toUnsortedArray();\r\n\tfor (var i = 0; i < a.length; i++) {\r\n\t\tvar n = a[i];\r\n\t\tvar l = new XString(this.stringForNode(n));\r\n\t\tvar res = o(l, r);\r\n\t\tif (res.booleanValue()) {\r\n\t\t\treturn res;\r\n\t\t}\r\n\t}\r\n\treturn new XBoolean(false);\r\n};\r\n\r\nXNodeSet.prototype.compareWithNumber = function(r, o) {\r\n\tvar a = this.toUnsortedArray();\r\n\tfor (var i = 0; i < a.length; i++) {\r\n\t\tvar n = a[i];\r\n\t\tvar l = new XNumber(this.stringForNode(n));\r\n\t\tvar res = o(l, r);\r\n\t\tif (res.booleanValue()) {\r\n\t\t\treturn res;\r\n\t\t}\r\n\t}\r\n\treturn new XBoolean(false);\r\n};\r\n\r\nXNodeSet.prototype.compareWithBoolean = function(r, o) {\r\n\treturn o(this.bool(), r);\r\n};\r\n\r\nXNodeSet.prototype.compareWithNodeSet = function(r, o) {\r\n\tvar arr = this.toUnsortedArray();\r\n\tvar oInvert = function (lop, rop) { return o(rop, lop); };\r\n\t\r\n\tfor (var i = 0; i < arr.length; i++) {\r\n\t\tvar l = new XString(this.stringForNode(arr[i]));\r\n\r\n\t\tvar res = r.compareWithString(l, oInvert);\r\n\t\tif (res.booleanValue()) {\r\n\t\t\treturn res;\r\n\t\t}\r\n\t}\r\n\t\r\n\treturn new XBoolean(false);\r\n};\r\n\r\nXNodeSet.compareWith = curry(function (o, r) {\r\n\tif (Utilities.instance_of(r, XString)) {\r\n\t\treturn this.compareWithString(r, o);\r\n\t}\r\n\tif (Utilities.instance_of(r, XNumber)) {\r\n\t\treturn this.compareWithNumber(r, o);\r\n\t}\r\n\tif (Utilities.instance_of(r, XBoolean)) {\r\n\t\treturn this.compareWithBoolean(r, o);\r\n\t}\r\n\treturn this.compareWithNodeSet(r, o);\r\n});\r\n\r\nXNodeSet.prototype.equals = XNodeSet.compareWith(Operators.equals);\r\nXNodeSet.prototype.notequal = XNodeSet.compareWith(Operators.notequal);\r\nXNodeSet.prototype.lessthan = XNodeSet.compareWith(Operators.lessthan);\r\nXNodeSet.prototype.greaterthan = XNodeSet.compareWith(Operators.greaterthan);\r\nXNodeSet.prototype.lessthanorequal = XNodeSet.compareWith(Operators.lessthanorequal);\r\nXNodeSet.prototype.greaterthanorequal = XNodeSet.compareWith(Operators.greaterthanorequal);\r\n\r\nXNodeSet.prototype.union = function(r) {\r\n\tvar ns = new XNodeSet();\r\n ns.addArray(this.toUnsortedArray());\r\n\tns.addArray(r.toUnsortedArray());\r\n\treturn ns;\r\n};\r\n\r\n// XPathNamespace ////////////////////////////////////////////////////////////\r\n\r\nXPathNamespace.prototype = new Object();\r\nXPathNamespace.prototype.constructor = XPathNamespace;\r\nXPathNamespace.superclass = Object.prototype;\r\n\r\nfunction XPathNamespace(pre, ns, p) {\r\n\tthis.isXPathNamespace = true;\r\n\tthis.ownerDocument = p.ownerDocument;\r\n\tthis.nodeName = \"#namespace\";\r\n\tthis.prefix = pre;\r\n\tthis.localName = pre;\r\n\tthis.namespaceURI = ns;\r\n\tthis.nodeValue = ns;\r\n\tthis.ownerElement = p;\r\n\tthis.nodeType = XPathNamespace.XPATH_NAMESPACE_NODE;\r\n}\r\n\r\nXPathNamespace.prototype.toString = function() {\r\n\treturn \"{ \\\"\" + this.prefix + \"\\\", \\\"\" + this.namespaceURI + \"\\\" }\";\r\n};\r\n\r\n// XPathContext //////////////////////////////////////////////////////////////\r\n\r\nXPathContext.prototype = new Object();\r\nXPathContext.prototype.constructor = XPathContext;\r\nXPathContext.superclass = Object.prototype;\r\n\r\nfunction XPathContext(vr, nr, fr) {\r\n\tthis.variableResolver = vr != null ? vr : new VariableResolver();\r\n\tthis.namespaceResolver = nr != null ? nr : new NamespaceResolver();\r\n\tthis.functionResolver = fr != null ? fr : new FunctionResolver();\r\n}\r\n\r\nXPathContext.prototype.extend = function (newProps) {\r\n\treturn assign(new XPathContext(), this, newProps);\r\n};\r\n\r\n// VariableResolver //////////////////////////////////////////////////////////\r\n\r\nVariableResolver.prototype = new Object();\r\nVariableResolver.prototype.constructor = VariableResolver;\r\nVariableResolver.superclass = Object.prototype;\r\n\r\nfunction VariableResolver() {\r\n}\r\n\r\nVariableResolver.prototype.getVariable = function(ln, ns) {\r\n\treturn null;\r\n};\r\n\r\n// FunctionResolver //////////////////////////////////////////////////////////\r\n\r\nFunctionResolver.prototype = new Object();\r\nFunctionResolver.prototype.constructor = FunctionResolver;\r\nFunctionResolver.superclass = Object.prototype;\r\n\r\nfunction FunctionResolver(thisArg) {\r\n\tthis.thisArg = thisArg != null ? thisArg : Functions;\r\n\tthis.functions = new Object();\r\n\tthis.addStandardFunctions();\r\n}\r\n\r\nFunctionResolver.prototype.addStandardFunctions = function() {\r\n\tthis.functions[\"{}last\"] = Functions.last;\r\n\tthis.functions[\"{}position\"] = Functions.position;\r\n\tthis.functions[\"{}count\"] = Functions.count;\r\n\tthis.functions[\"{}id\"] = Functions.id;\r\n\tthis.functions[\"{}local-name\"] = Functions.localName;\r\n\tthis.functions[\"{}namespace-uri\"] = Functions.namespaceURI;\r\n\tthis.functions[\"{}name\"] = Functions.name;\r\n\tthis.functions[\"{}string\"] = Functions.string;\r\n\tthis.functions[\"{}concat\"] = Functions.concat;\r\n\tthis.functions[\"{}starts-with\"] = Functions.startsWith;\r\n\tthis.functions[\"{}contains\"] = Functions.contains;\r\n\tthis.functions[\"{}substring-before\"] = Functions.substringBefore;\r\n\tthis.functions[\"{}substring-after\"] = Functions.substringAfter;\r\n\tthis.functions[\"{}substring\"] = Functions.substring;\r\n\tthis.functions[\"{}string-length\"] = Functions.stringLength;\r\n\tthis.functions[\"{}normalize-space\"] = Functions.normalizeSpace;\r\n\tthis.functions[\"{}translate\"] = Functions.translate;\r\n\tthis.functions[\"{}boolean\"] = Functions.boolean_;\r\n\tthis.functions[\"{}not\"] = Functions.not;\r\n\tthis.functions[\"{}true\"] = Functions.true_;\r\n\tthis.functions[\"{}false\"] = Functions.false_;\r\n\tthis.functions[\"{}lang\"] = Functions.lang;\r\n\tthis.functions[\"{}number\"] = Functions.number;\r\n\tthis.functions[\"{}sum\"] = Functions.sum;\r\n\tthis.functions[\"{}floor\"] = Functions.floor;\r\n\tthis.functions[\"{}ceiling\"] = Functions.ceiling;\r\n\tthis.functions[\"{}round\"] = Functions.round;\r\n};\r\n\r\nFunctionResolver.prototype.addFunction = function(ns, ln, f) {\r\n\tthis.functions[\"{\" + ns + \"}\" + ln] = f;\r\n};\r\n\r\nFunctionResolver.getFunctionFromContext = function(qName, context) {\r\n var parts = Utilities.resolveQName(qName, context.namespaceResolver, context.contextNode, false);\r\n\r\n if (parts[0] === null) {\r\n throw new Error(\"Cannot resolve QName \" + name);\r\n }\r\n\r\n return context.functionResolver.getFunction(parts[1], parts[0]);\r\n};\r\n\r\nFunctionResolver.prototype.getFunction = function(localName, namespace) {\r\n\treturn this.functions[\"{\" + namespace + \"}\" + localName];\r\n};\r\n\r\n// NamespaceResolver /////////////////////////////////////////////////////////\r\n\r\nNamespaceResolver.prototype = new Object();\r\nNamespaceResolver.prototype.constructor = NamespaceResolver;\r\nNamespaceResolver.superclass = Object.prototype;\r\n\r\nfunction NamespaceResolver() {\r\n}\r\n\r\nNamespaceResolver.prototype.getNamespace = function(prefix, n) {\r\n\tif (prefix == \"xml\") {\r\n\t\treturn XPath.XML_NAMESPACE_URI;\r\n\t} else if (prefix == \"xmlns\") {\r\n\t\treturn XPath.XMLNS_NAMESPACE_URI;\r\n\t}\r\n\tif (n.nodeType == 9 /*Node.DOCUMENT_NODE*/) {\r\n\t\tn = n.documentElement;\r\n\t} else if (n.nodeType == 2 /*Node.ATTRIBUTE_NODE*/) {\r\n\t\tn = PathExpr.getOwnerElement(n);\r\n\t} else if (n.nodeType != 1 /*Node.ELEMENT_NODE*/) {\r\n\t\tn = n.parentNode;\r\n\t}\r\n\twhile (n != null && n.nodeType == 1 /*Node.ELEMENT_NODE*/) {\r\n\t\tvar nnm = n.attributes;\r\n\t\tfor (var i = 0; i < nnm.length; i++) {\r\n\t\t\tvar a = nnm.item(i);\r\n\t\t\tvar aname = a.name || a.nodeName;\r\n\t\t\tif ((aname === \"xmlns\" && prefix === \"\")\r\n\t\t\t\t\t|| aname === \"xmlns:\" + prefix) {\r\n\t\t\t\treturn String(a.value || a.nodeValue);\r\n\t\t\t}\r\n\t\t}\r\n\t\tn = n.parentNode;\r\n\t}\r\n\treturn null;\r\n};\r\n\r\n// Functions /////////////////////////////////////////////////////////////////\r\n\r\nvar Functions = new Object();\r\n\r\nFunctions.last = function(c) {\r\n\tif (arguments.length != 1) {\r\n\t\tthrow new Error(\"Function last expects ()\");\r\n\t}\r\n\r\n\treturn new XNumber(c.contextSize);\r\n};\r\n\r\nFunctions.position = function(c) {\r\n\tif (arguments.length != 1) {\r\n\t\tthrow new Error(\"Function position expects ()\");\r\n\t}\r\n\r\n\treturn new XNumber(c.contextPosition);\r\n};\r\n\r\nFunctions.count = function() {\r\n\tvar c = arguments[0];\r\n\tvar ns;\r\n\tif (arguments.length != 2 || !Utilities.instance_of(ns = arguments[1].evaluate(c), XNodeSet)) {\r\n\t\tthrow new Error(\"Function count expects (node-set)\");\r\n\t}\r\n\treturn new XNumber(ns.size);\r\n};\r\n\r\nFunctions.id = function() {\r\n\tvar c = arguments[0];\r\n\tvar id;\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function id expects (object)\");\r\n\t}\r\n\tid = arguments[1].evaluate(c);\r\n\tif (Utilities.instance_of(id, XNodeSet)) {\r\n\t\tid = id.toArray().join(\" \");\r\n\t} else {\r\n\t\tid = id.stringValue();\r\n\t}\r\n\tvar ids = id.split(/[\\x0d\\x0a\\x09\\x20]+/);\r\n\tvar count = 0;\r\n\tvar ns = new XNodeSet();\r\n\tvar doc = c.contextNode.nodeType == 9 /*Node.DOCUMENT_NODE*/\r\n\t\t\t? c.contextNode\r\n\t\t\t: c.contextNode.ownerDocument;\r\n\tfor (var i = 0; i < ids.length; i++) {\r\n\t\tvar n;\r\n\t\tif (doc.getElementById) {\r\n\t\t\tn = doc.getElementById(ids[i]);\r\n\t\t} else {\r\n\t\t\tn = Utilities.getElementById(doc, ids[i]);\r\n\t\t}\r\n\t\tif (n != null) {\r\n\t\t\tns.add(n);\r\n\t\t\tcount++;\r\n\t\t}\r\n\t}\r\n\treturn ns;\r\n};\r\n\r\nFunctions.localName = function(c, eNode) {\r\n\tvar n;\r\n\t\r\n\tif (arguments.length == 1) {\r\n\t\tn = c.contextNode;\r\n\t} else if (arguments.length == 2) {\r\n\t\tn = eNode.evaluate(c).first();\r\n\t} else {\r\n\t\tthrow new Error(\"Function local-name expects (node-set?)\");\r\n\t}\r\n\t\r\n\tif (n == null) {\r\n\t\treturn new XString(\"\");\r\n\t}\r\n\r\n\treturn new XString(n.localName || // standard elements and attributes\r\n\t n.baseName || // IE\r\n\t\t\t\t\t n.target || // processing instructions\r\n n.nodeName || // DOM1 elements\r\n\t\t\t\t\t \"\"); // fallback\r\n};\r\n\r\nFunctions.namespaceURI = function() {\r\n\tvar c = arguments[0];\r\n\tvar n;\r\n\tif (arguments.length == 1) {\r\n\t\tn = c.contextNode;\r\n\t} else if (arguments.length == 2) {\r\n\t\tn = arguments[1].evaluate(c).first();\r\n\t} else {\r\n\t\tthrow new Error(\"Function namespace-uri expects (node-set?)\");\r\n\t}\r\n\tif (n == null) {\r\n\t\treturn new XString(\"\");\r\n\t}\r\n\treturn new XString(n.namespaceURI);\r\n};\r\n\r\nFunctions.name = function() {\r\n\tvar c = arguments[0];\r\n\tvar n;\r\n\tif (arguments.length == 1) {\r\n\t\tn = c.contextNode;\r\n\t} else if (arguments.length == 2) {\r\n\t\tn = arguments[1].evaluate(c).first();\r\n\t} else {\r\n\t\tthrow new Error(\"Function name expects (node-set?)\");\r\n\t}\r\n\tif (n == null) {\r\n\t\treturn new XString(\"\");\r\n\t}\r\n\tif (n.nodeType == 1 /*Node.ELEMENT_NODE*/) {\r\n\t\treturn new XString(n.nodeName);\r\n\t} else if (n.nodeType == 2 /*Node.ATTRIBUTE_NODE*/) {\r\n\t\treturn new XString(n.name || n.nodeName);\r\n\t} else if (n.nodeType === 7 /*Node.PROCESSING_INSTRUCTION_NODE*/) {\r\n\t return new XString(n.target || n.nodeName);\r\n\t} else if (n.localName == null) {\r\n\t\treturn new XString(\"\");\r\n\t} else {\r\n\t\treturn new XString(n.localName);\r\n\t}\r\n};\r\n\r\nFunctions.string = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length == 1) {\r\n\t\treturn new XString(XNodeSet.prototype.stringForNode(c.contextNode));\r\n\t} else if (arguments.length == 2) {\r\n\t\treturn arguments[1].evaluate(c).string();\r\n\t}\r\n\tthrow new Error(\"Function string expects (object?)\");\r\n};\r\n\r\nFunctions.concat = function(c) {\r\n\tif (arguments.length < 3) {\r\n\t\tthrow new Error(\"Function concat expects (string, string[, string]*)\");\r\n\t}\r\n\tvar s = \"\";\r\n\tfor (var i = 1; i < arguments.length; i++) {\r\n\t\ts += arguments[i].evaluate(c).stringValue();\r\n\t}\r\n\treturn new XString(s);\r\n};\r\n\r\nFunctions.startsWith = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 3) {\r\n\t\tthrow new Error(\"Function startsWith expects (string, string)\");\r\n\t}\r\n\tvar s1 = arguments[1].evaluate(c).stringValue();\r\n\tvar s2 = arguments[2].evaluate(c).stringValue();\r\n\treturn new XBoolean(s1.substring(0, s2.length) == s2);\r\n};\r\n\r\nFunctions.contains = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 3) {\r\n\t\tthrow new Error(\"Function contains expects (string, string)\");\r\n\t}\r\n\tvar s1 = arguments[1].evaluate(c).stringValue();\r\n\tvar s2 = arguments[2].evaluate(c).stringValue();\r\n\treturn new XBoolean(s1.indexOf(s2) !== -1);\r\n};\r\n\r\nFunctions.substringBefore = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 3) {\r\n\t\tthrow new Error(\"Function substring-before expects (string, string)\");\r\n\t}\r\n\tvar s1 = arguments[1].evaluate(c).stringValue();\r\n\tvar s2 = arguments[2].evaluate(c).stringValue();\r\n\treturn new XString(s1.substring(0, s1.indexOf(s2)));\r\n};\r\n\r\nFunctions.substringAfter = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 3) {\r\n\t\tthrow new Error(\"Function substring-after expects (string, string)\");\r\n\t}\r\n\tvar s1 = arguments[1].evaluate(c).stringValue();\r\n\tvar s2 = arguments[2].evaluate(c).stringValue();\r\n\tif (s2.length == 0) {\r\n\t\treturn new XString(s1);\r\n\t}\r\n\tvar i = s1.indexOf(s2);\r\n\tif (i == -1) {\r\n\t\treturn new XString(\"\");\r\n\t}\r\n\treturn new XString(s1.substring(i + s2.length));\r\n};\r\n\r\nFunctions.substring = function() {\r\n\tvar c = arguments[0];\r\n\tif (!(arguments.length == 3 || arguments.length == 4)) {\r\n\t\tthrow new Error(\"Function substring expects (string, number, number?)\");\r\n\t}\r\n\tvar s = arguments[1].evaluate(c).stringValue();\r\n\tvar n1 = Math.round(arguments[2].evaluate(c).numberValue()) - 1;\r\n\tvar n2 = arguments.length == 4 ? n1 + Math.round(arguments[3].evaluate(c).numberValue()) : undefined;\r\n\treturn new XString(s.substring(n1, n2));\r\n};\r\n\r\nFunctions.stringLength = function() {\r\n\tvar c = arguments[0];\r\n\tvar s;\r\n\tif (arguments.length == 1) {\r\n\t\ts = XNodeSet.prototype.stringForNode(c.contextNode);\r\n\t} else if (arguments.length == 2) {\r\n\t\ts = arguments[1].evaluate(c).stringValue();\r\n\t} else {\r\n\t\tthrow new Error(\"Function string-length expects (string?)\");\r\n\t}\r\n\treturn new XNumber(s.length);\r\n};\r\n\r\nFunctions.normalizeSpace = function() {\r\n\tvar c = arguments[0];\r\n\tvar s;\r\n\tif (arguments.length == 1) {\r\n\t\ts = XNodeSet.prototype.stringForNode(c.contextNode);\r\n\t} else if (arguments.length == 2) {\r\n\t\ts = arguments[1].evaluate(c).stringValue();\r\n\t} else {\r\n\t\tthrow new Error(\"Function normalize-space expects (string?)\");\r\n\t}\r\n\tvar i = 0;\r\n\tvar j = s.length - 1;\r\n\twhile (Utilities.isSpace(s.charCodeAt(j))) {\r\n\t\tj--;\r\n\t}\r\n\tvar t = \"\";\r\n\twhile (i <= j && Utilities.isSpace(s.charCodeAt(i))) {\r\n\t\ti++;\r\n\t}\r\n\twhile (i <= j) {\r\n\t\tif (Utilities.isSpace(s.charCodeAt(i))) {\r\n\t\t\tt += \" \";\r\n\t\t\twhile (i <= j && Utilities.isSpace(s.charCodeAt(i))) {\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tt += s.charAt(i);\r\n\t\t\ti++;\r\n\t\t}\r\n\t}\r\n\treturn new XString(t);\r\n};\r\n\r\nFunctions.translate = function(c, eValue, eFrom, eTo) {\r\n\tif (arguments.length != 4) {\r\n\t\tthrow new Error(\"Function translate expects (string, string, string)\");\r\n\t}\r\n\r\n\tvar value = eValue.evaluate(c).stringValue();\r\n\tvar from = eFrom.evaluate(c).stringValue();\r\n\tvar to = eTo.evaluate(c).stringValue();\r\n\t\r\n\tvar cMap = reduce(function (acc, ch, i) {\r\n\t\tif (!(ch in acc)) {\r\n\t\t\tacc[ch] = i > to.length ? '' : to[i];\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, {}, from);\r\n\r\n var t = join('', map(function (ch) {\r\n return ch in cMap ? cMap[ch] : ch;\r\n }, value));\r\n\r\n\treturn new XString(t);\r\n};\r\n\r\nFunctions.boolean_ = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function boolean expects (object)\");\r\n\t}\r\n\treturn arguments[1].evaluate(c).bool();\r\n};\r\n\r\nFunctions.not = function(c, eValue) {\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function not expects (object)\");\r\n\t}\r\n\treturn eValue.evaluate(c).bool().not();\r\n};\r\n\r\nFunctions.true_ = function() {\r\n\tif (arguments.length != 1) {\r\n\t\tthrow new Error(\"Function true expects ()\");\r\n\t}\r\n\treturn XBoolean.true_;\r\n};\r\n\r\nFunctions.false_ = function() {\r\n\tif (arguments.length != 1) {\r\n\t\tthrow new Error(\"Function false expects ()\");\r\n\t}\r\n\treturn XBoolean.false_;\r\n};\r\n\r\nFunctions.lang = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function lang expects (string)\");\r\n\t}\r\n\tvar lang;\r\n\tfor (var n = c.contextNode; n != null && n.nodeType != 9 /*Node.DOCUMENT_NODE*/; n = n.parentNode) {\r\n\t\tvar a = n.getAttributeNS(XPath.XML_NAMESPACE_URI, \"lang\");\r\n\t\tif (a != null) {\r\n\t\t\tlang = String(a);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tif (lang == null) {\r\n\t\treturn XBoolean.false_;\r\n\t}\r\n\tvar s = arguments[1].evaluate(c).stringValue();\r\n\treturn new XBoolean(lang.substring(0, s.length) == s\r\n\t\t\t\t&& (lang.length == s.length || lang.charAt(s.length) == '-'));\r\n};\r\n\r\nFunctions.number = function() {\r\n\tvar c = arguments[0];\r\n\tif (!(arguments.length == 1 || arguments.length == 2)) {\r\n\t\tthrow new Error(\"Function number expects (object?)\");\r\n\t}\r\n\tif (arguments.length == 1) {\r\n\t\treturn new XNumber(XNodeSet.prototype.stringForNode(c.contextNode));\r\n\t}\r\n\treturn arguments[1].evaluate(c).number();\r\n};\r\n\r\nFunctions.sum = function() {\r\n\tvar c = arguments[0];\r\n\tvar ns;\r\n\tif (arguments.length != 2 || !Utilities.instance_of((ns = arguments[1].evaluate(c)), XNodeSet)) {\r\n\t\tthrow new Error(\"Function sum expects (node-set)\");\r\n\t}\r\n\tns = ns.toUnsortedArray();\r\n\tvar n = 0;\r\n\tfor (var i = 0; i < ns.length; i++) {\r\n\t\tn += new XNumber(XNodeSet.prototype.stringForNode(ns[i])).numberValue();\r\n\t}\r\n\treturn new XNumber(n);\r\n};\r\n\r\nFunctions.floor = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function floor expects (number)\");\r\n\t}\r\n\treturn new XNumber(Math.floor(arguments[1].evaluate(c).numberValue()));\r\n};\r\n\r\nFunctions.ceiling = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function ceiling expects (number)\");\r\n\t}\r\n\treturn new XNumber(Math.ceil(arguments[1].evaluate(c).numberValue()));\r\n};\r\n\r\nFunctions.round = function() {\r\n\tvar c = arguments[0];\r\n\tif (arguments.length != 2) {\r\n\t\tthrow new Error(\"Function round expects (number)\");\r\n\t}\r\n\treturn new XNumber(Math.round(arguments[1].evaluate(c).numberValue()));\r\n};\r\n\r\n// Utilities /////////////////////////////////////////////////////////////////\r\n\r\nvar Utilities = new Object();\r\n\r\nUtilities.isAttribute = function (val) {\r\n return val && (val.nodeType === 2 || val.ownerElement);\r\n}\r\n\r\nUtilities.splitQName = function(qn) {\r\n\tvar i = qn.indexOf(\":\");\r\n\tif (i == -1) {\r\n\t\treturn [ null, qn ];\r\n\t}\r\n\treturn [ qn.substring(0, i), qn.substring(i + 1) ];\r\n};\r\n\r\nUtilities.resolveQName = function(qn, nr, n, useDefault) {\r\n\tvar parts = Utilities.splitQName(qn);\r\n\tif (parts[0] != null) {\r\n\t\tparts[0] = nr.getNamespace(parts[0], n);\r\n\t} else {\r\n\t\tif (useDefault) {\r\n\t\t\tparts[0] = nr.getNamespace(\"\", n);\r\n\t\t\tif (parts[0] == null) {\r\n\t\t\t\tparts[0] = \"\";\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tparts[0] = \"\";\r\n\t\t}\r\n\t}\r\n\treturn parts;\r\n};\r\n\r\nUtilities.isSpace = function(c) {\r\n\treturn c == 0x9 || c == 0xd || c == 0xa || c == 0x20;\r\n};\r\n\r\nUtilities.isLetter = function(c) {\r\n\treturn c >= 0x0041 && c <= 0x005A ||\r\n\t\tc >= 0x0061 && c <= 0x007A ||\r\n\t\tc >= 0x00C0 && c <= 0x00D6 ||\r\n\t\tc >= 0x00D8 && c <= 0x00F6 ||\r\n\t\tc >= 0x00F8 && c <= 0x00FF ||\r\n\t\tc >= 0x0100 && c <= 0x0131 ||\r\n\t\tc >= 0x0134 && c <= 0x013E ||\r\n\t\tc >= 0x0141 && c <= 0x0148 ||\r\n\t\tc >= 0x014A && c <= 0x017E ||\r\n\t\tc >= 0x0180 && c <= 0x01C3 ||\r\n\t\tc >= 0x01CD && c <= 0x01F0 ||\r\n\t\tc >= 0x01F4 && c <= 0x01F5 ||\r\n\t\tc >= 0x01FA && c <= 0x0217 ||\r\n\t\tc >= 0x0250 && c <= 0x02A8 ||\r\n\t\tc >= 0x02BB && c <= 0x02C1 ||\r\n\t\tc == 0x0386 ||\r\n\t\tc >= 0x0388 && c <= 0x038A ||\r\n\t\tc == 0x038C ||\r\n\t\tc >= 0x038E && c <= 0x03A1 ||\r\n\t\tc >= 0x03A3 && c <= 0x03CE ||\r\n\t\tc >= 0x03D0 && c <= 0x03D6 ||\r\n\t\tc == 0x03DA ||\r\n\t\tc == 0x03DC ||\r\n\t\tc == 0x03DE ||\r\n\t\tc == 0x03E0 ||\r\n\t\tc >= 0x03E2 && c <= 0x03F3 ||\r\n\t\tc >= 0x0401 && c <= 0x040C ||\r\n\t\tc >= 0x040E && c <= 0x044F ||\r\n\t\tc >= 0x0451 && c <= 0x045C ||\r\n\t\tc >= 0x045E && c <= 0x0481 ||\r\n\t\tc >= 0x0490 && c <= 0x04C4 ||\r\n\t\tc >= 0x04C7 && c <= 0x04C8 ||\r\n\t\tc >= 0x04CB && c <= 0x04CC ||\r\n\t\tc >= 0x04D0 && c <= 0x04EB ||\r\n\t\tc >= 0x04EE && c <= 0x04F5 ||\r\n\t\tc >= 0x04F8 && c <= 0x04F9 ||\r\n\t\tc >= 0x0531 && c <= 0x0556 ||\r\n\t\tc == 0x0559 ||\r\n\t\tc >= 0x0561 && c <= 0x0586 ||\r\n\t\tc >= 0x05D0 && c <= 0x05EA ||\r\n\t\tc >= 0x05F0 && c <= 0x05F2 ||\r\n\t\tc >= 0x0621 && c <= 0x063A ||\r\n\t\tc >= 0x0641 && c <= 0x064A ||\r\n\t\tc >= 0x0671 && c <= 0x06B7 ||\r\n\t\tc >= 0x06BA && c <= 0x06BE ||\r\n\t\tc >= 0x06C0 && c <= 0x06CE ||\r\n\t\tc >= 0x06D0 && c <= 0x06D3 ||\r\n\t\tc == 0x06D5 ||\r\n\t\tc >= 0x06E5 && c <= 0x06E6 ||\r\n\t\tc >= 0x0905 && c <= 0x0939 ||\r\n\t\tc == 0x093D ||\r\n\t\tc >= 0x0958 && c <= 0x0961 ||\r\n\t\tc >= 0x0985 && c <= 0x098C ||\r\n\t\tc >= 0x098F && c <= 0x0990 ||\r\n\t\tc >= 0x0993 && c <= 0x09A8 ||\r\n\t\tc >= 0x09AA && c <= 0x09B0 ||\r\n\t\tc == 0x09B2 ||\r\n\t\tc >= 0x09B6 && c <= 0x09B9 ||\r\n\t\tc >= 0x09DC && c <= 0x09DD ||\r\n\t\tc >= 0x09DF && c <= 0x09E1 ||\r\n\t\tc >= 0x09F0 && c <= 0x09F1 ||\r\n\t\tc >= 0x0A05 && c <= 0x0A0A ||\r\n\t\tc >= 0x0A0F && c <= 0x0A10 ||\r\n\t\tc >= 0x0A13 && c <= 0x0A28 ||\r\n\t\tc >= 0x0A2A && c <= 0x0A30 ||\r\n\t\tc >= 0x0A32 && c <= 0x0A33 ||\r\n\t\tc >= 0x0A35 && c <= 0x0A36 ||\r\n\t\tc >= 0x0A38 && c <= 0x0A39 ||\r\n\t\tc >= 0x0A59 && c <= 0x0A5C ||\r\n\t\tc == 0x0A5E ||\r\n\t\tc >= 0x0A72 && c <= 0x0A74 ||\r\n\t\tc >= 0x0A85 && c <= 0x0A8B ||\r\n\t\tc == 0x0A8D ||\r\n\t\tc >= 0x0A8F && c <= 0x0A91 ||\r\n\t\tc >= 0x0A93 && c <= 0x0AA8 ||\r\n\t\tc >= 0x0AAA && c <= 0x0AB0 ||\r\n\t\tc >= 0x0AB2 && c <= 0x0AB3 ||\r\n\t\tc >= 0x0AB5 && c <= 0x0AB9 ||\r\n\t\tc == 0x0ABD ||\r\n\t\tc == 0x0AE0 ||\r\n\t\tc >= 0x0B05 && c <= 0x0B0C ||\r\n\t\tc >= 0x0B0F && c <= 0x0B10 ||\r\n\t\tc >= 0x0B13 && c <= 0x0B28 ||\r\n\t\tc >= 0x0B2A && c <= 0x0B30 ||\r\n\t\tc >= 0x0B32 && c <= 0x0B33 ||\r\n\t\tc >= 0x0B36 && c <= 0x0B39 ||\r\n\t\tc == 0x0B3D ||\r\n\t\tc >= 0x0B5C && c <= 0x0B5D ||\r\n\t\tc >= 0x0B5F && c <= 0x0B61 ||\r\n\t\tc >= 0x0B85 && c <= 0x0B8A ||\r\n\t\tc >= 0x0B8E && c <= 0x0B90 ||\r\n\t\tc >= 0x0B92 && c <= 0x0B95 ||\r\n\t\tc >= 0x0B99 && c <= 0x0B9A ||\r\n\t\tc == 0x0B9C ||\r\n\t\tc >= 0x0B9E && c <= 0x0B9F ||\r\n\t\tc >= 0x0BA3 && c <= 0x0BA4 ||\r\n\t\tc >= 0x0BA8 && c <= 0x0BAA ||\r\n\t\tc >= 0x0BAE && c <= 0x0BB5 ||\r\n\t\tc >= 0x0BB7 && c <= 0x0BB9 ||\r\n\t\tc >= 0x0C05 && c <= 0x0C0C ||\r\n\t\tc >= 0x0C0E && c <= 0x0C10 ||\r\n\t\tc >= 0x0C12 && c <= 0x0C28 ||\r\n\t\tc >= 0x0C2A && c <= 0x0C33 ||\r\n\t\tc >= 0x0C35 && c <= 0x0C39 ||\r\n\t\tc >= 0x0C60 && c <= 0x0C61 ||\r\n\t\tc >= 0x0C85 && c <= 0x0C8C ||\r\n\t\tc >= 0x0C8E && c <= 0x0C90 ||\r\n\t\tc >= 0x0C92 && c <= 0x0CA8 ||\r\n\t\tc >= 0x0CAA && c <= 0x0CB3 ||\r\n\t\tc >= 0x0CB5 && c <= 0x0CB9 ||\r\n\t\tc == 0x0CDE ||\r\n\t\tc >= 0x0CE0 && c <= 0x0CE1 ||\r\n\t\tc >= 0x0D05 && c <= 0x0D0C ||\r\n\t\tc >= 0x0D0E && c <= 0x0D10 ||\r\n\t\tc >= 0x0D12 && c <= 0x0D28 ||\r\n\t\tc >= 0x0D2A && c <= 0x0D39 ||\r\n\t\tc >= 0x0D60 && c <= 0x0D61 ||\r\n\t\tc >= 0x0E01 && c <= 0x0E2E ||\r\n\t\tc == 0x0E30 ||\r\n\t\tc >= 0x0E32 && c <= 0x0E33 ||\r\n\t\tc >= 0x0E40 && c <= 0x0E45 ||\r\n\t\tc >= 0x0E81 && c <= 0x0E82 ||\r\n\t\tc == 0x0E84 ||\r\n\t\tc >= 0x0E87 && c <= 0x0E88 ||\r\n\t\tc == 0x0E8A ||\r\n\t\tc == 0x0E8D ||\r\n\t\tc >= 0x0E94 && c <= 0x0E97 ||\r\n\t\tc >= 0x0E99 && c <= 0x0E9F ||\r\n\t\tc >= 0x0EA1 && c <= 0x0EA3 ||\r\n\t\tc == 0x0EA5 ||\r\n\t\tc == 0x0EA7 ||\r\n\t\tc >= 0x0EAA && c <= 0x0EAB ||\r\n\t\tc >= 0x0EAD && c <= 0x0EAE ||\r\n\t\tc == 0x0EB0 ||\r\n\t\tc >= 0x0EB2 && c <= 0x0EB3 ||\r\n\t\tc == 0x0EBD ||\r\n\t\tc >= 0x0EC0 && c <= 0x0EC4 ||\r\n\t\tc >= 0x0F40 && c <= 0x0F47 ||\r\n\t\tc >= 0x0F49 && c <= 0x0F69 ||\r\n\t\tc >= 0x10A0 && c <= 0x10C5 ||\r\n\t\tc >= 0x10D0 && c <= 0x10F6 ||\r\n\t\tc == 0x1100 ||\r\n\t\tc >= 0x1102 && c <= 0x1103 ||\r\n\t\tc >= 0x1105 && c <= 0x1107 ||\r\n\t\tc == 0x1109 ||\r\n\t\tc >= 0x110B && c <= 0x110C ||\r\n\t\tc >= 0x110E && c <= 0x1112 ||\r\n\t\tc == 0x113C ||\r\n\t\tc == 0x113E ||\r\n\t\tc == 0x1140 ||\r\n\t\tc == 0x114C ||\r\n\t\tc == 0x114E ||\r\n\t\tc == 0x1150 ||\r\n\t\tc >= 0x1154 && c <= 0x1155 ||\r\n\t\tc == 0x1159 ||\r\n\t\tc >= 0x115F && c <= 0x1161 ||\r\n\t\tc == 0x1163 ||\r\n\t\tc == 0x1165 ||\r\n\t\tc == 0x1167 ||\r\n\t\tc == 0x1169 ||\r\n\t\tc >= 0x116D && c <= 0x116E ||\r\n\t\tc >= 0x1172 && c <= 0x1173 ||\r\n\t\tc == 0x1175 ||\r\n\t\tc == 0x119E ||\r\n\t\tc == 0x11A8 ||\r\n\t\tc == 0x11AB ||\r\n\t\tc >= 0x11AE && c <= 0x11AF ||\r\n\t\tc >= 0x11B7 && c <= 0x11B8 ||\r\n\t\tc == 0x11BA ||\r\n\t\tc >= 0x11BC && c <= 0x11C2 ||\r\n\t\tc == 0x11EB ||\r\n\t\tc == 0x11F0 ||\r\n\t\tc == 0x11F9 ||\r\n\t\tc >= 0x1E00 && c <= 0x1E9B ||\r\n\t\tc >= 0x1EA0 && c <= 0x1EF9 ||\r\n\t\tc >= 0x1F00 && c <= 0x1F15 ||\r\n\t\tc >= 0x1F18 && c <= 0x1F1D ||\r\n\t\tc >= 0x1F20 && c <= 0x1F45 ||\r\n\t\tc >= 0x1F48 && c <= 0x1F4D ||\r\n\t\tc >= 0x1F50 && c <= 0x1F57 ||\r\n\t\tc == 0x1F59 ||\r\n\t\tc == 0x1F5B ||\r\n\t\tc == 0x1F5D ||\r\n\t\tc >= 0x1F5F && c <= 0x1F7D ||\r\n\t\tc >= 0x1F80 && c <= 0x1FB4 ||\r\n\t\tc >= 0x1FB6 && c <= 0x1FBC ||\r\n\t\tc == 0x1FBE ||\r\n\t\tc >= 0x1FC2 && c <= 0x1FC4 ||\r\n\t\tc >= 0x1FC6 && c <= 0x1FCC ||\r\n\t\tc >= 0x1FD0 && c <= 0x1FD3 ||\r\n\t\tc >= 0x1FD6 && c <= 0x1FDB ||\r\n\t\tc >= 0x1FE0 && c <= 0x1FEC ||\r\n\t\tc >= 0x1FF2 && c <= 0x1FF4 ||\r\n\t\tc >= 0x1FF6 && c <= 0x1FFC ||\r\n\t\tc == 0x2126 ||\r\n\t\tc >= 0x212A && c <= 0x212B ||\r\n\t\tc == 0x212E ||\r\n\t\tc >= 0x2180 && c <= 0x2182 ||\r\n\t\tc >= 0x3041 && c <= 0x3094 ||\r\n\t\tc >= 0x30A1 && c <= 0x30FA ||\r\n\t\tc >= 0x3105 && c <= 0x312C ||\r\n\t\tc >= 0xAC00 && c <= 0xD7A3 ||\r\n\t\tc >= 0x4E00 && c <= 0x9FA5 ||\r\n\t\tc == 0x3007 ||\r\n\t\tc >= 0x3021 && c <= 0x3029;\r\n};\r\n\r\nUtilities.isNCNameChar = function(c) {\r\n\treturn c >= 0x0030 && c <= 0x0039\r\n\t\t|| c >= 0x0660 && c <= 0x0669\r\n\t\t|| c >= 0x06F0 && c <= 0x06F9\r\n\t\t|| c >= 0x0966 && c <= 0x096F\r\n\t\t|| c >= 0x09E6 && c <= 0x09EF\r\n\t\t|| c >= 0x0A66 && c <= 0x0A6F\r\n\t\t|| c >= 0x0AE6 && c <= 0x0AEF\r\n\t\t|| c >= 0x0B66 && c <= 0x0B6F\r\n\t\t|| c >= 0x0BE7 && c <= 0x0BEF\r\n\t\t|| c >= 0x0C66 && c <= 0x0C6F\r\n\t\t|| c >= 0x0CE6 && c <= 0x0CEF\r\n\t\t|| c >= 0x0D66 && c <= 0x0D6F\r\n\t\t|| c >= 0x0E50 && c <= 0x0E59\r\n\t\t|| c >= 0x0ED0 && c <= 0x0ED9\r\n\t\t|| c >= 0x0F20 && c <= 0x0F29\r\n\t\t|| c == 0x002E\r\n\t\t|| c == 0x002D\r\n\t\t|| c == 0x005F\r\n\t\t|| Utilities.isLetter(c)\r\n\t\t|| c >= 0x0300 && c <= 0x0345\r\n\t\t|| c >= 0x0360 && c <= 0x0361\r\n\t\t|| c >= 0x0483 && c <= 0x0486\r\n\t\t|| c >= 0x0591 && c <= 0x05A1\r\n\t\t|| c >= 0x05A3 && c <= 0x05B9\r\n\t\t|| c >= 0x05BB && c <= 0x05BD\r\n\t\t|| c == 0x05BF\r\n\t\t|| c >= 0x05C1 && c <= 0x05C2\r\n\t\t|| c == 0x05C4\r\n\t\t|| c >= 0x064B && c <= 0x0652\r\n\t\t|| c == 0x0670\r\n\t\t|| c >= 0x06D6 && c <= 0x06DC\r\n\t\t|| c >= 0x06DD && c <= 0x06DF\r\n\t\t|| c >= 0x06E0 && c <= 0x06E4\r\n\t\t|| c >= 0x06E7 && c <= 0x06E8\r\n\t\t|| c >= 0x06EA && c <= 0x06ED\r\n\t\t|| c >= 0x0901 && c <= 0x0903\r\n\t\t|| c == 0x093C\r\n\t\t|| c >= 0x093E && c <= 0x094C\r\n\t\t|| c == 0x094D\r\n\t\t|| c >= 0x0951 && c <= 0x0954\r\n\t\t|| c >= 0x0962 && c <= 0x0963\r\n\t\t|| c >= 0x0981 && c <= 0x0983\r\n\t\t|| c == 0x09BC\r\n\t\t|| c == 0x09BE\r\n\t\t|| c == 0x09BF\r\n\t\t|| c >= 0x09C0 && c <= 0x09C4\r\n\t\t|| c >= 0x09C7 && c <= 0x09C8\r\n\t\t|| c >= 0x09CB && c <= 0x09CD\r\n\t\t|| c == 0x09D7\r\n\t\t|| c >= 0x09E2 && c <= 0x09E3\r\n\t\t|| c == 0x0A02\r\n\t\t|| c == 0x0A3C\r\n\t\t|| c == 0x0A3E\r\n\t\t|| c == 0x0A3F\r\n\t\t|| c >= 0x0A40 && c <= 0x0A42\r\n\t\t|| c >= 0x0A47 && c <= 0x0A48\r\n\t\t|| c >= 0x0A4B && c <= 0x0A4D\r\n\t\t|| c >= 0x0A70 && c <= 0x0A71\r\n\t\t|| c >= 0x0A81 && c <= 0x0A83\r\n\t\t|| c == 0x0ABC\r\n\t\t|| c >= 0x0ABE && c <= 0x0AC5\r\n\t\t|| c >= 0x0AC7 && c <= 0x0AC9\r\n\t\t|| c >= 0x0ACB && c <= 0x0ACD\r\n\t\t|| c >= 0x0B01 && c <= 0x0B03\r\n\t\t|| c == 0x0B3C\r\n\t\t|| c >= 0x0B3E && c <= 0x0B43\r\n\t\t|| c >= 0x0B47 && c <= 0x0B48\r\n\t\t|| c >= 0x0B4B && c <= 0x0B4D\r\n\t\t|| c >= 0x0B56 && c <= 0x0B57\r\n\t\t|| c >= 0x0B82 && c <= 0x0B83\r\n\t\t|| c >= 0x0BBE && c <= 0x0BC2\r\n\t\t|| c >= 0x0BC6 && c <= 0x0BC8\r\n\t\t|| c >= 0x0BCA && c <= 0x0BCD\r\n\t\t|| c == 0x0BD7\r\n\t\t|| c >= 0x0C01 && c <= 0x0C03\r\n\t\t|| c >= 0x0C3E && c <= 0x0C44\r\n\t\t|| c >= 0x0C46 && c <= 0x0C48\r\n\t\t|| c >= 0x0C4A && c <= 0x0C4D\r\n\t\t|| c >= 0x0C55 && c <= 0x0C56\r\n\t\t|| c >= 0x0C82 && c <= 0x0C83\r\n\t\t|| c >= 0x0CBE && c <= 0x0CC4\r\n\t\t|| c >= 0x0CC6 && c <= 0x0CC8\r\n\t\t|| c >= 0x0CCA && c <= 0x0CCD\r\n\t\t|| c >= 0x0CD5 && c <= 0x0CD6\r\n\t\t|| c >= 0x0D02 && c <= 0x0D03\r\n\t\t|| c >= 0x0D3E && c <= 0x0D43\r\n\t\t|| c >= 0x0D46 && c <= 0x0D48\r\n\t\t|| c >= 0x0D4A && c <= 0x0D4D\r\n\t\t|| c == 0x0D57\r\n\t\t|| c == 0x0E31\r\n\t\t|| c >= 0x0E34 && c <= 0x0E3A\r\n\t\t|| c >= 0x0E47 && c <= 0x0E4E\r\n\t\t|| c == 0x0EB1\r\n\t\t|| c >= 0x0EB4 && c <= 0x0EB9\r\n\t\t|| c >= 0x0EBB && c <= 0x0EBC\r\n\t\t|| c >= 0x0EC8 && c <= 0x0ECD\r\n\t\t|| c >= 0x0F18 && c <= 0x0F19\r\n\t\t|| c == 0x0F35\r\n\t\t|| c == 0x0F37\r\n\t\t|| c == 0x0F39\r\n\t\t|| c == 0x0F3E\r\n\t\t|| c == 0x0F3F\r\n\t\t|| c >= 0x0F71 && c <= 0x0F84\r\n\t\t|| c >= 0x0F86 && c <= 0x0F8B\r\n\t\t|| c >= 0x0F90 && c <= 0x0F95\r\n\t\t|| c == 0x0F97\r\n\t\t|| c >= 0x0F99 && c <= 0x0FAD\r\n\t\t|| c >= 0x0FB1 && c <= 0x0FB7\r\n\t\t|| c == 0x0FB9\r\n\t\t|| c >= 0x20D0 && c <= 0x20DC\r\n\t\t|| c == 0x20E1\r\n\t\t|| c >= 0x302A && c <= 0x302F\r\n\t\t|| c == 0x3099\r\n\t\t|| c == 0x309A\r\n\t\t|| c == 0x00B7\r\n\t\t|| c == 0x02D0\r\n\t\t|| c == 0x02D1\r\n\t\t|| c == 0x0387\r\n\t\t|| c == 0x0640\r\n\t\t|| c == 0x0E46\r\n\t\t|| c == 0x0EC6\r\n\t\t|| c == 0x3005\r\n\t\t|| c >= 0x3031 && c <= 0x3035\r\n\t\t|| c >= 0x309D && c <= 0x309E\r\n\t\t|| c >= 0x30FC && c <= 0x30FE;\r\n};\r\n\r\nUtilities.coalesceText = function(n) {\r\n\tfor (var m = n.firstChild; m != null; m = m.nextSibling) {\r\n\t\tif (m.nodeType == 3 /*Node.TEXT_NODE*/ || m.nodeType == 4 /*Node.CDATA_SECTION_NODE*/) {\r\n\t\t\tvar s = m.nodeValue;\r\n\t\t\tvar first = m;\r\n\t\t\tm = m.nextSibling;\r\n\t\t\twhile (m != null && (m.nodeType == 3 /*Node.TEXT_NODE*/ || m.nodeType == 4 /*Node.CDATA_SECTION_NODE*/)) {\r\n\t\t\t\ts += m.nodeValue;\r\n\t\t\t\tvar del = m;\r\n\t\t\t\tm = m.nextSibling;\r\n\t\t\t\tdel.parentNode.removeChild(del);\r\n\t\t\t}\r\n\t\t\tif (first.nodeType == 4 /*Node.CDATA_SECTION_NODE*/) {\r\n\t\t\t\tvar p = first.parentNode;\r\n\t\t\t\tif (first.nextSibling == null) {\r\n\t\t\t\t\tp.removeChild(first);\r\n\t\t\t\t\tp.appendChild(p.ownerDocument.createTextNode(s));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar next = first.nextSibling;\r\n\t\t\t\t\tp.removeChild(first);\r\n\t\t\t\t\tp.insertBefore(p.ownerDocument.createTextNode(s), next);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfirst.nodeValue = s;\r\n\t\t\t}\r\n\t\t\tif (m == null) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t} else if (m.nodeType == 1 /*Node.ELEMENT_NODE*/) {\r\n\t\t\tUtilities.coalesceText(m);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nUtilities.instance_of = function(o, c) {\r\n\twhile (o != null) {\r\n\t\tif (o.constructor === c) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (o === Object) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\to = o.constructor.superclass;\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nUtilities.getElementById = function(n, id) {\r\n\t// Note that this does not check the DTD to check for actual\r\n\t// attributes of type ID, so this may be a bit wrong.\r\n\tif (n.nodeType == 1 /*Node.ELEMENT_NODE*/) {\r\n\t\tif (n.getAttribute(\"id\") == id\r\n\t\t\t\t|| n.getAttributeNS(null, \"id\") == id) {\r\n\t\t\treturn n;\r\n\t\t}\r\n\t}\r\n\tfor (var m = n.firstChild; m != null; m = m.nextSibling) {\r\n\t\tvar res = Utilities.getElementById(m, id);\r\n\t\tif (res != null) {\r\n\t\t\treturn res;\r\n\t\t}\r\n\t}\r\n\treturn null;\r\n};\r\n\r\n// XPathException ////////////////////////////////////////////////////////////\r\n\r\nvar XPathException = (function () {\r\n function getMessage(code, exception) {\r\n var msg = exception ? \": \" + exception.toString() : \"\";\r\n switch (code) {\r\n case XPathException.INVALID_EXPRESSION_ERR:\r\n return \"Invalid expression\" + msg;\r\n case XPathException.TYPE_ERR:\r\n return \"Type error\" + msg;\r\n }\r\n return null;\r\n }\r\n\r\n function XPathException(code, error, message) {\r\n var err = Error.call(this, getMessage(code, error) || message);\r\n\r\n err.code = code;\r\n err.exception = error;\r\n\r\n return err;\r\n }\r\n\r\n XPathException.prototype = Object.create(Error.prototype);\r\n XPathException.prototype.constructor = XPathException;\r\n XPathException.superclass = Error;\r\n\r\n XPathException.prototype.toString = function() {\r\n return this.message;\r\n };\r\n\r\n XPathException.fromMessage = function(message, error) {\r\n return new XPathException(null, error, message);\r\n };\r\n\r\n XPathException.INVALID_EXPRESSION_ERR = 51;\r\n XPathException.TYPE_ERR = 52;\r\n\r\n return XPathException;\r\n})();\r\n\r\n// XPathExpression ///////////////////////////////////////////////////////////\r\n\r\nXPathExpression.prototype = {};\r\nXPathExpression.prototype.constructor = XPathExpression;\r\nXPathExpression.superclass = Object.prototype;\r\n\r\nfunction XPathExpression(e, r, p) {\r\n\tthis.xpath = p.parse(e);\r\n\tthis.context = new XPathContext();\r\n\tthis.context.namespaceResolver = new XPathNSResolverWrapper(r);\r\n}\r\n\r\nXPathExpression.getOwnerDocument = function (n) {\r\n\treturn n.nodeType === 9 /*Node.DOCUMENT_NODE*/ ? n : n.ownerDocument;\r\n}\r\n\r\nXPathExpression.detectHtmlDom = function (n) {\r\n\tif (!n) { return false; }\r\n\t\r\n\tvar doc = XPathExpression.getOwnerDocument(n);\r\n\t\r\n\ttry {\r\n\t\treturn doc.implementation.hasFeature(\"HTML\", \"2.0\");\r\n\t} catch (e) {\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\nXPathExpression.prototype.evaluate = function(n, t, res) {\r\n\tthis.context.expressionContextNode = n;\r\n\t// backward compatibility - no reliable way to detect whether the DOM is HTML, but\r\n\t// this library has been using this method up until now, so we will continue to use it\r\n\t// ONLY when using an XPathExpression\r\n\tthis.context.caseInsensitive = XPathExpression.detectHtmlDom(n);\r\n\t\r\n\tvar result = this.xpath.evaluate(this.context);\r\n\treturn new XPathResult(result, t);\r\n}\r\n\r\n// XPathNSResolverWrapper ////////////////////////////////////////////////////\r\n\r\nXPathNSResolverWrapper.prototype = {};\r\nXPathNSResolverWrapper.prototype.constructor = XPathNSResolverWrapper;\r\nXPathNSResolverWrapper.superclass = Object.prototype;\r\n\r\nfunction XPathNSResolverWrapper(r) {\r\n\tthis.xpathNSResolver = r;\r\n}\r\n\r\nXPathNSResolverWrapper.prototype.getNamespace = function(prefix, n) {\r\n if (this.xpathNSResolver == null) {\r\n return null;\r\n }\r\n\treturn this.xpathNSResolver.lookupNamespaceURI(prefix);\r\n};\r\n\r\n// NodeXPathNSResolver ///////////////////////////////////////////////////////\r\n\r\nNodeXPathNSResolver.prototype = {};\r\nNodeXPathNSResolver.prototype.constructor = NodeXPathNSResolver;\r\nNodeXPathNSResolver.superclass = Object.prototype;\r\n\r\nfunction NodeXPathNSResolver(n) {\r\n\tthis.node = n;\r\n\tthis.namespaceResolver = new NamespaceResolver();\r\n}\r\n\r\nNodeXPathNSResolver.prototype.lookupNamespaceURI = function(prefix) {\r\n\treturn this.namespaceResolver.getNamespace(prefix, this.node);\r\n};\r\n\r\n// XPathResult ///////////////////////////////////////////////////////////////\r\n\r\nXPathResult.prototype = {};\r\nXPathResult.prototype.constructor = XPathResult;\r\nXPathResult.superclass = Object.prototype;\r\n\r\nfunction XPathResult(v, t) {\r\n\tif (t == XPathResult.ANY_TYPE) {\r\n\t\tif (v.constructor === XString) {\r\n\t\t\tt = XPathResult.STRING_TYPE;\r\n\t\t} else if (v.constructor === XNumber) {\r\n\t\t\tt = XPathResult.NUMBER_TYPE;\r\n\t\t} else if (v.constructor === XBoolean) {\r\n\t\t\tt = XPathResult.BOOLEAN_TYPE;\r\n\t\t} else if (v.constructor === XNodeSet) {\r\n\t\t\tt = XPathResult.UNORDERED_NODE_ITERATOR_TYPE;\r\n\t\t}\r\n\t}\r\n\tthis.resultType = t;\r\n\tswitch (t) {\r\n\t\tcase XPathResult.NUMBER_TYPE:\r\n\t\t\tthis.numberValue = v.numberValue();\r\n\t\t\treturn;\r\n\t\tcase XPathResult.STRING_TYPE:\r\n\t\t\tthis.stringValue = v.stringValue();\r\n\t\t\treturn;\r\n\t\tcase XPathResult.BOOLEAN_TYPE:\r\n\t\t\tthis.booleanValue = v.booleanValue();\r\n\t\t\treturn;\r\n\t\tcase XPathResult.ANY_UNORDERED_NODE_TYPE:\r\n\t\tcase XPathResult.FIRST_ORDERED_NODE_TYPE:\r\n\t\t\tif (v.constructor === XNodeSet) {\r\n\t\t\t\tthis.singleNodeValue = v.first();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase XPathResult.UNORDERED_NODE_ITERATOR_TYPE:\r\n\t\tcase XPathResult.ORDERED_NODE_ITERATOR_TYPE:\r\n\t\t\tif (v.constructor === XNodeSet) {\r\n\t\t\t\tthis.invalidIteratorState = false;\r\n\t\t\t\tthis.nodes = v.toArray();\r\n\t\t\t\tthis.iteratorIndex = 0;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:\r\n\t\tcase XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:\r\n\t\t\tif (v.constructor === XNodeSet) {\r\n\t\t\t\tthis.nodes = v.toArray();\r\n\t\t\t\tthis.snapshotLength = this.nodes.length;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n\tthrow new XPathException(XPathException.TYPE_ERR);\r\n};\r\n\r\nXPathResult.prototype.iterateNext = function() {\r\n\tif (this.resultType != XPathResult.UNORDERED_NODE_ITERATOR_TYPE\r\n\t\t\t&& this.resultType != XPathResult.ORDERED_NODE_ITERATOR_TYPE) {\r\n\t\tthrow new XPathException(XPathException.TYPE_ERR);\r\n\t}\r\n\treturn this.nodes[this.iteratorIndex++];\r\n};\r\n\r\nXPathResult.prototype.snapshotItem = function(i) {\r\n\tif (this.resultType != XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE\r\n\t\t\t&& this.resultType != XPathResult.ORDERED_NODE_SNAPSHOT_TYPE) {\r\n\t\tthrow new XPathException(XPathException.TYPE_ERR);\r\n\t}\r\n\treturn this.nodes[i];\r\n};\r\n\r\nXPathResult.ANY_TYPE = 0;\r\nXPathResult.NUMBER_TYPE = 1;\r\nXPathResult.STRING_TYPE = 2;\r\nXPathResult.BOOLEAN_TYPE = 3;\r\nXPathResult.UNORDERED_NODE_ITERATOR_TYPE = 4;\r\nXPathResult.ORDERED_NODE_ITERATOR_TYPE = 5;\r\nXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE = 6;\r\nXPathResult.ORDERED_NODE_SNAPSHOT_TYPE = 7;\r\nXPathResult.ANY_UNORDERED_NODE_TYPE = 8;\r\nXPathResult.FIRST_ORDERED_NODE_TYPE = 9;\r\n\r\n// DOM 3 XPath support ///////////////////////////////////////////////////////\r\n\r\nfunction installDOM3XPathSupport(doc, p) {\r\n\tdoc.createExpression = function(e, r) {\r\n\t\ttry {\r\n\t\t\treturn new XPathExpression(e, r, p);\r\n\t\t} catch (e) {\r\n\t\t\tthrow new XPathException(XPathException.INVALID_EXPRESSION_ERR, e);\r\n\t\t}\r\n\t};\r\n\tdoc.createNSResolver = function(n) {\r\n\t\treturn new NodeXPathNSResolver(n);\r\n\t};\r\n\tdoc.evaluate = function(e, cn, r, t, res) {\r\n\t\tif (t < 0 || t > 9) {\r\n\t\t\tthrow { code: 0, toString: function() { return \"Request type not supported\"; } };\r\n\t\t}\r\n return doc.createExpression(e, r, p).evaluate(cn, t, res);\r\n\t};\r\n};\r\n\r\n// ---------------------------------------------------------------------------\r\n\r\n// Install DOM 3 XPath support for the current document.\r\ntry {\r\n\tvar shouldInstall = true;\r\n\ttry {\r\n\t\tif (document.implementation\r\n\t\t\t\t&& document.implementation.hasFeature\r\n\t\t\t\t&& document.implementation.hasFeature(\"XPath\", null)) {\r\n\t\t\tshouldInstall = false;\r\n\t\t}\r\n\t} catch (e) {\r\n\t}\r\n\tif (shouldInstall) {\r\n\t\tinstallDOM3XPathSupport(document, new XPathParser());\r\n\t}\r\n} catch (e) {\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// exports for node.js\r\n\r\ninstallDOM3XPathSupport(exports, new XPathParser());\r\n\r\n(function() {\r\n var parser = new XPathParser();\r\n\r\n var defaultNSResolver = new NamespaceResolver();\r\n var defaultFunctionResolver = new FunctionResolver();\r\n var defaultVariableResolver = new VariableResolver();\r\n\r\n function makeNSResolverFromFunction(func) {\r\n return {\r\n getNamespace: function (prefix, node) {\r\n var ns = func(prefix, node);\r\n\r\n return ns || defaultNSResolver.getNamespace(prefix, node);\r\n }\r\n };\r\n }\r\n\r\n function makeNSResolverFromObject(obj) {\r\n return makeNSResolverFromFunction(obj.getNamespace.bind(obj));\r\n }\r\n\r\n function makeNSResolverFromMap(map) {\r\n return makeNSResolverFromFunction(function (prefix) {\r\n return map[prefix];\r\n });\r\n }\r\n\r\n function makeNSResolver(resolver) {\r\n if (resolver && typeof resolver.getNamespace === \"function\") {\r\n return makeNSResolverFromObject(resolver);\r\n }\r\n\r\n if (typeof resolver === \"function\") {\r\n return makeNSResolverFromFunction(resolver);\r\n }\r\n\r\n // assume prefix -> uri mapping\r\n if (typeof resolver === \"object\") {\r\n return makeNSResolverFromMap(resolver);\r\n }\r\n\r\n return defaultNSResolver;\r\n }\r\n\r\n /** Converts native JavaScript types to their XPath library equivalent */\r\n function convertValue(value) {\r\n if (value === null ||\r\n typeof value === \"undefined\" ||\r\n value instanceof XString ||\r\n value instanceof XBoolean ||\r\n value instanceof XNumber ||\r\n value instanceof XNodeSet) {\r\n return value;\r\n }\r\n\r\n switch (typeof value) {\r\n case \"string\": return new XString(value);\r\n case \"boolean\": return new XBoolean(value);\r\n case \"number\": return new XNumber(value);\r\n }\r\n\r\n // assume node(s)\r\n var ns = new XNodeSet();\r\n ns.addArray([].concat(value));\r\n return ns;\r\n }\r\n\r\n function makeEvaluator(func) {\r\n return function (context) {\r\n var args = Array.prototype.slice.call(arguments, 1).map(function (arg) {\r\n return arg.evaluate(context);\r\n });\r\n var result = func.apply(this, [].concat(context, args));\r\n return convertValue(result);\r\n };\r\n }\r\n\r\n function makeFunctionResolverFromFunction(func) {\r\n return {\r\n getFunction: function (name, namespace) {\r\n var found = func(name, namespace);\r\n if (found) {\r\n return makeEvaluator(found);\r\n }\r\n return defaultFunctionResolver.getFunction(name, namespace);\r\n }\r\n };\r\n }\r\n\r\n function makeFunctionResolverFromObject(obj) {\r\n return makeFunctionResolverFromFunction(obj.getFunction.bind(obj));\r\n }\r\n\r\n function makeFunctionResolverFromMap(map) {\r\n return makeFunctionResolverFromFunction(function (name) {\r\n return map[name];\r\n });\r\n }\r\n\r\n function makeFunctionResolver(resolver) {\r\n if (resolver && typeof resolver.getFunction === \"function\") {\r\n return makeFunctionResolverFromObject(resolver);\r\n }\r\n\r\n if (typeof resolver === \"function\") {\r\n return makeFunctionResolverFromFunction(resolver);\r\n }\r\n\r\n // assume map\r\n if (typeof resolver === \"object\") {\r\n return makeFunctionResolverFromMap(resolver);\r\n }\r\n\r\n return defaultFunctionResolver;\r\n }\r\n\r\n function makeVariableResolverFromFunction(func) {\r\n return {\r\n getVariable: function (name, namespace) {\r\n var value = func(name, namespace);\r\n return convertValue(value);\r\n }\r\n };\r\n }\r\n\r\n function makeVariableResolver(resolver) {\r\n if (resolver) {\r\n if (typeof resolver.getVariable === \"function\") {\r\n return makeVariableResolverFromFunction(resolver.getVariable.bind(resolver));\r\n }\r\n\r\n if (typeof resolver === \"function\") {\r\n return makeVariableResolverFromFunction(resolver);\r\n }\r\n\r\n // assume map\r\n if (typeof resolver === \"object\") {\r\n return makeVariableResolverFromFunction(function (name) {\r\n return resolver[name];\r\n });\r\n }\r\n }\r\n\r\n return defaultVariableResolver;\r\n }\r\n\t\r\n\tfunction copyIfPresent(prop, dest, source) {\r\n\t\tif (prop in source) { dest[prop] = source[prop]; }\r\n\t}\r\n\r\n function makeContext(options) {\r\n var context = new XPathContext();\r\n\r\n if (options) {\r\n context.namespaceResolver = makeNSResolver(options.namespaces);\r\n context.functionResolver = makeFunctionResolver(options.functions);\r\n context.variableResolver = makeVariableResolver(options.variables);\r\n\t\t\tcontext.expressionContextNode = options.node;\r\n\t\t\tcopyIfPresent('allowAnyNamespaceForNoPrefix', context, options);\r\n\t\t\tcopyIfPresent('isHtml', context, options);\r\n } else {\r\n context.namespaceResolver = defaultNSResolver;\r\n }\r\n\r\n return context;\r\n }\r\n\r\n function evaluate(parsedExpression, options) {\r\n var context = makeContext(options);\r\n\r\n return parsedExpression.evaluate(context);\r\n }\r\n\r\n var evaluatorPrototype = {\r\n evaluate: function (options) {\r\n return evaluate(this.expression, options);\r\n }\r\n\r\n ,evaluateNumber: function (options) {\r\n return this.evaluate(options).numberValue();\r\n }\r\n\r\n ,evaluateString: function (options) {\r\n return this.evaluate(options).stringValue();\r\n }\r\n\r\n ,evaluateBoolean: function (options) {\r\n return this.evaluate(options).booleanValue();\r\n }\r\n\r\n ,evaluateNodeSet: function (options) {\r\n return this.evaluate(options).nodeset();\r\n }\r\n\r\n ,select: function (options) {\r\n return this.evaluateNodeSet(options).toArray()\r\n }\r\n\r\n ,select1: function (options) {\r\n return this.select(options)[0];\r\n }\r\n };\r\n\r\n function parse(xpath) {\r\n var parsed = parser.parse(xpath);\r\n\r\n return Object.create(evaluatorPrototype, {\r\n expression: {\r\n value: parsed\r\n }\r\n });\r\n }\r\n\r\n exports.parse = parse;\r\n})();\r\n\r\nexports.XPath = XPath;\r\nexports.XPathParser = XPathParser;\r\nexports.XPathResult = XPathResult;\r\n\r\nexports.Step = Step;\r\nexports.NodeTest = NodeTest;\r\nexports.BarOperation = BarOperation;\r\n\r\nexports.NamespaceResolver = NamespaceResolver;\r\nexports.FunctionResolver = FunctionResolver;\r\nexports.VariableResolver = VariableResolver;\r\n\r\nexports.Utilities = Utilities;\r\n\r\nexports.XPathContext = XPathContext;\r\nexports.XNodeSet = XNodeSet;\r\nexports.XBoolean = XBoolean;\r\nexports.XString = XString;\r\nexports.XNumber = XNumber;\r\n\r\n// helper\r\nexports.select = function(e, doc, single) {\r\n\treturn exports.selectWithResolver(e, doc, null, single);\r\n};\r\n\r\nexports.useNamespaces = function(mappings) {\r\n\tvar resolver = {\r\n\t\tmappings: mappings || {},\r\n\t\tlookupNamespaceURI: function(prefix) {\r\n\t\t\treturn this.mappings[prefix];\r\n\t\t}\r\n\t};\r\n\r\n\treturn function(e, doc, single) {\r\n\t\treturn exports.selectWithResolver(e, doc, resolver, single);\r\n\t};\r\n};\r\n\r\nexports.selectWithResolver = function(e, doc, resolver, single) {\r\n\tvar expression = new XPathExpression(e, resolver, new XPathParser());\r\n\tvar type = XPathResult.ANY_TYPE;\r\n\r\n\tvar result = expression.evaluate(doc, type, null);\r\n\r\n\tif (result.resultType == XPathResult.STRING_TYPE) {\r\n\t\tresult = result.stringValue;\r\n\t}\r\n\telse if (result.resultType == XPathResult.NUMBER_TYPE) {\r\n\t\tresult = result.numberValue;\r\n\t}\r\n\telse if (result.resultType == XPathResult.BOOLEAN_TYPE) {\r\n\t\tresult = result.booleanValue;\r\n\t}\r\n\telse {\r\n\t\tresult = result.nodes;\r\n\t\tif (single) {\r\n\t\t\tresult = result[0];\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nexports.select1 = function(e, doc) {\r\n\treturn exports.select(e, doc, true);\r\n};\r\n\r\n// end non-node wrapper\r\n})(xpath);\r\n"],"sourceRoot":""}